Publikationsserver der Universitätsbibliothek Marburg

Titel:Quality Assurance of Software Models - A Structured Quality Assurance Process Supported by a Flexible Tool Environment in the Eclipse Modeling Project
Autor:Arendt, Thorsten
Weitere Beteiligte: Taentzer, Gabriele (Prof. Dr.)
Erscheinungsjahr:2014
URI:http://archiv.ub.uni-marburg.de/diss/z2014/0357
DOI: https://doi.org/10.17192/z2014.0357
URN: urn:nbn:de:hebis:04-z2014-03572
DDC: Informatik
Titel(trans.):Qualitätssicherung von Softwaremodellen - Ein strukturierter Qualitätssicherungsprozess unterstützt durch eine flexible Werkzeugumgebung innerhalb des Eclipse Modeling Project

Dokument

Schlagwörter:
model smells, Qualitätssicherung, Modell-Refactoring, Modellmetriken, Model quality, quality assurance, Modellqualität, model metrics, model refactoring, Smells

Summary:
The paradigm of model-based software development (MBSD) has become more and more popular since it promises an increase in the efficiency and quality of software development. In this paradigm, software models play an increasingly important role and software quality and quality assurance consequently leads back to the quality and quality assurance of the involved models. The fundamental aim of this thesis is the definition of a structured syntax-oriented process for quality assurance of software models that can be adapted to project-specific and domain-specific needs. It is structured into two sub-processes: a process for the specification of project-specific model quality assurance techniques, and a process for applying them on concrete software models within a MBSD project. The approach concentrates on quality aspects to be checked on the abstract model syntax and is based on quality assurance techniques model metrics, smells, and refactorings well-known from literature. So far, these techniques are mostly considered in isolation only and therefore the proposed process integrates them in order to perform model quality assurance more systematically. Three example cases performing the process serve as proof-of-concept implementations and show its applicability, its flexibility, and hence its usefulness. Related to several issues concerning model quality assurance minor contributions of this thesis are (1) the definition of a quality model for model quality that consists of high-level quality attributes and low-level characteristics, (2) overviews on metrics, smells, and refactorings for UML class models including structured descriptions of each technique, and (3) an approach for composite model refactoring that concentrates on the specification of refactoring composition. Since manually reviewing models is time consuming and error prone, several tasks of the proposed process should consequently be automated. As a further main contribution, this thesis presents a flexible tool environment for model quality assurance which is based on the Eclipse Modeling Framework (EMF), a common open source technology in model-based software development. The tool set is part of the Eclipse Modeling Project (EMP) and belongs to the Eclipse incubation project EMF Refactor which is available under the Eclipse public license (EPL). The EMF Refactor framework supports both the model designer and the model reviewer by obtaining metrics reports, by checking for potential model deficiencies (called model smells) and by systematically restructuring models using refactorings. The functionality of EMF Refactor is integrated into standard tree-based EMF instance editors, graphical GMF-based editors as used by Papyrus UML, and textual editors provided by Xtext. Several experiments and studies show the suitability of the tools for supporting the techniques of the structured syntax-oriented model quality assurance process.

Zusammenfassung:
Das Paradigma der modellbasierten Softwareentwicklung (MBSD) erfreut sich immer zunehmender Beliebtheit, da es eine Steigerung von Effizienz und Qualität in der Softwareentwicklung verspricht. Folgedessen spielen Softwaremodelle eine immer wichtigere Rolle und die Themen Qualität und Qualitätssicherung von Software werden somit zurückgeführt auf die Themen Qualität und Qualitätssicherung der beteiligten Modelle. Der grundlegende Inhalt dieser Arbeit ist die Definition eines strukturierten, syntaxorientierten und an projektspezifische bzw. domänenspezifische Bedürfnisse anpassbaren Prozesses für die Qualitätssicherung von Softwaremodellen. Dieser Prozess besteht aus zwei Teilprozessen. Im ersten Prozess werden projektspezifische Techniken für die Qualitätssicherung spezifiziert, die anschließend mit Hilfe des zweiten Prozesses an konkreten Softwaremodellen während eines MBSD Projektes angewendet werden können. Der Ansatz konzentriert sich dabei auf diejenigen Qualitätsaspekte, die auf der abstrakten Syntax des Modells überprüft werden können und benutzt die aus der Forschungsliteratur bekannten Qualitätssicherungstechniken Modellmetriken, Smells und Refactorings, die bis dato jedoch nur se-parat betrachtet wurden. Der vorgeschlagene Prozess integriert jetzt diese Techniken auf strukturierte Weise und ermöglicht so eine systematische Qualitätssicherung von Softwaremodellen. Drei ausgesuchte Beispiele mit unterschiedlichen Modellierungssprachen dienen als Proof-of-Concept Implementierungen des Prozesses und zeigen die Eignung, die Flexibilität und somit die Zweckmäßigkeit des Ansatzes. Im Zusammenhang mit der Thematik Qualitätssicherung von Softwaremodellen beinhaltet die Arbeit zudem die folgenden zusätzlichen Beiträge: (1) die Definition eines Qualitätsmodells für Modellqualität, (2) Übersichten über Metriken, Smells und Refactorings für UML-Klassenmodelle inklusive strukturierter Beschreibungen dieser Techniken sowie (3) einen konzeptionellen Ansatz für die Spezifikation von komponierten Modell-Refactorings. Der hohe Zeitaufwand und die potentielle Fehleranfälligkeit von manuell durchgeführten Modellanalysen erfordern eine weitgehende Automatisierung verschiedener Aktivitäten des vorgeschlagenen Qualitätssicherungsprozesses. Ein weiterer Hauptbeitrag dieser Arbeit ist die Entwicklung einer flexiblen Werkzeugumgebung für die Qualitätssicherung von Modellen, die auf dem Eclipse Modeling Framework (EMF), einer weit verbreiteten open-source Technologie im Bereich der modellbasierten Softwareentwicklung, basieren. Die Werkzeuge sind Teil des Eclipse Modeling Project (EMP) und gehören zum offiziellen Inkubations-Projekt EMF Refactor, das unter der Eclipse Public License (EPL) zur Verfügung gestellt wird. Das Framework unterstützt Modellierer und Analysten bei der Erstellung von Metrikenberichten, dem Auffinden sogenannter Model Smells sowie der systematischen Restrukturierung der Modelle durch Refactorings. Die Funktionalität von EMF Refactor ist dabei in die baumbasierten EMF Instanzeditoren, in die auf GMF basierenden grafischen Editoren und in die von Xtext bereitgestellten textuellen Modelleditoren integriert. Verschiedene Experimente und Studien zeigen die Zweckmäßigkeit und die Eignung der Werkzeuge für die Unterstützung der Techniken in dem zuvor beschriebenen syntaxorientierten Qualitätssicherungsprozess für Softwaremodelle.


* Das Dokument ist im Internet frei zugänglich - Hinweise zu den Nutzungsrechten