Titlebar

Bibliografische Daten exportieren
Literatur vom gleichen Autor
plus im Publikationsserver
plus bei Google Scholar

 

Modelle und Werkzeuge für modellgetriebene Softwareproduktlinien am Beispiel von Softwarekonfigurationsverwaltungssystemen

URN zum Zitieren dieses Dokuments: urn:nbn:de:bvb:703-opus-7398

Titelangaben

Buchmann, Thomas:
Modelle und Werkzeuge für modellgetriebene Softwareproduktlinien am Beispiel von Softwarekonfigurationsverwaltungssystemen.
Bayreuth , 2010
( Dissertation, 2010 , Universität Bayreuth, Fakultät für Mathematik, Physik und Informatik)

Volltext

[img] PDF
Dissertation_Buchmann.pdf - Veröffentlichte Version
Available under License Creative Commons BY 3.0: Namensnennung .

Download (29Mb)

Abstract

Die Entwicklung von Softwareproduktlinien basiert auf der pro-aktiven Wiederverwendung von Softwareartefakten (Anforderungen, Komponenten, Code, Testfällen, etc.). In einer Softwareproduktlinie werden die invarianten Eigenschaften der Softwareprodukte durch eine gemeinsame Basis realisiert. Durch Integration von Variabilität in diese gemeinsame Plattform wird die effiziente Entwicklung von kunden- bzw. marktspezifischen Softwarelösungen ermöglicht. Der hohe Anteil der Wiederverwendung führt dabei im Vergleich zur Entwicklung von Einzel-Softwaresystemen zu einer Reduktion von Entwicklungszeit und Entwicklungskosten bei einer gleichzeitigen Steigerung der Softwarequalität. Modellgetriebene Entwicklung hingegen beschreibt die Verwendung von formalen Modellen zur Beschreibung eines Softwaresystems anstelle der Erstellung von Programmcode. Geeignete Werkzeuge sind in der Lage, diese Modelle in Programmcode zu übersetzen. Diese formalen Modelle beschreiben das zu erstellende System auf einer höheren Abstraktionsebene als der Programmcode. Ebenso wird die Wiederverwendbarkeit für unterschiedliche Zielplattformen erhöht, indem spezielle Codegeneratoren verwendet werden. Die Kombination von modellgetriebener Softwareentwicklung und Software Produktlinien verspricht Produktivitätssteigerungen aus mehreren Gründen: (1) durch die Entwicklung von wiederverwendbaren Komponenten in einer Produktlinie und (2) durch die Erstellung von Modellen anstatt von Programmcode, (3) durch eine erleichterte Erweiterung von bestehenden Systemen, (4) durch Werkzeuge zur Automation und (5) durch Wiederverwendbarkeit des mittels Modellen beschriebenen Wissens für alle Projektmitarbeiter. Diese Arbeit untersucht die Konzepte, Modelle und Werkzeuge, die benötigt werden, um modellgetrieben Produktlinien zu entwickeln. Als durchgängiges anwendungsbezogenes Beispiel wird die modellgetriebene Entwicklung einer Produktlinie für Softwarekonfigurationsverwaltungssysteme betrachtet. Das Beispiel Softwarekonfigurationsverwaltungssysteme wurde als nicht-trivialer Anwendungsfall gewählt, da in dieser Domäne sehr viele Systeme existieren, die sich teilweise in ihrer Funktionalität sehr ähneln, dennoch aber jeweils von Grund auf neu entwickelt wurden. Im Verlauf der Ausarbeitung werden bestehende Prozesse zur Produktlinienentwicklung vorgestellt und eine Kombination mit dem modellgetriebenen Entwicklungsansatz diskutiert. Es wird ein innovativer Ansatz eines modellgetriebenen Entwicklungsprozesses für Produktlinien vorgestellt und es werden neu entwickelte Werkzeuge präsentiert und diskutiert, die diesen spezifischen Prozess unterstützen. Für die Entwicklung einer durchgängigen Werkzeugunterstützung wurde versucht, auf bestehende Werkzeuge zurückzugreifen. Dennoch waren umfangreiche Neuentwicklungen nötig, um eine Werkzeugunterstützung des kompletten Prozesses zu gewährleisten. Die Neuentwicklungen betrafen einerseits die Kopplung von Modellen aus der modellgetriebenen Softwareentwicklung mit Modellen aus der Produktlinienentwicklung, andererseits aber auch eine weitreichendere Unterstützung von modellgetriebener Entwicklung im Bereich der Architekturmodellierung.

Abstract in weiterer Sprache

The idea behind software product lines is based on an active and planned reuse of software artifacts. These artifacts comprise requirements, components, code and even test cases. The realization of invariant features of single products within a software product line are realized by a common platform. Integrating variability into this platform allows for efficient development of customer specific software solutions. The high amount of reuse leads to a significant reduction of both development time and costs compared to traditional software development and simultaneosly increases the quality of the resulting product. The term model-driven software development on the other hand describes the creation of software systems by specifying formal models instead of writing code. These models are created using special CASE tools which allow transforming these models into program code. By using formal models, the systems is described on a higher level of abstraction and reuse for different platforms can easily be achieved by using different code generators. The combination of these different techniques promises an increase of productivity for several reasons: (1) by developing reuseable components within a product line, (2) by creating formal models instead of program code, (3) by an easy adoption and extension of existing systems, (4) by providing tools for automation and (5) by resuing domain knowledge captured in models. This thesis investigates concepts, models and tools required for a model-driven development of software product lines. The model-driven development of a product line for software configuration management (SCM) systems is used as an application-oriented example. SCM systems were chosen as a non-trivial example, because this domain is characterized by a huge number of systems, each of which realize similar functionality but have all been developed from scratch. In this thesis, existing processes for developing product lines are introduced and a combination of them with the model-driven approach is discussed. An innovative approach for the model-driven development of software product lines is presented and new tools are introduced, which have been created to support the specific requirements of this process. In order to provide a consistent tool chain, the focus was to reuse existing tools as far as possible and to extend and integrate them with own tools to provide tool support for the whole development process. The tools developed in the context of this work comprise the mapping of models for software product line engineering to models used for model-driven software development. A second tool was created to provide a broad support for model-driven development in terms of modeling in the large.

Weitere Angaben

Publikationsform: Dissertation (Ohne Angabe)
Keywords: modellgetriebene Entwicklung; Softwarekonfigurationsverwaltung; Softwareproduktlinien; ausführbare Modelle; model-driven development; software product lines; executable models; software configuration management
Themengebiete aus DDC: 000 Informatik,Informationswissenschaft, allgemeine Werke > 004 Informatik
Institutionen der Universität: Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik
Fakultäten
Fakultäten > Fakultät für Mathematik, Physik und Informatik
Sprache: Deutsch
Titel an der UBT entstanden: Ja
URN: urn:nbn:de:bvb:703-opus-7398
Eingestellt am: 25 Apr 2014 09:29
Letzte Änderung: 25 Apr 2014 09:30
URI: https://epub.uni-bayreuth.de/id/eprint/409