Abstract:
Die vorliegende Dissertation präsentiert eine automatische domänenübergreifende Wartbarkeitsanalyse basierend auf der Architektur der Systeme, in deren Entwicklung und Evolution verschiedene Domänen zusammenarbeiten müssen.
Eine der integralen Eigenschaften software-intensiver technischer Systeme ist ihre Langlebigkeit. Langlebige Systeme unterliegen kontinuierlichen Anpassungen aufgrund externer Änderungen, wie Änderungen ihrer Umgebung, oder auch interner Änderungen, wie zum Beispiel Fehlerbeseitigungen. Die Eigenschaft des Systems, die angibt, welcher Aufwand erforderlich ist, um ein System gemäß eines gegebenen Änderungsszenarios zu ändern, wird als Wartbarkeit bezeichnet. ... mehrSomit ist Wartbarkeit ein wichtiges Qualitätsattribut langlebiger Systeme.
Eine initiale Änderung an einem Element im System kann weitere Änderungen an anderen Systemelementen zur Folge haben. Stammen die betroffenen Systemelemente aus mehreren Domänen, wie zum Beispiel aus den Domänen der Informationssysteme, Geschäftsprozesse oder automatisierten Produktionssysteme, können sich die Änderungen auch über mehrere Domänen hinweg mit Abhängigkeiten in alle Richtungen ausbreiten. Ein automatisiertes Produktionssystem kann zum Beispiel aus mechanischen und elektrischen Bauteilen, sowie Steuerungssoftware bestehen. Eine Änderung an mechanischen und/oder elektrischen Bauteilen, wie zum Beispiel Sensoren, kann zu Folgeänderungen in der entsprechenden Steuerungssoftware führen. Zudem gibt es viele unterschiedliche Möglichkeiten, wie eine Änderungsanfrage in einem System umgesetzt werden kann. Verschiedene Möglichkeiten zur Umsetzung einer Änderungsanfrage können zu verschiedenen Änderungsaufwänden, sowie unterschiedlichen Systemen bezüglich ihrer Qualitätsattribute führen. Das Abschätzen der Änderungsfolgen hat deshalb besondere Relevanz im Entscheidungsprozess. Jedoch können manuelle Änderungsabschätzungen mit hohem Zeit- und Kostenaufwand verbunden sein. Somit kann eine automatische und domänenübergreifende Änderungsausbreitungsanalyse vor der Umsetzung einer Änderungsanfrage die Vorhersage der Änderungsaufwände und den Entscheidungsfindungsprozess zu deren Umsetzung unterstützen.
Eine Möglichkeit zur automatischen Änderungsausbreitungsanalyse ist ein modell-, sowie szenariobasierter Ansatz zur Wartbarkeitsabschätzung, der Systeme aus mehreren Domänen berücksichtigt. Jedoch konzentrieren sich bestehende modellbasierte und szenariobasierte Ansätze meist auf die Änderungsausbreitung in einer Domäne und vernachlässigen Änderungsaufwände der Elemente aus Domänen, die in einer gegenseitigen Abhängigkeitsbeziehung zur betrachteten Domäne stehen. Dies führt zu einer unzureichenden Abschätzung der Änderungsauswirkungen.
Die vorliegende Dissertation stellt eine generische Methode für eine automatische und domänenübergreifende Änderungsausbreitungsanalyse vor. Durch die Instanziierung der generischen Methode in verschiedenen Domänen kann ein vollständiger Ansatz zur automatischen Änderungsausbreitungsanalyse in der jeweiligen Domäne erstellt werden. Somit hat die generische Methode zum Ziel, den Entwicklungsprozess einer modellbasierten Änderungsausbreitungsanalyse durch die Wiederverwendung von bestehenden Konzepten zu verbessern. Die generische Methode basiert auf dem Karlsruhe Architectural Maintainability Prediction (KAMP) Ansatz zur Änderungsausbreitungsanalyse in Informationssystemen. Weitere Beiträge dieser Dissertation können wie folgt zusammengefasst werden: i) Software-Systeme sind integrale Bestandteile der Geschäftsprozesse moderner Unternehmen. Daher beeinflussen sich Software-Systeme und Geschäftsprozesse gegenseitig während der Evolution. Angesichts komplexer gegenseitiger Beeinflussung bietet der Ansatz als eine Instanz der generischen Methode und eine Erweiterung des KAMP-Ansatzes eine automatische Änderungsausbreitungsanalyse in den sich gegenseitig beeinflussenden Domänen der Informationssysteme und der Geschäftsprozesse. ii) Basierend auf Metamodellen zur Darstellung von mechanischen und elektrischen Teilen, als auch der Steuerungssoftware im Standard IEC 61131-3 für speicherprogrammierbare Steuerungen wurde ein weiterer Ansatz (ebenfalls als eine Instanziierung der generischen Methode) für die Domänen der automatisierten Produktionssysteme entwickelt. Mit dem Ansatz ist es möglich Änderungen über Systemelemente aus mehreren Sub-Domänen von automatisierten Produktionssystemen zu verfolgen, um eine umfassende Liste von Wartbarkeitsaufwänden zu erstellen. iii) Die Änderungsauslöser können sich entweder auf Architekturmodellebene oder auf Anforderungsebene befinden. Basierend auf Modellen zur Erfassung von Anforderungen und Entwurfsentscheidungen in der Domäne der Informationssysteme, Geschäftsprozesse, sowie automatisierten Produktionssysteme wurden die bestehenden Instanzen der generischen Methode zur Berücksichtigung von Anforderungsänderungen erweitert. Somit ergänzt dieser Beitrag die bisherigen Beiträge bezüglich der domänen-spezifischen Änderungsausbreitungsanalysen. iv) Die Änderungsausbreitung in den Instanzen der Methode wird durch Änderungsausbreitungsregeln betrachtet. Hierzu wurde eine domänenspezifische Sprache zum Beschreiben der häufig benutzten Änderungsausbreitungsregeln zur besseren Lesbarkeit der Regeln sowie zur Vermeidung von technischem Code vorgestellt. v) Weiter wurde ein mehrdimensionales Kategorisierungsschema für die Änderungsauslöser in Geschäftsprozessen basierend auf den Ergebnissen einer umfassenden Literaturrecherche vorgestellt.
Die Beiträge dieser Dissertation zur automatischen Änderungsausbreitungsanalyse wurden anhand von Fallstudien in der jeweiligen Domäne evaluiert. Für jede Fallstudie wurde die Genauigkeit der Ergebnisse des jeweiligen Ansatzes im Vergleich zu manuell erstellten Ergebnissen angegeben. Zudem wurde die Aufwandsersparnis durch eine automatische Änderungsausbreitungsanalyse anhand des Vergleichs zweier Metriken gezeigt: i) Die erste Metrik repräsentiert die Rate der Anzahl der tatsächlich zu ändernden Modellelemente zur Anzahl der gesamten Modellelemente. ii) Die zweite Metrik repräsentiert die Rate der Anzahl der vom Ansatz vorgeschlagenen Modellelemente zur Anzahl der gesamten Modellelemente. Für die Validierung des Ansatzes zur automatischen Änderungsausbreitungsanalyse in den Domänen der Informationssysteme und der Geschäftsprozesse wurde basierend auf den Ergebnissen der systematischen Literaturrecherche zur Ermittlung der Änderungsauslöser in Geschäftsprozessen repräsentative Änderungsauslöserklassen identifiziert. Diese repräsentativen Änderungsauslöserklassen wurden jeweils auf die Community-Fallstudien "Common Component Modeling Example (CoCoME)" und "modular Rice University Bidding System (mRUBiS)" angewendet. Für die externe Validität der Methode wurde die Domäne der automatisierten Produktionssysteme betrachtet. Hierzu wurde die Instanz der Methode zur automatischen Änderungsausbreitungsanalyse in der Domäne der automatisierten Produktionssysteme auf die Community-Fallstudie "extended Pick and Place Unit (xPPU)" angewendet. Die betrachtete Anlage beinhaltet die elektrischen und mechanischen Bauteile sowie die Steuerungssoftware im Standard IEC 61131-3 für speicherprogrammierbare Steuerungen.
Abstract (englisch):
This thesis presents an architecture-based and model-based approach to change propagation analysis of software-intensive technical systems, which considers heterogeneous elements from different domains.
One main property of software-intensive technical systems is sustainability. Sustainable systems have to continuously change due to internal change triggers, such as error corrections, or external change triggers, such as changing environments. The quality attribute, which is concerned with the propagation of a change in a system, is referred to as maintainability. Thus, maintainability can be considered as a relevant quality attribute of sustainable systems.
... mehr
A change to an element of a system can result in further changes to other system elements. If system elements belong to different domains (e.g., information systems, business processes, or automated production systems), changes can propagate across several domains. For example, an automated production system can involve mechanical and electrical/electronic components, as well as control software. If mechanical and/or electrical/electronic components such as sensors change, they can also affect the corresponding control software. Additionally, there are different ways to implement a change request. This can lead to different implementation costs and can affect the quality attributes of the changed system. Estimating the affected elements in advance can support the process of decision making by analyzing the effects of a change in advance. However, manual estimation of changes can be costly and time-consuming. Hence, there is a need for an approach, which can automatically analyze the change propagation across different domains.
One possible category of approaches addressing this issue is based on models to analyze the change effort in different scenarios. However, most approaches in this category mainly focus on the change propagation in only one domain. They neglect the effort of changing affected elements in other domains. Neglecting affected elements results in inadequate change effort estimation.
To address the aforementioned issues, this thesis presents a generic methodology to support automated change propagation across several domains. The generic methodology can be instantiated in a specific domain to obtain a change propagation analysis approach in this domain. Thus, the generic methodology aims at improving the development process of a model-based change propagation analysis approach by reusing the existing concepts and best practices. The generic methodology is based on the Karlsruhe Architectural Maintainability Prediction (KAMP) approach, which is concerned with the change propagation analysis in information systems. Further main contributions of this thesis are as follows: i) Software systems are a main part of business processes of organizations. Thus, they affect each other during the evolution in a mutual way.
For this purpose, the methodology was instantiated in business processes as an extension of the KAMP approach to consider these mutual effects during the change impact analysis. ii) A further approach was developed as an instance of the methodology to support the change propagation in automated production systems based on the metamodels of mechanical and electrical/electronic components, as well as control software according to the IEC 61131-3 standard. Thus, this approach enables the analysis of the change propagation in system elements from different sub-domains of automated production systems. iii) The previous approaches to change propagation analysis in information systems, business processes, and automated production systems consider the change propagation caused by a change request at system level. However, the change requests can in general be specified at requirements level. Thus, this contribution complements the previous contributions by extending the existing instances of the methodology to include the requirements changes. These extensions are based on models representing requirements and design decisions. iv) Instances of the methodology use change propagation rules to estimate the effects of a change. To avoid the recurring technical code and to improve the readability of the change propagation rules, a domain-specific rule language was developed. v) A new comprehensive and multidimensional categorization of change triggers in business processes was developed based on the results of a literature review.
The contributions of this thesis regarding the change propagation analysis were evaluated using case studies in each domain. The precision and the recall of the automatically generated results for different case studies were calculated by comparing the tasks of the generated results to implement the change scenarios with the corresponding manually created task lists. Additionally, to evaluate the effort reduction by an automated approach to change propagation analysis, the following two metrics were compared: i) the ratio of the number of model elements, which have to be considered manually, to the number of all model elements, and ii) the ratio of the number of model elements generated by the automated approach in each domain to the number of all model elements. In information systems and business processes, the community case studies "Common Component Modeling Example (CoCoME)" and "modular Rice University Bidding System (mRUBiS)" were used. A set of change scenarios for each case study was created based on the aforementioned category of change triggers in business processes to evaluate the corresponding approach. To analyze the external validity of the generic methodology, the automated production systems were considered. For this purpose, the instance of the generic methodology in this domain was applied to the community case study "extended Pick and Place Unit (xPPU)", which represents a lab-size plant. This plant consists of mechanical and electrical/electronic components, as well as control software according to the IEC 61131-3 standard.