Schlüsselwörter:
Softwareentwicklungsumgebung, Softwarearchitektur, Modularisierung, Sichten
software engineering environment, software architecture, repository, modularity, views
Sachgruppe der DNBAbstract
Software engineering environments are complex systems with special
requirements regarding modularity and adaptability.
This thesis describes the development of the environment PIROL.
The description is structured as a sequence of the following 12 concerns:
(1) Meta modeling is the basic concept by which PIROL decomposes its data
in accordance to an object-oriented data model. This allows arbitrary tools
to access data of other tools in a meaningful way.
(2) For persistent storage the model is mapped to the concepts of the
repository H-PCTE.
(3) The granularity of a meta model determines effectiveness and
efficiency of the system. PIROL supports hybrid modeling as a compromise
between extremes.
(4) By methods of the meta model behavior modeling is supported for
a wide range of tasks.
(5) Exception handling is supported systematically.
(6) Several mechanisms for preserving data integrity are integrated.
(7) The system follows a client-server architecture. As its, central
component the "workbench" executes the repository language LuaP.
(8) Control integration allows for close cooperation of loosely
coupled components by means of distributed control flows.
(9) The coordinated cooperation of multiple users is supported.
(10) Logical independence of tools is achieved by the novel concept
of Dynamic View Connectors.
(11) Common services are available throughout the environment
in a uniform way.
(12) The system is prepared for evolution.
All these concerns are tightly interlocked. A considerable share of
the presentation is dedicated to such mutual interactions.
Is is shown, how a large number of design decisions is motivated
exactly by these interactions. The description follows the
concept of a "Concern Interaction Matrix" which is proposed for
managing complexity. Characteristics of concerns and their interactions
are elaborated. The description of PIROL is completed by a list of
integrated tools, initial performance measurements and evaluation.
Finally, several concepts relating to the notion of "views" are
discussed. Views are a central concern of PIROL. Furthermore,
the discussion generalizes over the multi-dimensional presentation
in the body of this thesis. Notions, concepts and techniques for
views in software engineering are presented and discussed.
This discussion connects views in object-oriented databases,
aspect-oriented software development and general "concern modeling",
to which the method of "Concern Interaction Matrices" contributes.
Views are regarded as a central concept of software engineering at the
same level as abstraction and decomposition. Dynamic View Connectors
are a significant contribution of PIROL that combines database views
and aspect-oriented programming. The notion of "views" is defined
with far less precision than abstraction and decomposition, but indeed
by the overlap and mismatches, which can be captured by views, this
concept is a strong principle for structuring software and information.
Effort is needed for handling inconsistencies as they may arise, but
after all, views are a suitable means for managing the complexity of systems
and for designing these systems for evolution.
Software-Entwicklungsumgebungen sind komplexe Systeme mit besonderen
Anforderungen an Modularität und Anpaßbarkeit.
Diese Arbeit beschreibt die Entwicklung der Umgebung PIROL.
Die Beschreibung ist dabei in eine Abfolge der folgenden 12 Themen
gegliedert. (1) Metamodellierung ist das Grundkonzept, nach dem PIROL seine
Daten gemäß einem objektorientierten Datenmodell zerlegt, so daß beliebige
Werkzeuge auch auf die Daten anderer Werkzeuge auf sinnvolle Art und Weise
zuzugreifen können. (2) Das Metamodell wird zur persistenten Speicherung der
Daten auf Konzepte des Repositories H-PCTE abgebildet. (3) Die Granularität
eines Metamodells ist für die Effektivität und Effizienz des Gesamtsystems
entscheidend. PIROL unterstützt hybride Modellierung als Kompromiß beider
Extreme. (4) Durch Methoden des Metamodells wird Verhaltensmodellierung für
verschiedenste Aufgaben unterstützt. (5) Ausnahmebehandlung wird
systematisch unterstützt. (6) Verschiedene Mechanismen zur Wahrung der
Datenintegrität sind enthalten. (7) Das System wurde nach einer
Client-Server Architektur entwickelt, deren zentrale Komponente eine
"Workbench" ist, die die Repository-Sprache Lua/P ausführt. (8)
Steuerungsintegration erlaubt durch verteilte Steuerflüsse das enge
Zusammenspiel lose gekoppelter Komponenten. (9) Die koordinierte
Zusammenarbeit mehrerer Benutzer wird unterstützt. (10) Die logische
Unabhängigkeit von Werkzeugen wird durch das neue Konzept der Dynamic View
Connectors erreicht. (11) Allgemeine Dienste sind in der Umgebung
einheitlich verfügbar. (12) Das System unterstützt die Weiterentwicklung.
All diese Themengebiete sind sehr eng miteinander verzahnt und die
Darstellung ist zu großem Teil der gegenseitigen Beeinflussung gewidmet.
Es wird gezeigt, wie eine Großzahl der Entwurfsentscheidungen
genau aus diesen Beeinflussungen motiviert sind. Die Beschreibung folgt
damit dem Konzept der "Concern Interaction Matrix", das hier zur Bewältigung
von Komplexität vorgeschlagen wird. Dabei werden Charakteristika einzelner
Anliegen und einzelner Zusammenhänge herausgearbeitet. Die Beschreibung
PIROLs wird durch die Liste der integrierten Werkzeuge, Ansätze von
Laufzeit-Messungen und einige Betrachtungen zur Beurteilung abgerundet.
Abschließend werden verschiedene Konzepte rund um den Begriff "Sichten"
erörtert. Sichten sind ein zentrale Anliegen von PIROL.
Außerdem generalisiert die Diskussion über die mehrdimensionale
Darstellung des Hauptteiles. Es werden Begrifflichkeit, Konzepte und
Techniken für Sichten in der Softwaretechnik
vorgestellt und diskutiert. Dabei wird die Brücke geschlagen von Sichten in
objektorientierten Datenbanken, über aspekt-orientierte Softwareentwicklung
bis hin zum allgemeinen "Concern Modeling", zu dem die o.g. Methode einen
Beitrag leisten soll. Sichten werden dabei als ein zentrales Konzept der
Softwaretechnik neben Abstraktion und Zerlegung beurteilt. Dynamic View
Connectors sind ein wesentlicher Beitrag von PIROL, durch den
Datenbanksichten und aspektorientierte Programmierung zusammengeführt
werden. Zwar ist der Sichten-Begriff längst nicht so scharf definiert, wie
die Begriffe Abstraktion und Zerlegung, aber gerade die Überlappungen und
Diskrepanzen, die durch Sichten abgebildet werden können, machen dies
Konzept zu einem starken Strukturierungsprinzip, das zwar einigen Aufwand
zur Behandlung von Inkonsistenzen erfordert, aber andererseits hilft,
komplexe Systeme handhabbar und wartbar zu gestalten.
Gutachter | Jähnichen, Stefan; Prof. Dr.-Ing. |
Gutachter | Mezini, Mira; Prof. Dr.-Ing. |
Upload: | 2002-11-05 |
URL of Theses: | http://edocs.tu-berlin.de/diss/2002/herrmann_stephan.pdf |