ABSTRACT
However, a single collaboration diagram is usually not expressive enough to model complex operations performing several modifications at different parts of the overall object structure. Such series of modifications need several collaboration diagrams to be modeled. In addition, there may be different situations where certain collaboration diagrams should be executed and others not. Thus, we need additional control structures to control the execution of collaboration diagrams. In our approach we combine collaboration diagrams with statecharts and activity diagrams for this purpose. This means, instead of just pseudo code, any state or activity may contain a collaboration diagram modeling the do-action of this step.
Figure 1 illustrates the main concepts of Fujaba. Fujaba uses a combination of statecharts and collaboration diagrams to model the behavior of active classes. A combination of activity diagrams and collaboration diagrams models the bodies of complex methods. This integration of class diagrams and UML behavior diagrams enables Fujaba to perform a lot of static analysis work facilitating the creation of a consistent overall specification. In addition, it turns these UML diagrams into a powerful visual programming language and allows to cover the generation of complete application code.
During testing and maintenance the code of an application may be changed on the fly, e.g. to fix small problems. Some application parts like the graphical user interface or complex mathematical computations may be developed with other tools. In cooperative (distributed) software development projects some developers may want to use Fujaba, others may not. Code of different developers may be merged by a version management tool. There might already exist a large application and one wants to use Fujaba only for new parts. One may want to do a global search-and-replace to change some text phrases. One may temporarily violate syntactic code structures while she or he restructures some code. For all these reasons, Fujaba aims to provide not just code generation but also the recovery of UML diagrams from Java code. One may analyse (parts of) the application code, recover the corresponding UML diagram (parts), modify these diagram (parts), and generate new code (into the remaining application code). So far, this works reasonable for class diagrams and to some extend for the combination of activity and collaboration diagrams. For statecharts this is under development.
The next chapters outline the (forward engineering) capabilities of Fujaba with the help of an example session.
- BRJ99.G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide; Addison Wesley, ISBN 0-201-57168-4 (1999) Google ScholarDigital Library
- FNTZ98.T. Fischer, J. Niere, L. Torunski, A. Z~ndorf: Story Diagrams: A new Graph Rewrite Language based on the Unified Modelling Language and Java; in Proc. of the 6th International Workshop on Theory and Application of Graph Transformation (TAGT), Paderborn, November 1998, LNCS, Springer Verlag, to appear (1999) Google ScholarDigital Library
- KNNZ00.H. J. K~hler, U. Nickel, J. Niere, A. Z~ndorf: Integrating UML Diagrams for Production Control Systems; in Proc. Int. Conf. Software Engineering ICSE 2000, Limmerick, to appear, 2000 Google ScholarDigital Library
- Rhap.The Rhapsody case tool reference manual; Version 1.2.1, ILogix, http://www.ilogix.com/Google Scholar
- RR-RT.The Rational-Rose Realtime case-tool, http:// www.rational.comGoogle Scholar
- SWZ95.A. Sch~rr, A. J. Winter, A. Z~ndorf. Graph grammar engineering with PROGRES. In W. Sch~fer, Editor, Software Engineering - ESEC '95, LNCS 989, Springer Verlag, 1995. Google ScholarDigital Library
- ZSW99.A. Z~ndorf, A. Sch~rr, and A. J. Winter: Story Driven Modeling, Technical Report tr-ri-99-211, Univer-sity of Paderborn, 1999.Google Scholar
Index Terms
- The FUJABA environment
Recommendations
Statechart Modeling with Fujaba
This paper is a small case study on a simple visual language. We use the Fujaba approach to exemplify, how the different requirements of an environment for such a visual language may be addressed using Fujaba graph transformations. This covers abstract ...
Testing and Simulating Production Control Systems Using the Fujaba Environment
AGTIVE '99: Proceedings of the International Workshop on Applications of Graph Transformations with Industrial RelevanceThe Fujaba environment provides means for the specification of software systems in UML notation and it has the opportunity to simultate the specified applications beforehand. Therefore, Fujaba provides editors for UML class diagrams for the static ...
Developing tools with fujaba XProM
GTTSE'05: Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software EngineeringFujaba is an UML [21] based CASE tool with an emphasis on code generation from graphical behavior specifications. The Fujaba tool is accompanied by the Fujaba process, a systematic approach to use Fujaba for system development [5]. To improve the tool ...
Comments