skip to main content
10.1145/337180.337620acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

The FUJABA environment

Published: 01 June 2000 Publication History

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.

References

[1]
G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide; Addison Wesley, ISBN 0-201-57168-4 (1999)
[2]
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)
[3]
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
[4]
The Rhapsody case tool reference manual; Version 1.2.1, ILogix, http://www.ilogix.com/
[5]
The Rational-Rose Realtime case-tool, http:// www.rational.com
[6]
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.
[7]
A. Z~ndorf, A. Sch~rr, and A. J. Winter: Story Driven Modeling, Technical Report tr-ri-99-211, Univer-sity of Paderborn, 1999.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '00: Proceedings of the 22nd international conference on Software engineering
June 2000
843 pages
ISBN:1581132069
DOI:10.1145/337180
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 2000

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ICSE00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)770
  • Downloads (Last 6 weeks)88
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media