Title data
Dotor Schumann, Alexander:
Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen.
Bayreuth
,
2011
(
Doctoral thesis,
2011
, University of Bayreuth, Faculty of Mathematics, Physics and Computer Sciences)
|
|||||||||
Download (10MB)
|
Abstract
Es existieren zur Zeit über 70 verschiedene Software-Konfigurations-Management-Systeme (kurz: SKMS), um die Entwicklung von Software-Anwendungssystemen zu unterstützen. SKMS sind selbst auch Software-Anwendungssysteme, deren Umfang von einigen zehntausend bis zu mehreren Millionen Quelltext-Zeilen reicht. Trotz dieser Größe handelt es sich meist um monolithische Systeme, deren Daten und Funktionen eng verschränkt sind und deren Verfahren lediglich implizit durch den Quellcode beschrieben werden. Eine Identifikation einzelner Methoden ist kaum möglich, ebensowenig wie eine Wiederverwendung bereits implementierter Verfahren. Dies führt dazu, dass für ein neues Verfahren oder sogar nur für eine neue Kombination existierender Verfahren ein SKMS von Grund auf neu implementiert wird. Die fehlende Modularität erschwert auch die Wiederverwendung eines SKMS für unterschiedliche Software-Entwicklungsprozesse, da bereits kleine Unterschiede zwischen den Prozessen die Entwicklung eines neuen SKMS erfordern können. Es besteht daher der Bedarf nach einer neuen Generation von SKMS, die durch ihre modulare Architektur (1) die Wiederverwendung bestehender Verfahren erlauben, (2) die Anpassbarkeit an Entwicklungsprozesse verbessern bzw. überhaupt erst ermöglichen und (3) die Erweiterbarkeit verbessern, um ein SKMS in möglichst vielen Entwicklungsprozessen einsetzen zu können. Die Modellgetriebene Modulare Produktlinie für Software Konfigurations Management Systeme (kurz: MOD2-SKM) identifiziert Gemeinsamkeiten von SKMS auf Basis eines Entwicklungsprozesses für Modellgetriebene Software Produktlinien (MODPL). Der Entwicklungsaufwand eines SKMS wird so reduziert, da gemeinsame Komponenten wiederverwendet und die Produkte aus dem Domänenmodell generiert werden (anstatt sie von Hand zu implementieren). So kann durch Konfiguration des Domänenmodells nach den Anforderungen eines Software-Entwicklungs-Prozesses ein SKMS speziell an den zu unterstützenden Prozess angepasst werden. In dieser Arbeit wird ein Merkmals-Modell für SKMS definiert und ein generisches Domänenmodell für die gesamte Systemfamilie der SKMS modelliert und analysiert. Mit Hilfe des Merkmals-Modells lassen sich die generierten SKMS systematisch beschreiben und miteinander vergleichen. Gleichzeitig können damit auch bestehende SKMS klassifiziert und so systematisch erfasst und verglichen werden. Durch das MOD2-SKM-Domänenmodell wird die SKM-Domäne mit Hilfe von Komponenten und Klassen beschrieben. Abhängigkeiten und Kopplungen werden dabei explizit identifiziert und reduziert. So wird das Verständnis der SKM-Domäne vertieft besonders in Bezug auf Modularisierbarkeit, Erweiterbarkeit und Co-Evolution und durch eine neue Sicht auf die komplexen Datenabhängigkeiten erweitert. MOD2-SKM ist gleichzeitig auch ein Prototyp einer neuen Generation vom SKMS, denn aus dem Domänenmodell lassen sich vollständig lauffähig SKMS erzeugen. Somit wird auch die Architektur und Realisierung einer modellgetriebenen Produktlinie für SKMS erforscht. MOD2-SKM zeigt, dass ein einzelnes SKMS nicht mehr von Hand implementiert werden muss. Stattdessen können, mit Hilfe von Konfigurationen, eine Vielzahl von SKMS generiert werden. So lassen sich entweder bestehende SKMS wie CVS oder Subversion nachbilden oder auch vollständig neue SKMS erstellen. Die Erkenntnisse, die beim Entwurf von MOD2-SKM gewonnen wurden, bilden die Grundlagen, die für den Entwurf und die Entwicklung modularer SKMS benötigt werden: • Sind SKMS überhaupt für MODPL geeignet? • In welche Komponenten lässt sich ein SKMS zerlegen? • Welche Kernkomponenten muss jedes SKMS besitzen? • Welche Kopplungen bestehen zwischen den Komponenten? • Welche Modellierungsmethoden sind für die lose Kopplung der Komponenten besonders geeignet? Der MOD2-SKM Entwicklungsprozess folgt dem MODPL-Modellierungsansatz und basiert so letztendlich auf modellgetriebenen Entwicklungsmethoden. MOD2-SKM stellt damit eine nicht-triviale Fallstudie für den Einsatz von modellgetriebenen Produktlinien dar, mit deren Hilfe sich der MODPL-Modellierungsansatz untersuchen lässt. In dieser Arbeit werden somit auch der Modellierungsansatz und die verwendeten modellgetriebenen Entwicklungsmethoden evaluiert und abschließend auch Anforderungen an sie formuliert.
Abstract in another language
Software developers can choose between more than 70 software-configuration-management-systems (abbr.: SCMS) to support the development of software applications. But SCMS are software applications by themselves and their size varies between a few ten thousand and several million lines of code. Even large systems turn out to be monolithic systems, i.e. their data and functions are tightly coupled and their underlying concepts are implicitly described by source code. Both, identification and reuse of the underlying concepts is nearly impossible. Often, implementation of a new SCM concept means implementation of a new SCMS from scratch. The lack of modularity makes the adaption of SCMS to different development processes difficult. Sometimes even minor changes to a development process require the adoption of a completely new SCMS. Software development needs a new generation of SCMS with modular architecture to (1) enable the reuse of existing SCM concepts, (2) improve or enable the adaption of SCMS to development processes, and (3) improve extensibility of SCMS, in order to increase the number of development processes a SCMS can be adopted. The modeldriven modular product line for software configuration management systems (abbr.: MOD2-SCM) identifies commonalities of SCMS, based on a model-driven development approach for model-driven software productlines (MODPL). This approach reduces the development effort of a SCMS (1) by reuse of common components, and (2) by replacing manual implementation of a SCMS with code generation from a graphical domain model. Adaption to a development process is achieved by creating a configuration manually and applying it to the domain model automatically. This thesis defines a feature-model for SCMS, and models and analyzes a generic domain model for a whole system family of SCMS. The feature-model provides a schema for a systematic and comparable description of every generated SCMS. The schema can also be used for a systematic classification and comparison of existing SCMS. The MOD2-SCM domain model uses package-and class-diagrams to model the SCM domain. They describe dependencies explicitly and their modular architecture is designed to reduce coupling. This way the graphical models deepen the understanding of the SCM domain especially about modularity, extensibility and co-evolution and offer a model-driven view on their complex dependencies. MOD2-SCM is also a prototype of a new generation of SCMS. MODPL enables the automatic generation of fully executable SCMS out of the domain model. So this thesis explores the design and realization of a model-driven productline for SCMS. MOD2-SCM shows that manual implementation of a single monolithic SCMS is unnecessary. Many different SCMS can be generated instead by creating configurations for a domain model. Both existing SCMS for example CVS or Subversion and completely new SCMS can be generated. The insight gained during the design and modeling solves and discusses fundamental questions about the design and development of modular SCMS: • Are SCMS eligible for model-driven product lines? • Which components are SCMS consisting of? • What are core components, required for any SCMS? • Which dependencies exist between these components? • Which modeling methods are most appropriate to reduce coupling? Development of MOD2-SCM follows the MODPL development approach and is ultimately based on generic model-driven development methods. Therefore, MOD2-SCM is a non-trivial case study for the application of model-driven product lines. Moreover, the model-driven approach in general is evaluated and, finally, the requirements for modeldriven product line development and model-driven development in general are derived.
Further data
Item Type: | Doctoral thesis (No information) |
---|---|
Additional notes (visible to public): | ccs: D.2.11; ccs: D.2.13; ccs: K.6.3 |
Keywords: | Software Engineering; Modellgetriebene Entwicklung; Softwarekonfigurationsverwaltung; Software Produktlinien; Software Product Lines |
DDC Subjects: | 000 Computer Science, information, general works > 004 Computer science |
Institutions of the University: | Faculties > Faculty of Mathematics, Physics und Computer Science > Department of Computer Science Faculties Faculties > Faculty of Mathematics, Physics und Computer Science |
Language: | German |
Originates at UBT: | Yes |
URN: | urn:nbn:de:bvb:703-opus-8899 |
Date Deposited: | 25 Apr 2014 08:27 |
Last Modified: | 25 Apr 2014 08:27 |
URI: | https://epub.uni-bayreuth.de/id/eprint/327 |