Software-Qualitätssicherung durch Automatisierung : Ein modellbasierter Ansatz

  • In dieser Arbeit wird gezeigt, wie durch eine Automatisierung von Software-Entwicklungsaktivitäten sowohl Effizienz- als auch Qualitätsgewinne erzielt und komplexe Aktivitäten beherrschbar gemacht werden können. Dazu wird zunächst eine solide Basis für eine modellbasierte Software-Entwicklung geschaffen. Nach der Identifikation der Probleme der bisher üblicherweise eingesetzten Metamodellierung wird eine verbesserte Multiebenenmodellierung vorgeschlagen, welche die explizite Angabe der Instanziierbarkeit (Tiefe und Automatismus der Instanziierung) der Modellelemente erlaubt und damit eine deutliche Vereinfachung und bessere Verständlichkeit der Metamodelle ermöglicht. Zur operationalen Beschreibung von Modelltransformationen im Kontext dieser Multiebenenmodellierung wird sodann die Aktionssprache AL++ konzipiert. Insbesondere durch die Einführung von Sprachelementen für die Handhabung von Relationen und Attributen und die Aufnahme von Reflexionskonstrukten in die Sprache AL++ werden Transformationen kompakt und generisch beschreibbar. Anwendung finden diese Ansätze in der modellbasierten Entwicklung reaktiver Systeme. Dazu wird eine existierende Entwicklungsmethode erweitert, um eine durchgängige Automatisierung realisieren zu können. Die wichtigste Erweiterung ist dabei die modifizierte Automatenmodellierung, bei welcher erweiterte Endliche Automaten durch die Komposition getrennt modellierter Zustandsübergänge spezifiziert werden, was eine eindeutige Verfolgbarkeit zu den Anforderungen erlaubt. Eingesetzt werden obige Techniken für die statische Analyse von Spezifikationen, wobei insbesondere die automatische Detektion von Feature-Interaktionen (also die Feststellung kritischer Wechselwirkungen zwischen Produktmerkmalen) in dieser Form erstmalig für den Bereich der reaktiven Systeme durchgeführt wird. Daneben werden automatisierte dynamische Analysen auf der Basis generierter Prototypen betrachtet. Die Analyseergebnisse können automatisiert für die Modifikation und Neukonstruktion der Prototypen genutzt werden, womit Software-Entwicklungsexperimente vollständig in einem „virtuellen Labor“ durchgeführt werden können. Wichtigstes experimentelles Ergebnis ist, dass eine statische Parametrisierung einer „intelligenten“ Temperaturregelung möglich ist und daher eine Reduktion der notwendigen Produktmerkmale (und damit der Komplexität) erreicht werden kann. In Fallstudien wird am Ende der Arbeit nachgewiesen, dass alleine durch die automatische Erzeugung von Entwicklungsdokumenten und die konsistente Änderung vorhergehender Dokumente durch die in dieser Arbeit implementierten Werkzeuge ein Effizienzgewinn von 54 % erreicht werden kann. Die Erstellung der eingesetzten Werkzeuge hätte sich dabei bereits nach zwei ähnlichen Projekten bezahlt gemacht.
  • This thesis provides insights in how efficiency as well as quality improvements can be attained through the automation of software development activities and how such an automation helps in controlling the complexity of many of such activities. To start with, a solid basis for model-based software development is provided. After problems of metamodeling techniques that are currently in use have been identified, an improved multi-level modeling approach is suggested, in which the instantiatability (depth and automatism of the instantiation) of each model element can be explicitly provided by the developer. This leads to a drastic reduction of a metamodel’s complexity and thus supports an improved understandability. To operationally specify model transformations in the context of this multi-level modeling approach, the action language AL++ is designed. Especially through the introduction of language elements for handling relations as well as attributes and the inclusion of reflection mechanisms into AL++, transformations can be specified in a compact and generic form. These approaches are applied for the model-based development of reactive systems, for which an existing development method is extended, such that a thorough automation can be realized. The most important extension is the introduction of a modified technique for the modeling of extended finite state machines, which allows the specification of such automata by composing independently modeled state transitions, thus enabling the unambiguous traceability to requirements. The above techniques are used for the static analysis of specifications, where especially the automatic detection of feature interactions (i. e., critical interrelationships between a system’s features) is a novel contribution in the domain of reactive systems. Besides that, automated dynamic analyses on the basis of generated prototypes are considered. The results of the analysis are used for automatically modifying and reconstructing the prototypes, thus allowing for the execution of software development experiments in a „virtual laboratory“. The most important result is that a static parametrization of an “intelligent” temperature control system is feasible, thus reducing the number of features that have to be implemented, which in turn reduces the overall system complexity. Finally, through the evaluation of several case studies it is shown that solely by automatically creating development documents and keeping those documents consistent with each other through tools, an increase of efficiency of 54 % can be achieved. Also, it is estimated that the effort for creating the automation tools would already pay off after two consecutive projects of average size.

Download full text files

Export metadata

Additional Services

Search Google Scholar
Metadaten
Author:Andreas Metzger
URN:urn:nbn:de:hbz:386-kluedo-18521
ISBN:9783936890600
ISSN:1610-2673
Series (Serial Number):Schriftenreihe / Fachbereich Informatik (21)
Advisor:Gerhard Zimmermann
Document Type:Doctoral Thesis
Language of publication:German
Year of Completion:2004
Year of first Publication:2004
Publishing Institution:Technische Universität Kaiserslautern
Granting Institution:Technische Universität Kaiserslautern
Acceptance Date of the Thesis:2004/12/17
Date of the Publication (Server):2005/06/20
Tag:Automation; Modellierung; Objektorientierung; Qualität; Software
Automation; Modelling; Object-orientation; Quality; Software
GND Keyword:Software; Modellierung; Objektorientierung; Automation; Qualität
Faculties / Organisational entities:Kaiserslautern - Fachbereich Informatik
DDC-Cassification:0 Allgemeines, Informatik, Informationswissenschaft / 004 Informatik
Licence (German):Standard gemäß KLUEDO-Leitlinien vor dem 27.05.2011