Advertisement

Tool integration at the meta-model level: the Fujaba approach

  • Sven BurmesterEmail author
  • Holger Giese
  • Jörg Niere
  • Matthias Tichy
  • Jörg P. Wadsack
  • Robert Wagner
  • Lothar Wendehals
  • Albert Zündorf
Special section on tool-integration applications and frameworks

Abstract

Today’s development processes employ a variety of notations and tools, e.g., the Unified Modeling Language UML, the Standard Description Language SDL, requirements databases, design tools, code generators, model checkers, etc. For better process support, the employed tools may be organized within a tool suite or integration platform, e.g., Rational Rose or Eclipse. While these tool-integration platforms usually provide GUI adaption mechanisms and functional adaption via application programming interfaces, they frequently do not provide appropriate means for data integration at the meta-model level. Thus, overlapping and redundant data from different “integrated” tools may easily become inconsistent and unusable. We propose two design patterns that provide a flexible basis for the integration of different tool data at the meta-model level. To achieve consistency between meta-models, we describe rule-based mechanisms providing generic solutions for managing overlapping and redundant data. The proposed mechanisms are widely used within the Fujaba Tool Suite. We report about our implementation and application experiences .

Keywords

Tool coupling Meta-Model Extension Meta-Model Integration Patterns Consistency  

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arnold K, O’Sullivan B, Scheifler RW, Waldo J, Wollrath A, (1999) The Jini specification. The Jini Technology Series, June 1999Google Scholar
  2. 2.
    Balzer R (1991) Tolerating inconsistency. In: Proc. 13th international conference on software engineering, Austin, TX. IEEE Press, New York, pp 158–165Google Scholar
  3. 3.
    Bottoni P, Koch M, Parisi-Pressice F, Taenzer G (2000) Consistency checking and visualization of OCL constraints. In: UML 2000. Lecture notes in computer science, vol 1936. Springer, Berlin Heidelberg New YorkGoogle Scholar
  4. 4.
    Egyed A (2000) Automatically validating model consistency during refinement. Technical report, Center for Software Engineering, University of Southern California, Los Angeles, October 2000Google Scholar
  5. 5.
    Ehrig H, Tsiolakis A (2000) Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In: Ehrig H, Taentzer G (eds) Proc. ETAPS 2000 workshop on graph transformation systems, Berlin, GermanyGoogle Scholar
  6. 6.
    Engels G, Küster J, Groenewegen L, Heckel R (2001) A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: Gruhn V (ed) Proc. 8th European software engineering conference (ESEC), September 2001, pp 186–195Google Scholar
  7. 7.
    Finkelstein A (2000) A foolish consistency: technical challenges in consistency management. In: Ibrahim MT, Küng J, Revell N (eds) Proc. 11th international conference on database and expert systems applications (DEXA’00), London, UK, September 2000. Lecture notes in computer science, vol 1873. Springer, Berlin Heidelberg New York, pp 1–5Google Scholar
  8. 8.
    Fischer T, Niere J, Torunski L, Zündorf A (1998) Story diagrams: a new graph rewrite language based on the unified modeling language. In: Engels G, Rozenberg G (eds) Proc. 6th international workshop on theory and application of graph transformation (TAGT), Paderborn, Germany, November 1998. Lecture notes in computer science, vol 1764. Springer, Berlin Heidelberg New York, pp 296–309Google Scholar
  9. 9.
    Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object oriented software. Addison-Wesley, Reading, MAGoogle Scholar
  10. 10.
    Ghezzi C, Nuseibeh B (1998) Special issue on managing inconsistency in software development (1). IEEE Trans Softw Eng 24(11):906–1001Google Scholar
  11. 11.
    Ghezzi C, Nuseibeh B (1999) Special issue on managing inconsistency in software development (2). IEEE Trans Softw Eng 25(11):782–869CrossRefGoogle Scholar
  12. 12.
    Habel A, Heckel R, Taenzer G (1996) Graph grammars with negative application conditions. Fund Inf 26(3,4):287–313Google Scholar
  13. 13.
    Hirsch M, Giese H (2003) Towards the incremental model checking of complex realtime UML models. In: Proc. Fujaba Days 2003, Kassel, Germany, OctoberGoogle Scholar
  14. 14.
    Jahnke J (1999) Management of uncertainty and inconsistency in database reengineering processes. PhD thesis, University of Paderborn, Paderborn, Germany, SeptemberGoogle Scholar
  15. 15.
    Jahnke J, Schäfer W, Wadsack J, Zündorf A (2002) Supporting iterations in exploratory database reengineering processes. J Sci Comput Programm 45(2-3):99–136Google Scholar
  16. 16.
    Java Community Process (2002) JSR 040: Java Metadata Interface (JMI) Specification, June 2002Google Scholar
  17. 17.
    Jin D, Cordy J, Dean T (2002) Where’s the schema? A taxonomy of patterns for software exchange. In: Proc. 10th international workshop on program comprehension (IWPC), Paris, June 2002Google Scholar
  18. 18.
    Kazman R, Woods S, Carrière SJ (1998) Requirements for integrating software architecture and reengineering models: CORUM II. In: Proc. working conference on reverse engineering (WCRE’98), Honolulu, HI, October, pp 154–163Google Scholar
  19. 19.
    Köhler H, Nickel U, Niere J, Zündorf A (2000) Integrating UML diagrams for production control systems. In: Proc. 22nd international conference on software engineering (ICSE), Limerick, Ireland. ACM Press, New York, pp 241–251Google Scholar
  20. 20.
    Lefering M (1994) Software document integration using graph grammar specifications. In: Proc. 6th international conference on computing and information. J Comput Inf 1(1):1222–1243Google Scholar
  21. 21.
    Nagl M (ed) (1996) The IPSEN approach. Lecture notes in computer science, vol 1170. Springer, Berlin Heidelberg New YorkGoogle Scholar
  22. 22.
    Nickel U, Schäfer W, Zündorf A (2003) Integrative specification of distributed production control systems for flexible automated manufacturing. In: Nagl M, Westfechtel B (eds) DFG Workshop: Modelle, Werkzeuge und Infrastrukturen zur Unterstützung von Entwicklungsprozessen, pp 179–195Google Scholar
  23. 23.
    Nuseibeh B, Easterbrook S, Russo A (2000) Leveraging inconsistency in software development. IEEE Comput 33(4):24–29CrossRefGoogle Scholar
  24. 24.
    Object International () Together Control Center, the Together case tool. http://www.togethersoft.com [last accessed October 2004]Google Scholar
  25. 25.
    OMG (2002) Unified Modeling Language Specification version 1.5. Needham, MAGoogle Scholar
  26. 26.
    Rational Rose. the Rational Rose case tool. http://www.rational.com [last accessed October 2004]Google Scholar
  27. 27.
    Rozenberg G (ed) (1999) Handbook of graph grammars and computing by graph transformation, vol 1. World Scientific, SingaporeGoogle Scholar
  28. 28.
    Schürr A (1994) Specification of graph translators with triple graph grammars. In: Proc. 20th international workshop on graph-theoretic concepts in computer science. Herrsching, Germany. Springer, Berlin Heidelberg New YorkGoogle Scholar
  29. 29.
    Wagner R (2001) Realisierung eines diagrammübergreifenden Konsistenzmanagement-Systems für UML-Spezifikationen. Master’s thesis, University of Paderborn, Department of Mathematics and Computer Science, Paderborn, Germany, NovemberGoogle Scholar
  30. 30.
    Wagner R, Giese H, Nickel U (2003) A plug-in for flexible and incremental consistency management. In: Proc. international conference on the Unified Modeling Language 2003 (Workshop 7: Consistency problems in UML-based software development), San Francisco, OctoberGoogle Scholar
  31. 31.
    Waldo J (1999) The Jini architecture for network-centric computing. Commun ACM 42(7):76–82CrossRefGoogle Scholar
  32. 32.
    Woods S, O’Brian L, Lin T, Gallagher K, Quilici A (1998) An architecture for interoperable program understanding tools. In: Proc. 6th international workshop on program comprehension (IWPC), Ischia, Italy, July 1998, pp 54–63Google Scholar

Copyright information

© Springer-Verlag 2004

Authors and Affiliations

  • Sven Burmester
    • 1
    Email author
  • Holger Giese
    • 1
  • Jörg Niere
    • 2
  • Matthias Tichy
    • 1
  • Jörg P. Wadsack
    • 1
  • Robert Wagner
    • 1
  • Lothar Wendehals
    • 1
  • Albert Zündorf
    • 3
  1. 1.Software Engineering Group, Department of Computer ScienceUniversity of PaderbornGermany
  2. 2.Software Engineering Group, Department of Electrical Engineering and Computer ScienceUniversity of SiegenGermany
  3. 3.Software Engineering Research Group, Department of Electrical Engineering and Computer ScienceUniversity of KasselGermany

Personalised recommendations