Archimate-UML Integration


This report is my view on the proposal to extend Unified Modeling Language (UML) with Archimate. It describes the essence of these modeling languages and analyses of the proposed extension of UML.  
 

Introduction

Archimate

Archimate is an enterprise architecture modelling language, started by a consortium of companies and knowledge institutes, directed by the Telematica instituut. Archimate has been designed to describe coherence between multiple architectural disciplines, making it the modelling language used for Enterprise Architecture.
Many concepts used in Archimate are derived from or related to UML, though now evolved into their own set of concepts.


Unified Modeling Language (UML)

UML is a software modelling language, introduced by the Open Management Group. UML provides a language for modelling and documenting software architectures. It provides a standard that helps to visualize and structure software design throughout all phases of software design (e.g. scope, design, code, document).

 

Analyses

A proposal has been submitted to the OMG to extend UML with Archimate to make it more suitable for modeling Enterprise Architecture. Taking this proposal into account, the following strength and weakness can be distinguished when integrating Archimate into UML:

 

Strengths

Toolset completeness
Extending the possibilities of UML with the Archimate will make UML more suitable for enterprise architecture modelling. Archimate will add the tools to achieve a higher level of abstraction than pure software architecture.

 

Weaknesses

Point of focus
Archimate has been designed to describe the coherence between multiple architectural domains and therefore focuses on a generic modelling language that spans generic and enterprise concepts, the top two levels of the Archimate pyramid (see figure 1). UML has been designed for a domain-specific concept, focussing purely on software architecture, the lowest level of the Archimate pyramid. The integration will likely result in loss of the objective of the Archimate modeling language with a high-over view of enterprise architecture and focus more on the coupling of UML with other modeling languages.
Best-of-breed
Currently UML and Archimate are best-of-breed in their own field of expertise. Integrating Archimate into UML will result in compromise of both languages. The UML development team will be forced to adopt a higher abstraction level of modeling, resulting in loss of it’s detailed modeling aspects.

Summarizing

When combining both strengths and weaknesses we conclude that the integration of Archimate into UML has more weaknesses than strengths. This results in a negative advice for Archimate-UML integration. Integration will result in a more complete toolset, but at the cost of losing UML detail and Archimate high-over focus. The integration can easily result in gradual loss of focus on enterprise architecture.
We do see a possibility in offering a toolkit that makes best use of both modelling languages. This toolkit should enforce mapping between modelling languages instead of integration, keeping the Archimate generic focus and providing the tools to ‘zoom-in’ on detail modeling languages like UML and Business Process Modeling Notation (BPMN).

 

Conclusion

Archimate has the objective to provide a mechanism to couple models, whereas UML is a detailed software modeling language. Combining both modeling languages will likely result in loss of UML details and Archimate high-over aspects.
Further investigation should be done to offer a toolkit that uses the high-over capabilities of Archimate combined with functionality to relate to more detailed models.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s