Modellgetriebene Entwicklung Komponierte Modellierung basierend auf der Verteilten Graphtransformation und dem Eclipse Modeling Framework Composite Modeling based on Distributed Graph Transformation and the Eclipse Modeling Framework Graphtransformation Distributed graph Eclipse Modeling Framework urn:nbn:de:hebis:04-z2012-11030 Modellierung 2013-02-22 Softwaretechnik Graphersetzungssystem Graphtransformation Composite modeling application/pdf Fachbereich Mathematik und Informatik Data processing Computer science Informatik Jurack, Stefan Jurack Stefan opus:4618 2013-02-22 Eclipse [Programmierumgebung] Publikationsserver der Universitätsbibliothek Marburg Universitätsbibliothek Marburg Model-driven development (MDD) has become a promising trend in software engineering for a number of reasons. Models as the key artifacts help the developers to abstract from irrelevant details, focus on important aspects of the underlying domain, and thus master complexity. As software systems grow, models may grow as well and finally become possibly too large to be developed and maintained in a comprehensible way. In traditional software development, the complexity of software systems is tackled by dividing the system into smaller cohesive parts, so-called components, and let distributed teams work on each concurrently. The question arises how this strategy can be applied to model-driven development. The overall aim of this thesis is to develop a formalized modularization concept to enable the structured and largely independent development of interrelated models in larger teams. To this end, this thesis proposes component models with explicit export and import interfaces where exports declare what is provided while imports declare what it needed. Then, composite model can be connected by connecting their compatible export and import interfaces yielding so-called composite models. Suitable to composite models, a transformation approach is developed which allows to describe changes over the whole composition structure. From the practical point of view, this concept especially targets models based on the Eclipse Modeling Framework (EMF). In the modeling community, EMF has evolved to a very popular framework which provides modeling and code generation facilities for Java applications based on structured data models. Since graphs are a natural way to represent the underlying structure of visual models, the formalization is based on graph transformation. Incorporated concepts according to distribution heavily rely on distributed graph transformation introduced by Taentzer. Typed graphs with inheritance and containment structures are well suited to describe the essentials of EMF models. However, they also induce a number of constraints like acyclic inheritance and containment which have to be taken into account. The category-theoretical foundation in this thesis allows for the precise definition of consistent composite graph transformations satisfying all inheritance and containment conditions. The composite modeling approach is shown to be coherent with the development of tool support for composite EMF models and composite EMF model transformation. Eclipse Modeling Framework Die modellgetriebenen Softwareentwicklung (MSD) ist ein vielversprechender Trend aus unterschiedlichsten Gründen. Modelle als die Schlüsselelemente in der MSD erlauben Entwicklern von irrelevanten Details zu abstrahieren, sich auf wichtige Aspekte der Zieldomäne zu konzentrieren und damit die Komplexität von Softwaresystemen zu meistern. Eine stetige Steigerung der Komplexität führt jedoch auch zu stetig wachsenden Modellen. Dies geht so lange gut, bis die Modelle dem Anspruch der guten Wartbarkeit und Verständlichkeit selbst nicht mehr genügen. In herkömmlicher Softwareentwicklung wird der Komplexität mit Verteilung begegnet, d.h. das Gesamtsystem wird eine Menge stark zusammengehörender Teile, den Softwarekomponenten, zerteilt. An diesen können dann verteilte Teams parallel arbeiten. Die Frage ist nun, ob und wie diese Strategie auch auf die modellgetriebene Softwareentwicklung angewendet werden kann. Entsprechend ist das große Ziel dieser Arbeit die Entwicklung eines formal fundierten Modularisierungskonzepts, welches die strukturierte und weitgehend unabhängige Entwicklung von miteinander verknüpften Modellen in großen Entwicklerteams ermöglicht und unterstützt. Diesen Zweck sollen Komponentenmodelle mit expliziten Import- und Exportschnittstellen erfüllen. Exporte identifizieren die Teile die veröffentlicht werden, währende Importe die Teile benennt, welche von außen benötigt und konsumiert werden. Letztendlich werden Komponentenmodelle nur durch das Verbinden ihrer zueinander kompatiblen Export- und Importschnittstellen verbunden. Ein solch entstehender Modellverband wird "composite model" genannt. Passend zu solchen Verbänden wird ein Transformationsansatz entwickelt, welcher das Beschreiben von Modelländerungen über einzelne Modellgrenzen hinweg erlaubt und damit das parallele Ändern beliebiger Modelle eines Verbands. Dieses Konzept wird von praktischer Seite mit besonderem Fokus auf eine bestehende Technologie entwickelt, dem Eclipse Modeling Framework (EMF). EMF ist in der MSD Welt weit verbreitet und erfreut sich weiter wachsender Beliebtheit. Beispielsweise bietet EMF, neben den Erweiterungen durch zahlreiche andere Eclipse-Projekte, eine vollständige Infrastruktur für das Generieren von Java Anwendungen basierend auf strukturierten Datenmodellen. Da Graphen auf natürlich Weise die unterliegende Struktur von (visuellen) Modellen darstellen können, basiert der Formalismus in dieser Arbeit auf den Theorien und Konzepte der Graphtransformation. Dabei ist der Verteilungsaspekt insbesondere durch die Arbeiten von Taentzer zu Verteilter Graphtransformation geprägt. Die wesentlichen Strukturelemente von EMF Modellen werden durch getypte Graphen beschrieben, die zusätzliche Strukturen zur Darstellung von Vererbungs- und Enthaltenseinsbeziehungen (Containment) bereitstellen. Gerade diese zusätzlichen Strukturen führen im Formalismus zu einer Reihe von Nebenbedingungen, denen auf geeignete Weise Rechnung getragen werden muss. So erlaubt das kategoriale Fundament in dieser Arbeit die Transformation auf Modellverbänden so zu definieren, dass auch nach der Transformation einer Vielzahl miteinander verbundener Modelle die Bedingungen bezüglich Vererbung und Containment überall erfüllt werden. Die Arbeit rundet die Implementierung der Konzepte in die Eclipse Werkzeuge CompoEMF und CompoHenshin ab, welche die Machbarkeit und Kohärenz zeigen. https://doi.org/10.17192/z2012.1103 doctoralThesis ths Prof.Dr. Taentzer Gabriele Taentzer, Gabriele (Prof.Dr.) English E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Löwe. Algebraic approaches to graph transformation -part i: Basic concepts and double pushout approach. In G. Rozenberg, editor, Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations, pages 163246. World Scientic, 1997. D. S. Kolovos, R. F. Paige, F. Polack, and L. M. Rose. Update transfor- mations in the small with the Epsilon Wizard Language. Journal of Obj. Tech., 6(9):5369, 2007. D. Steinberg, F. Budinsky, M. Patenostro, and E. Merks. EMF: Eclipse Modeling Framework, 2nd Edition. Addison Wesley, 2008. [75] D. Strüber. Konzeption und Implementierung von komponen- tenorientierten Modelltransformationen basierend auf der Eclipse- R. Salay, J. Mylopoulos, and S. M. Easterbrook. Managing models through macromodeling. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15-19 September 2008, L'Aquila, Italy, pages 447450. IEEE, 2008. J. Bézivin, S. Bouzitouna, M. D. D. Fabro, M.-P. Gervais, F. Jouault, D. S. Kolovos, I. Kurtev, and R. F. Paige. A Canonical Scheme for Model Composition. In A. Rensink and J. Warmer, editors, Model Driven Archi- tecture -Foundations and Applications (ECMDA-FA 2006), Second Eu- ropean Conference, volume 4066 of Lecture Notes in Computer Science, pages 346360. Springer, 2006. H. Ehrig, F. Orejas, and U. Prange. Categorical Foundations of Dis- tributed Graph Transformation. In A. Corradini, H. Ehrig, U. Mon- tanari, L. Ribeiro, and G. Rozenberg, editors, Graph Transformations, Third International Conference, ICGT 2006, Natal, Rio Grande do Norte, Brazil, September 17-23, 2006, Proceedings, volume 4178 of Lecture Notes in Computer Science, pages 215229. Springer, 2006. Bibliography [27] EMF. Eclipse Modeling Framework Project (EMF). http://www. eclipse.org/emf, 2012. H. Ehrig, F. Orejas, B. Braatz, M. Klein, and M. Piirainen. A generic component framework for system modeling. In Fundamental Approaches to Software Engineering, 5th International Conference, FASE 2002, held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings, volume 2306 of LNCS, pages 3348. Springer, 2002. E. Biermann, C. Ermel, and G. Taentzer. Precise Semantics of EMF Model Transformations by Graph Transformation. In K. Czarnecki, F. Hermann, H. Ehrig, and C. Ermel. Transformation of Type Graphs with Inheritance for Ensuring Security in E-Government Networks. In M. Wirsing and M. Chechik, editors, Proc. International Conference on Fundamental Aspects of Software Engineering (FASE'09), volume 5503 of Lecture Notes in Computer Science, pages 325339. Springer, 2009. S. Jurack and G. Taentzer. Towards Composite Model Transformations Using Distributed Graph Transformation Concepts. In A. Schürr and B. Selic, editors, Proc. of 12th Int. Conference on Model Driven Engi- neering Languages and Systems (MoDELS 2009), volume 5795 of LNCS, pages 226240. Springer, 2009. R. Bruni, F. Gadducci, and A. Lluch-Lafuente. An algebra of hierarchical graphs. In Trustworthly Global Computing -5th International Symposium, TGC 2010, Munich, Germany, February 24-26, 2010, Revised Selected Papers, volume 6084 of Lecture Notes in Computer Science, pages 205 221. Springer, 2010. S. Jurack. Composite EMF Modeling based on Typed Graphs with Inher- itance and Containment Structures. In A. Rensink, editor, Proc. of 5th Int. Conference on Graph Transformation (ICGT 2010), LNCS. Springer, 2010. Doctoral Symposium. C. Clasen, F. Jouault, and J. Cabot. VirtualEMF: A Model Virtualization Tool. In O. D. Troyer, C. B. Medeiros, R. Billen, P. Hallot, A. Simitsis, and H. V. Mingroot, editors, Advances in Conceptual Modeling. Recent Developments and New Directions -ER 2011 Workshops, volume 6999 of Lecture Notes in Computer Science, pages 332335. Springer, 2011. E. Biermann, C. Ermel, and G. Taentzer. Formal foundation of consistent EMF model transformations by algebraic graph transformation. Software and System Modeling, 11(2):227250, 2012. J. de Lara, R. Bardohl, H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer. Attributed graph transformation with node type inheritance. Theor. Com- put. Sci., 376(3):139163, 2007. M. Goedicke, T. Meyer, and G. Taentzer. ViewPoint-oriented Software Development by Distributed Graph Transformation: Towards a Basis for Living with Inconsistencies. In Proc. 4th IEEE Int. Symposium on Re- quirements Engineering (RE'99), June 7-11, 1999, University of Limer- ick, Ireland. IEEE Computer Society, 1999. ISBN 0-7695-0188-5. M. Sabetzadeh, S. Nejati, S. Liaskos, S. M. Easterbrook, and M. Chechik. Consistency checking of conceptual models via model merging. In 15th IEEE International Requirements Engineering Conference, RE 2007, Oc- tober 15-19th, 2007, New Delhi, India, pages 221230. IEEE, 2007. M. Sabetzadeh, S. Nejati, S. M. Easterbrook, and M. Chechik. Global consistency checking of distributed models with tremer+. In 30th In- ternational Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10-18, 2008, pages 815818. ACM, 2008. F. Jouault, B. Vanhoo, H. Bruneliere, G. Doux, Y. Berbers, and J. Bézivin. Inter-dsl coordination support by combining megamodeling and model weaving. In Proceedings of the 2010 ACM Symposium on Ap- plied Computing (SAC), Sierre, Switzerland, March 22-26, 2010, pages 20112018. ACM, 2010. A. Boronat. MOMENT: A Formal Framework for Model Management. PhD thesis, Universitat Politècnica de València, 2007. S. Lack and P. Sobocinski. Adhesive categories. In I. Walukiewicz, edi- tor, Foundations of Software Science and Computation Structures (FoS- SaCS), 7th International Conference, FOSSACS 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, volume 2987 of Lecture Notes in Computer Science, pages 273288. Springer, 2004. F. Fleurey, B. Baudry, R. B. France, and S. Ghosh. A Generic Approach for Automatic Model Composition. In H. Giese, editor, Models in Soft- ware Engineering, Workshops and Symposia at MoDELS 2007, Reports and Revised Selected Papers, volume 5002 of Lecture Notes in Computer Science, pages 715. Springer, 2007. S. Jurack and G. Taentzer. A Component Concept for Typed Graphs with Inheritance and Containment Structures. In A. Rensink, editor, Proc. of 5th Int. Conference on Graph Transformation (ICGT 2010), Enschede, LNCS, pages 187202. Springer, 2010. G. Mezei, S. Juhasz, and T. Levendovsky. A distribution technique for graph rewriting and model transformation systems. In H. Burkhart, ed- itor, Proc. of the IASTED Int. Conference on Parallel and Distributed Computing Networks, pages 6368. IASTED/ACTA Press, 2007. AspectJ. A general-purpose aspect-oriented extension to Java. http: //www.eclipse.org/aspectj/, 2011. T. Modica, E. Biermann, and C. Ermel. An eclipse framework for rapid development of rich-featured gef editors based on emf models. In GI Jahrestagung, volume 154 of LNI. GI, 2009. D. D. Ruscio, R. Lämmel, and A. Pierantonio. Automated co-evolution of gmf editor models. In Software Language Engineering -Third Interna- tional Conference, SLE 2010, Eindhoven, The Netherlands, October 12- 13, 2010, Revised Selected Papers, volume 6563 of LNCS, pages 143162. Springer, 2010. B. C. Pierce. Basic Category Theory for Computer Scientists. MIT Press, 1991. G. Taentzer. Distributed Graphs and Graph Transformation. Applied Categorical Structures, 7(4), 1999. P. Knirsch and S. Kuske. Distributed Graph Transformation Units. In A. Corradini, H. Ehrig, H.-J. Kreowski, and G. Rozenberg, editors, Graph Transformation, 1st Int. Conference, ICGT 2002, Barcelona, Spain, Oc- tober 7-12, 2002, Proceedings, volume 2505 of LNCS. Springer, 2002. S. Clarke. Extending standard uml with model composition semantics. J. Estublier and A. D. Ionita. Extending uml for model composition. In 16th Australian Software Engineering Conference (ASWEC 2005), 31 March -1 April 2005, Brisbane, Australia, pages 3138. IEEE Computer Society, 2005. B. Braatz, H. Ehrig, K. Gabriel, and U. Golas. Finitary M-adhesive cat- egories. In H. Ehrig, A. Rensink, G. Rozenberg, and A. Schürr, editors, 5th Int. Conference on Graph Transformations, ICGT, Enschede, vol- ume 6372 of Lecture Notes in Computer Science, pages 234249. Springer, 2010. H. Ehrig, A. Habel, H.-J. Kreowski, and F. Parisi-Presicce. From graph grammars to high level replacement systems. In H. Ehrig, H.-J. Kreowski, and G. Rozenberg, editors, Graph-Grammars and Their Application to Computer Science, 4th International Workshop, volume 532 of Lecture Notes in Computer Science, pages 269291. Springer, 1991. H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer. Fundamentals of Alge- braic Graph Transformation. Monographs in Theoretical Computer Sci- ence. An EATCS Series. Springer, 2006. E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, and E. Weiss. Graphical Denition of Rule-Based Transformation in the Eclipse Mod- eling Framework. In O. Nierstrasz, J. Whittle, D. Harel, and G. Reggio, editors, 9th Int. Conference on Model Driven Engineering Languages and Systems, volume 4199 of Lecture Notes in Computer Science, pages 425 439. Springer, 2006. T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer. Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformation. T. Schäfer and S. Jurack. Homepage of CompEMF. http://www. mathematik.uni-marburg.de/~swt/compoemf/, 2012. Bibliography D. Strüber and S. Jurack. Homepage of CompHenshin. http://www. mathematik.uni-marburg.de/~swt/compohenshin/, 2012. Java Emitter Templates (JET). http://www. eclipse.org/modeling/m2t/?project=jet#jet, 2012. [58] N. Magic. Magic Draw. http://www.nomagic.com/products/ magicdraw.html, 2012. J. Whittle and P. K. Jayaraman. MATA: A Tool for Aspect-Oriented Modeling Based on Graph Transformation. In H. Giese, editor, Mod- els in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 -October 5, 2007, Reports and Re- vised Selected Papers, volume 5002 of Lecture Notes in Computer Science, pages 1627. Springer, 2007. [43] S. Jurack and F. Mantz. Metamodel Evolution of EMF Models with Henshin. In Proc. of 13th Int. Conference on Model Driven Engineering Languages and Systems (MoDELS 2010), 2010. Int. Workshop on Models and Evolution (ME2010). E. Biermann, C. Ermel, and S. Jurack. Modeling the "Ecore to Gen- Model" Transformation with EMF Henshin. In Proceedings of TOOLS 2010 Federated Conferences, 2010. Workshop "Transformation Tool Con- test 2010". Bibliography [62] Object Management Group. The Essential MOF (EMOF) Model. http: //www.omg.org/cgi-bin/doc?formal/2006-01-01.pdf, 2010. Sec. 12. F. Heidenreich, J. Henriksson, J. Johannes, and S. Zschaler. On Language- Independent Model Modularisation. T. Aspect-Oriented Software Devel- opment VI, pages 3982, 2009. J. Bezivin, F. Jouault, and P. Valduriez. On the Need for Meg- amodels. https://gforge.inria.fr/scm/viewvc.php/*checkout*/ Bibliography Publications/Before2009/bezivin-megamodel.pdf?rev=12+root= atlantic-zoos, 2004. In Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th G. Taentzer. Parallel and Distributed Graph Transformation: Formal De- scription and Application to Communication Based Systems. PhD thesis, Technical University of Berlin, 1996. S. Jurack and J. Tietje. Saying Hello World with Henshin -A Solution to the TTC 2011 Instructive Case. In P. V. Gorp, S. Mazanek, and L. Rose, editors, Proc. Fifth Transformation Tool Contest (TTC), volume 74 of EPTCS, pages 253280, 2011. U. Ranger and M. Lüstraeten. Search Trees for Distributed Graph Trans- formation Systems. Electronic Communication of the EASST, 4, 2006. S. Jurack and G. Taentzer. Transformation of typed composite graphs with inheritance and containment structures. Fundamenta Informaticae, 118(1-2), 2012. F. Jouault and I. Kurtev. Transforming Models with ATL. In J.-M. Bruel, editor, Satellite Events at the MoDels 2005 Conference, volume 3844 of LNCS. Springer, 2005. OMG. UML Resource Page of the Object Management Group. http: //www.uml.org/. TFS Henshin. Visual Multi-View Henshin-Editor. git://git@github. com:JuergenGall/Henshin-Editor.git, 2012. AGG. Attributed Graph Grammar System. http://tfs.cs.tu-berlin. de/agg. GMF. Graphical Modeling Framework. http://www.eclipse.com/gmf. I. Eclipse Foundation. Eclipse -The Eclipse Foundation open source community website. http://www.eclipse.org, 2012. ATL. ATL Transformation Language. http://www.eclipse.org/atl/, 2012. [6] B. Baudry, F. Fleurey, R. B. France, and R. Reddy. Exploring the Rela- tionship between Model Composition and Model Transformation. In In Proc. of Aspect Oriented Modeling Workshop, in conjunction with MoD- ELS'05, 2005. C. Köhler, H. Lewin, and G. Taentzer. Ensuring containment constraints in graph-based model transformation approaches. ECEASST, 6, 2007. [54] D. Kolovos. EuGENia. http://www.eclipse.org/epsilon/doc/ eugenia/. AMW. Atlas Model Weaver. http://www.eclipse.org/gmt/amw/, 2012. [3] Technologie (In German). Master's thesis, Philipps-Universität Marburg, 2011. http://www.mathematik.uni-marburg.de/~swt/Publikationen_ Taentzer/Students/DStrueber_DA.pdf. Object Management Group. Meta Object Facility Core (MOF) Speci- cation. http://www.omg.org/spec/MOF/, 2012. Object Management Group. MOF 2 XMI Mapping (XMI) Specication. http://www.omg.org/spec/XMI/, 2012. F. Drewes, B. Homann, and D. Plump. Hierarchical graph transforma- tion. J. Comput. Syst. Sci., 64(2):249283, 2002. T. Schäfer. Implementierung einer komponentenorientierten Architek- tur für Software-Modelle basierend auf dem Eclipse Modeling Frame- work (In German). Philipps-Universität Marburg 2012 2012-12-04 monograph https://archiv.ub.uni-marburg.de/diss/z2012/1103/cover.png