Erfolgreiche Software Projekte legen besonders Wert auf ihre Software Architektur: die Strukturierung der Bestandteile und die Weise wie diese interagieren. Ohne einem passendem Architektur Design schlägt die Software Entwicklung fehl. Die Architektur Dokumentation vermittelt das gemeinsame Verständnis der wichtigen Design Entscheidungen, die während der Entwicklung getroffen wurden. Jedoch ist die Adaptierung eines Architektur-zentralen Entwicklungsansatzes in der Industrie weiter eine Herausforderung, da gute bewährte Formalismen und Toolunsterstützung fehlen. So werden Architektur-Beschreibungen nur mittels informellen Notationen skizziert, so dass in der Praxis das Architektur Design kaum mit der aktuellen Implemenetierung übereinstimmt. Dadurch ergibt sich eine Kluft zwischen der konzeptionellen Software Architektur, welche in den Köpfen der Entwickler existiert, und der konkreten Architektur, welche sich in der Implementierung verbirgt. Desto mehr sich diese Kluft ausweitet, desto weniger wirkungsvoll ist die Software Architektur.<br />Architecture Reconstruction ist eine Methodik zur Gewinnung der Architektur Beschreibung aus den vorhandenen Hinweisen in der Implementierung. Die dafü am zuverlässigste Informationsquelle ist das System selbst, unter anderem der Source Code oder Execution Traces. Andere Quellen schliessen die vorhandenen Design Dokumentation, Domain Wissen und Interviews mit den System Experten mit ein.<br />Diese Dissertation präsentiert eine Methode zur Rekonstruktion der Architektur, genannt Nimeta, welche auf der Wiederherstellung von archikturell signifikanten Views beruht. Der Rekonstruktionsprozess von Nimeta betont die gewissenhafte Selektion der architekturellen Konzepte als erstklassige Objekte und der signifikanten Views der Zielarchitektur, welche die Belange der Stakeholders reflektieren.<br />Der von Nimeta verwendetet Formalismus basiert auf Binary Relational Algebra zur Definion der Viewpoints, der Abstraktionsregeln und Automatisierung der Checks für die Architektur-Übereinstimmung.<br />
de
Successful software projects pay a careful attention to their software architecture: the structure of the constituent parts and the ways they interact. Without a properly designed architecture, the software development is likely to stumble. The architecture documents the shared understanding of the important design decisions taken during the development.<br />However, the industrial adoption of an architecture-centric development approach is still challenged by the lack of a well-established formalism and tool support. Architecture descriptions are sketched with informal notations and, in practice, the architectural designs are unlikely to conform with the actual implementation. This yields to a chasm between the conceptual software architecture that exists in the minds of the developers and the concrete architecture that is hidden in the implementation. The more this chasm widens, the less effective the software architecture is.<br />Architecture reconstruction is the methodology for obtaining a documented architecture description from the available evidence of the implementation. The most reliable source of information is the system itself like the source code or execution traces. Other sources include the existing design documentation, domain knowledge and interviews with system experts. This dissertation proposes a method, called Nimeta, for architecture reconstruction based on the recovery of the architecturally significant views. Nimeta's reconstruction process emphasizes the scrupulous selection of (1) the architectural concepts as first-class objects, and (2) the target architecturally significant views reflecting the stakeholders' interests. Nimeta's formalism is based on the binary relational algebra for defining the viewpoints, the abstraction rules and for automating the architectural conformance checking.