[Back]


Doctor's Theses (authored and supervised):

I. Feinerer:
"A Formal Treatment of UML Class Diagrams as an Efficient Method for Configuration Management";
Supervisor, Reviewer: G. Salzer, G. Kappel; E 185 Institut für Computersprachen, 2007; oral examination: 2007-03-23.



English abstract:
The concept of a configuration describes the arrangement of functional units according to their nature, number, and chief characteristics. Functional units may be software or hardware components like computer programs, electronic circuits, or parts of a machine. Configuration management is concerned with the specification of admissible arrangements in a natural way and with setting them up according to certain criteria of optimality. Typical problems to solve are the satisfiability of specifications and the minimality of computed configurations. The steady increase in the size of specifications and the demand for real-time computations require efficient methods to attack these problems.

The Unified Modeling Language has become a widely accepted standard in industry and offers features capable of modelling real-world situations in configuration management. Many (software) engineers are already acquainted with UML. Therefore we use UML as basis for our considerations and define a formal semantics and the notions of consistency and minimality. We present efficient methods for checking the consistency of UML class diagram specifications and for finding minimal solutions of UML configurations. We discuss both binary association types with uniqueness constraints and association types of
higher arity which need special treatment due to the special UML semantics. We also discuss the problem of updating UML configurations incrementally.

German abstract:
Eine Konfiguration beschreibt die Anordnung funktionaler Einheiten nach deren Natur, Anzahl und Schlüsseleigenschaften. Dabei sind unter funktionalen Einheiten Software- oder Hardwarekomponenten wie Computerprogramme, elektronische Schaltkreise, oder Module eines Rechners zu verstehen. Der Begriff "Configuration Management" bezeichnet dabei die Spezifikation von zulässigen Anordnungen in für den Benutzer möglichst einfacher Form und die Anordnung der spezifizierten Elemente nach bestimmten Optimalitätskriterien. Dazu gehören etwa die Erfüllbarkeit von Spezifikationen oder die Minimalität der berechneten Konfigurationen. Die Überprüfung und Berechnung von Konfigurationen erfordert effiziente Methoden, da die Bearbeitung der immer größer werdenden Konfigurationen zunehmend in Echtzeit erfolgen soll.

Die "Unified Modeling Language" ist ein industrieweit anerkannter Standard geworden und stellt Sprachelemente zur Verfügung, wie sie in realen Anwendungen des "Configuration Management" benötigt werden. Hinzu kommt, dass sehr viele Software Entwickler bereits mit UML vertraut sind. Deshalb verwenden wir UML als Basis für unsere Betrachtungen, wozu wir für UML eine formale Semantik entwickeln und darauf aufbauend die Begriffe der Konsistenz und Minimalität definieren. Es werden Methoden zur effizienten Berechnung zur Konsistenzprüfung von UML Klassendiagrammen als auch zum Finden von minimalen Lösungen von UML Konfigurationen vorgestellt. Dabei werden sowohl binäre Verbindungstypen als auch Verbindungstypen höherer Stelligkeit betrachtet, wobei letztere aufgrund der speziellen UML Semantik eine Sonderbehandlung brauchen. Zusätzlich wird die inkrementelle Erweiterbarkeit von UML Konfigurationen andiskutiert.

Keywords:
Configuration management, Unified Modeling Language, Class diagrams


Electronic version of the publication:
http://publik.tuwien.ac.at/files/pub-inf_4582.pdf


Created from the Publication Database of the Vienna University of Technology.