Reconciled Modeling

Das Protokoll 'Reconciled Modeling', das auch als Modellierung mit der Bezeichnung 'Architecture Reconciliation' (Architekturabgleich) bezeichnet wird, ähnelt den konzeptionellen Modellen von 'Mixed Modeling', in denen konzeptionelle Modelle erhalten bleiben und iterativ in einem Entwicklungsprozess erweitert werden. Die konzeptionellen semantischen Elemente werden jedoch im Verlauf einer Umsetzung nicht durch Verweise auf die Codeelemente ersetzt.

Dieser Ansatz unterstützt Unternehmen mit einer klaren Governancekultur bei der Entwicklung einer detaillierten und semantisch reichhaltigen Menge an konzeptionellen UML-Modellen, die ein System beschreiben.

Architekten können aus diesen Modellen Code generieren und den Code neu generieren, wenn sich ein Modell verändert. Wenn ein Architekt ein detailliertes Modell mit UML auf Klassenebene erstellt hat, kann er direkt auf dieses konzeptionelle Modell eine Umsetzung anwenden, um die Codestruktur zu generieren. In vielen Fällen kann der Architekt die Umsetzung auf den tatsächlichen Kompilierungscode für die Anwendung anwenden.

Anschließend entwickelt der Entwickler die Implementierung innerhalb der strukturellen Vorgaben des neuen Codemodells, indem er den Code visuell in UML-Diagrammen mit Notationen oder mit Hilfe eines Codeeditors bearbeitet. Wenn die Struktur des Codemodells geändert werden muss oder wenn ein Entwickler Bedenken in Bezug auf die übergeordnete Gestaltung des Systems hat, kann der Architekt die vorgeschlagene Änderung überprüfen und direkt in das UML-Modell implementieren.

Auf den entstehenden Code wird eine Rückwärtsumsetzung angewendet, wodurch temporäre UML-Modelle entstehen, die anschließend mit den Entwicklungsständen der ursprünglichen UML-Modelle verglichen werden. Dieser Vergleich wird auch 'Abstimmen' genannt. Mit diesem Konzept lässt sich leicht feststellen, ob die Implementierung von den Entwurfsvorgaben abweicht, und dem Architekten bietet sich die Möglichkeit, Änderungen vorzunehmen.

Rückwärtsumsetzungen können im Entwicklungszyklus mehrfach durchgeführt werden und ermöglichen eine exakte Kontrolle der Einhaltung der Entwurfsvorgaben. Das UML-Modell kann somit als Master-Modell angesehen werden, da es im Verlauf des gesamten Entwicklungsprozesses fortlaufend weiterentwickelt wird.

Wenn der Architekt die UML-Modelltransformation erneut anwendet, wird der vorhandene Code überschrieben; hierbei muss der Architekt darauf achten, dass nicht die detaillierte Arbeit des Entwicklers überschrieben wird. In diesem Arbeitsablauf generiert der Architekt die Gestaltungsaspekte mindestens einer Anwendung und lässt dabei nur wenig Spielraum für die restlichen manuellen Codierungsaktivitäten, durch die architekturrelevante Aspekte geändert werden könnten oder für Änderungen, die gegen die Entwurfsvorgaben verstoßen könnten.

Anwendung

Das Protokoll 'Reconciled Modeling' eignet sich am besten für ausgesprochen kritische Anwendungen und für Umgebungen, in denen großer Wert auf die Anforderungs- und Konformitätsdokumentation gelegt wird. Dieses Protokoll bietet den Unternehmen die meisten Vorteile, die eine starke Architektursteuerung praktizieren, in denen die Schnittstellen extensiv von Architekten festgelegt werden und in denen die Entwickler diese Vorgaben genau einhalten müssen.

Dieses Konzept kann verwendet werden, wenn alle architekturrelevanten Aspekte einer Implementierung aus der Modellspezifikation abgeleitet werden können und wenn die Verwendung der automatisierten Umsetzung und in manchen Fällen auch vordefinierter Entwurfsmuster von besonderer Bedeutung ist. Dieser Arbeitsablauf ist besonders geeignet, wenn die Entwurfsarbeit unternehmensintern durchgeführt wird, die Implementierung jedoch ausgelagert erfolgt; er eignet sich auch dann besonders, wenn ein architektonisches Framework aus mehreren Anwendungen besteht (wie zum Beispiel in Projekten der serviceorientierten Architektur (SOA)) und somit zwischen den Anwendungen, Komponenten und Services ein hohes Maß an Übereinstimmungen vorhanden ist.

Vorteile

Mit 'Reconciled Modeling' können Architekten vollständige detaillierte Ausdrücke der Architekturplanung einer Anwendung erhalten. 'Reconciled Modeling' lässt den Entwicklern zwar einen gewissen kreativen Freiraum, die guten Überwachungsmöglichkeiten durch den Architekten stellen jedoch sicher, dass Abweichungen von den Anforderungen schnell aufgelöst oder geändert werden. Die Architekten verfügen über Tools zum Vergleichen und Gegenüberstellen von Entwurf und Code, da die Modelle aus dem ursprünglichen Entwurf nicht ersetzt werden. 'Reconciled Modeling' bietet, wie schon aus dem Namen hervorgeht, ein solides funktionstüchtiges Modell zur Verwaltung von Änderungen an der Architektur.

Hinweise

'Reconciled Modeling' lässt den Entwicklern nur wenig kreativen Spielraum. Bei 'Reconciled Modeling' können Modelle kostenintensiv sein, da sie verwaltet werden müssen. Die Rückumsetzung der Implementierung zum Vergleichen des Codes mit den zu Beginn festgelegten Entwurfszielen kann ebenfalls kostenintensiv sein. Unternehmen, die sich für dieses Konzept entscheiden, müssen Architekten beschäftigen, die über Kenntnisse der UML-Semantik verfügen und eine vollständige Anwendung mit Hilfe einer detaillierten UML-Syntax entwerfen können.


Rückmeldung