Advertisement

Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Model-driven software engineering: concepts and tools for modeling-in-the-large with package diagrams

Abstract

Model-driven software engineering intends to reduce development effort by generating executable code from high-level models. However, models for non-trivial problems are still very large and require sophisticated support for modeling-in-the-large—a challenge which has not yet gained sufficient attention in model-driven software engineering. In response to this need, we have developed a set of tools for modeling-in-the-large based on UML package diagrams. The tool set comprises a stand-alone tool, which serves as a graphical editor for package diagrams, an integration tool, which controls the consistency of the model with its architecture defined in the package diagram, and a metrics tool, which is used to measure the coupling of model packages. Our tools for modeling-in-the-large complement the functionality of an environment for model-driven software engineering which so far has focused on supporting modeling-in-the-small. The overall environment has been applied successfully in a project which is dedicated to model-driven engineering of a product line for software configuration management systems.

This is a preview of subscription content, log in to check access.

References

  1. 1.

    Allen R, Garlan D (1997) A formal basis for architectural connection. ACM Trans Softw Eng Methodol 6(3):213–249

  2. 2.

    Amelunxen C, Königs A, Rötschke T, Schürr A (2006) MOFLON: A standard-compliant metamodeling framework with graph transformations. In: Rensink A, Warmer J (eds) Model driven architecture—foundations and applications: second European conference, ECMDA-FA 2006. Lecture notes in computer science, vol 4066. Springer, Bilbao, pp 361–375

  3. 3.

    Antkiewicz M, Czarnecki K (2004) FeaturePlugin: feature modeling plug-in for eclipse. In: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange (eclipse’04). ACM Press, New York, pp 67–72

  4. 4.

    Bézivin J, Jouault F, Rosenthal P, Valduriez P (2005) Modeling in the large and modeling in the small. In: Model driven architecture, European MDA workshops: foundations and applications, MDAFA 2003 and MDAFA 2004. Lecture notes in computer science, vol 3599. Twente, The Netherlands, pp 33–46

  5. 5.

    Booch G, Rumbaugh J, Jacobson I (1999) The unified modeling language user guide. Object technology series. Addison-Wesley, Amsterdam

  6. 6.

    Briand LC, Daly JW, Wüst J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117

  7. 7.

    Buchmann T (2010) Modelle und Werkzeuge für modellgetriebene Softwareproduktlinien am Beispiel von Softwarekonfigurationsverwaltungssystemen. PhD Thesis, University of Bayreuth, Germany

  8. 8.

    Buchmann T, Dotor A (2006) Building graphical editors with GEF and Fujaba. In: Giese H, Westfechtel B (eds) Fujaba days 2006. Bayreuth, Germany, pp 47–50

  9. 9.

    Buchmann T, Dotor A, Klinke M (2009) Supporting modeling in the large in Fujaba. In: van Gorp P (ed) Proceedings of the 7th international Fujaba days. Eindhoven, The Netherlands, pp 59–63

  10. 10.

    Buchmann T, Dotor A, Westfechtel B (2007) Model-driven development of graphical tools—Fujaba meets GMF. In: Filipe J, Helfert M, Shishkov B (eds) Proceedings of the second international conference on software and data technologies (ICSOFT 2007). INSTICC Press, Barcelona, pp 425–430

  11. 11.

    Buchmann T, Dotor A, Westfechtel B (2008) Experiences with modeling in the large in Fujaba. In: Aßmann U, Johannes J, Zündorf A (eds) Fujaba days 2008—6th international Fujaba days, Dresden, Germany, pp 5–9

  12. 12.

    Buchmann T, Dotor A, Westfechtel B (2009) Model-driven development of software configuration management systems—a case study in model-driven engineering. In: Proceedings of the 4th international conference on software and data technologies (ICSOFT 2009), vol 1. INSTICC Press, Sofia, pp 309–316

  13. 13.

    Chang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis ({FODA}) feasibility study. Tech Rep CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA

  14. 14.

    Clements P (1996) A survey of architecture description languages. In: Proceedings of the 8th ACM/IEEE international workshop on software specification and design (IWSSD 1996). IEEE Computer Society Press, Schloss Velen, pp 16–25

  15. 15.

    Collins-Sussman B, Fitzpatrick BW, Pilato CM (2004) Version control with subversion. O’Reilly, Sebastopol

  16. 16.

    Cuadrado JS, Molina JG (2009) Modularization of model transformations through a phasing mechanism. Softw Syst Model 8(3):325–345

  17. 17.

    DeRemer F, Kron H (1976) Programming-in-the-large versus programming-in-the-small. IEEE Trans Softw Eng 2(2):80–86

  18. 18.

    Dingel J, Diskin Z, Zito A (2008) Understanding and improving UML package merge. Softw Syst Model 7(4):443–467

  19. 19.

    Dotor A (2011) Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen. PhD thesis, University of Bayreuth, Germany

  20. 20.

    D’Souza DF, Wills AC (1998) Objects, components, and frameworks with UML—the Catalysis approach. Addison-Wesley, Upper Saddle River

  21. 21.

    The Eclipse Foundation: Eclipse UML2. http://www.eclipse.org/uml2

  22. 22.

    Estublier J, Casallas R (1994) The Adele configuration manager. In: Tichy WF (ed) Configuration management. Trends in software, vol 2. Wiley, New York, pp 99–134

  23. 23.

    Geiger L, Buchmann T, Dotor A (2007) EMF code generation with Fujaba. In: Geiger L, Giese H, Zündorf A (eds) Fujaba days 2007, Kassel, Germany, pp 25–29

  24. 24.

    Gronback RC (2009) Eclipse modeling project: a domain-specific language (DSL) toolkit, 1st edn. The eclipse series. Addison-Wesley, Boston

  25. 25.

    Hemel Z, Kats LC, Groenewegen DM, Visser E (2010) Code generation by model transformation: a case study in transformation modularity. Softw Syst Model 9(3):375–402

  26. 26.

    Hofmeister C, Nord RL, Soni D (1999) Describing software architecture with UML. In: Donohoe P (ed) Proceedings of the TC2 first working IFIP conference on software architecture ({WICSA 1999}). IFIP conference proceedings, vol 140. Kluwer, San Antonio, pp 145–160

  27. 27.

    IBM Corp.: Rational Rose. http://www.ibm.com/software/awdtools/developer/rose/java/index.html

  28. 28.

    IBM Corp.: Rational Software Architect. http://www.ibm.com/software/awdtools/swarchitect/standard

  29. 29.

    Kandé MM, Strohmeier A (2000) Towards a UML profile for software architecture descriptions. In: Evans A, Kent S, Selic B (eds) Proceedings of the third international conference on the Unified Modeling Language (UML 2000). Lecture notes in computer science, vol 1939. Springer, New York, pp 513–527

  30. 30.

    Kolovos DS, Paige RF, Pollack FA (2008) The grand challenge of scalability for model driven engineering. In: Chaudron MR (ed) Models in software engineering, workshops and symposia at MODELS 2008. Lecture notes in computer science, vol 5421. Springer, Toulouse, pp 48–53

  31. 31.

    Kruchten P, Obbink H, Stafford J (2006) The past, present, and future of software architecture. Commun ACM 23(2):22–30

  32. 32.

    Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93

  33. 33.

    Mezini M, Beuche D, Moreira A (eds) (2009) Proceedings 1st international workshop on model-driven product line engineering (MDPLE 2009). In: CTIT proceedings, Twente, The Netherlands

  34. 34.

    No Magic Inc.: MagicDraw. http://www.magicdraw.com

  35. 35.

    Object Management Group, Needham MA (2010) OMG Unified Modeling Language (OMG UML), Infrastructure, Version 2.3, formal/2010-05-03 edn

  36. 36.

    Object Management Group, Needham MA (2010) OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.3, formal/2010-05-05 edn

  37. 37.

    Prieto-Diaz R, Neighbors JM (1987) Module interconnection languages. J Syst Softw 6(4):307–334

  38. 38.

    Shaw M, Clements P (2006) The golden age of software architecture. Commun ACM 23(2):31–39

  39. 39.

    Soyatec—Open Solution Company: eUML2. http://www.soyatec.com/euml2

  40. 40.

    Sparx Systems: Sparx Enterprise Architect. http://www.sparxsystems.eu

  41. 41.

    Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF eclipse modeling framework, 2nd edn. The eclipse series. Addison-Wesley, Upper Saddle River

  42. 42.

    Tichy WF (1985) RCS—a system for version control. Softw Pract Exp 15(7):637–654

  43. 43.

    TOPCASED Consortium: TOPCASED: The open-source toolkit for critical systems. http://www.topcased.org

  44. 44.

    Tratt L, Gogolla M (eds) (2010) Theory and practice of model transformations—third international conference, ICMT 2010. In: Lecture notes in computer science, vol 6142. Springer, Malaga

  45. 45.

    TU Darmstadt Fachgebiet Echtzeitsysteme: MOFLON. http://www.moflon.org

  46. 46.

    Vesperman J (2006) Essential CVS. O’Reilly, Sebastopol

  47. 47.

    Wagelaar D, van der Straeten R, Deridder D (2010) Module superimposition: a composition technique for rule-based model transformation languages. Softw Syst Model 9(3):285–309

  48. 48.

    Weisemöller I, Schürr A (2008) Formal definition of MOF 2.0 metamodel components and composition. In: Czarnecki K, Ober I, Bruel JM, Uhl A, Völter M (eds) Model driven engineering languages and systems—11th international conference, MODELS 2008. Lecture notes in computer science, vol 5301. Springer, Toulouse, pp 386–400

  49. 49.

    White BA (2003) Software configuration management strategies and Rational ClearCase. Object technology series. Addison-Wesley, Reading

  50. 50.

    Zündorf A (2001) Rigorous object oriented software development. Tech Rep, University of Paderborn, Germany

Download references

Author information

Correspondence to Thomas Buchmann.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Buchmann, T., Dotor, A. & Westfechtel, B. Model-driven software engineering: concepts and tools for modeling-in-the-large with package diagrams. Comput Sci Res Dev 29, 73–93 (2014). https://doi.org/10.1007/s00450-011-0201-1

Download citation

Keywords

  • Model-driven development
  • Modeling-in-the-large
  • Package diagrams
  • Incremental round-trip engineering