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.
Similar content being viewed by others
References
Allen R, Garlan D (1997) A formal basis for architectural connection. ACM Trans Softw Eng Methodol 6(3):213–249
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
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
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
Booch G, Rumbaugh J, Jacobson I (1999) The unified modeling language user guide. Object technology series. Addison-Wesley, Amsterdam
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
Buchmann T (2010) Modelle und Werkzeuge für modellgetriebene Softwareproduktlinien am Beispiel von Softwarekonfigurationsverwaltungssystemen. PhD Thesis, University of Bayreuth, Germany
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
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
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
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
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
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
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
Collins-Sussman B, Fitzpatrick BW, Pilato CM (2004) Version control with subversion. O’Reilly, Sebastopol
Cuadrado JS, Molina JG (2009) Modularization of model transformations through a phasing mechanism. Softw Syst Model 8(3):325–345
DeRemer F, Kron H (1976) Programming-in-the-large versus programming-in-the-small. IEEE Trans Softw Eng 2(2):80–86
Dingel J, Diskin Z, Zito A (2008) Understanding and improving UML package merge. Softw Syst Model 7(4):443–467
Dotor A (2011) Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen. PhD thesis, University of Bayreuth, Germany
D’Souza DF, Wills AC (1998) Objects, components, and frameworks with UML—the Catalysis approach. Addison-Wesley, Upper Saddle River
The Eclipse Foundation: Eclipse UML2. http://www.eclipse.org/uml2
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
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
Gronback RC (2009) Eclipse modeling project: a domain-specific language (DSL) toolkit, 1st edn. The eclipse series. Addison-Wesley, Boston
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
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
IBM Corp.: Rational Rose. http://www.ibm.com/software/awdtools/developer/rose/java/index.html
IBM Corp.: Rational Software Architect. http://www.ibm.com/software/awdtools/swarchitect/standard
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
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
Kruchten P, Obbink H, Stafford J (2006) The past, present, and future of software architecture. Commun ACM 23(2):22–30
Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93
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
No Magic Inc.: MagicDraw. http://www.magicdraw.com
Object Management Group, Needham MA (2010) OMG Unified Modeling Language (OMG UML), Infrastructure, Version 2.3, formal/2010-05-03 edn
Object Management Group, Needham MA (2010) OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.3, formal/2010-05-05 edn
Prieto-Diaz R, Neighbors JM (1987) Module interconnection languages. J Syst Softw 6(4):307–334
Shaw M, Clements P (2006) The golden age of software architecture. Commun ACM 23(2):31–39
Soyatec—Open Solution Company: eUML2. http://www.soyatec.com/euml2
Sparx Systems: Sparx Enterprise Architect. http://www.sparxsystems.eu
Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF eclipse modeling framework, 2nd edn. The eclipse series. Addison-Wesley, Upper Saddle River
Tichy WF (1985) RCS—a system for version control. Softw Pract Exp 15(7):637–654
TOPCASED Consortium: TOPCASED: The open-source toolkit for critical systems. http://www.topcased.org
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
TU Darmstadt Fachgebiet Echtzeitsysteme: MOFLON. http://www.moflon.org
Vesperman J (2006) Essential CVS. O’Reilly, Sebastopol
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
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
White BA (2003) Software configuration management strategies and Rational ClearCase. Object technology series. Addison-Wesley, Reading
Zündorf A (2001) Rigorous object oriented software development. Tech Rep, University of Paderborn, Germany
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-011-0201-1