title: Quality Assurance of Software Models - A Structured Quality Assurance Process Supported by a Flexible Tool Environment in the Eclipse Modeling Project
title: Qualitätssicherung von Softwaremodellen - Ein strukturierter Qualitätssicherungsprozess unterstützt durch eine flexible Werkzeugumgebung innerhalb des Eclipse Modeling Project
Creators: name: Arendt, Thorsten
Publisher: name: Philipps-Universität Marburg
Year: 2014
Subjects: Modellqualität
Modellmetriken
model smells
model metrics
Qualitätssicherung
model refactoring
quality assurance
Smells
Modell-Refactoring
Informatik
Model quality

description: 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.
description: 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.