tud Component-Based Model-Driven Software Development 2011-01-07 [Electronic ed.] 4519974-7 Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden prv Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden, Dresden Fakultät Informatik Professur für Softwaretechnologie male Uelzen Model-driven software development (MDSD) and component-based software development are both paradigms for reducing complexity and for increasing abstraction and reuse in software development. In this thesis, we aim at combining the advantages of each by introducing methods from component-based development into MDSD. In MDSD, all artefacts that describe a software system are regarded as models of the system and are treated as the central development artefacts. To obtain a system implementation from such models, they are transformed and integrated until implementation code can be generated from them. Models in MDSD can have very different forms: they can be documents, diagrams, or textual specifications defined in different modelling languages. Integrating these models of different formats and abstraction in a consistent way is a central challenge in MDSD. We propose to tackle this challenge by explicitly separating the tasks of defining model components and composing model components, which is also known as distinguishing programming-in-the-small and programming-in-the-large. That is, we promote a separation of models into models for modelling-in-the-small (models that are components) and models for modelling-in-the-large (models that describe compositions of model components). To perform such component-based modelling, we introduce two architectural styles for developing systems with component-based MDSD (CB-MDSD). For CB-MDSD, we require a universal composition technique that can handle models defined in arbitrary modelling languages. A technique that can handle arbitrary textual languages is universal invasive software composition for code fragment composition. We extend this technique to universal invasive software composition for graph fragments (U-ISC/Graph) which can handle arbitrary models, including graphical and textual ones, as components. Such components are called graph fragments, because we treat each model as a typed graph and support reuse of partial models. To put the composition technique into practice, we developed the tool Reuseware that implements U-ISC/Graph. The tool is based on the Eclipse Modelling Framework and can therefore be integrated into existing MDSD development environments based on the framework. To evaluate the applicability of CB-MDSD, we realised for each of our two architectural styles a model-driven architecture with Reuseware. The first style, which we name ModelSoC, is based on the component-based development paradigm of multi-dimensional separation of concerns. The architecture we realised with that style shows how a system that involves multiple modelling languages can be developed with CB-MDSD. The second style, which we name ModelHiC, is based on hierarchical composition. With this style, we developed abstraction and reuse support for a large modelling language for telecommunication networks that implements the Common Information Model industry standard. 004 ST 230 Modellgetriebene Softwareentwicklung, Komponentenbasierte Softwareentwicklung, Reuseware, Modellierung, Metamodellierung Model-Driven Software Development, MDSD, MDA, Component-Based Software Development, Invasive Software Composition, ISC, Eclipse Modeling Framework, Reuseware, Eclipse, Meta-Object Facility, EMOF, Ecore, Modelling, Metamodelling urn:nbn:de:bsz:14-qucosa-63986 335875157 Technische Universität Dresden dgg Technische Universität Dresden, Dresden Jendrik Johannes 1981-03-26 aut Uwe Aßmann Prof. Dr. rer. nat. habil. dgs rev Richard Paige Prof. Dr. rev eng 2010-07-09 2010-12-15 born digital Jendrik Johannes +49 178 5363745 jjohannes@acm.org doctoral_thesis