When to consider the use of ArchiMate?
The Open Group recently released the ArchiMate 2.1 specification; I think that there are five principle reasons to consider using the notation to describe the architecture of your enterprise. By design, ArchiMate is focused toward:
- Providing a high-level of abstraction
- Facilitating the construction of a layered enterprise architecture
- Illustrating how business concepts are supported by IT systems, comprising both hardware and software
- Tracing stakeholder concerns through to their realisation by the enterprise architecture
- Showing the possible, and actual, evolution of an enterprise architecture through a number of recognisable intermediate states.
How does ArchiMate handle these things?
- Identify the specific types of things that are pertinent
- Identify the relationships between the types of things
- Provide a graphical notation to illustrate the above
Types of concept
ArchiMate divides the specific types of things to be modelled into three core layers:
- Business concepts (including actor, role, function, process, service and interface)
Figure 1: A subset of the business layer concepts
- Application concepts (including component, function, service and interface)
Figure 2: A subset of application layer concepts
- Technology concepts (including device, system software, function and interface)
Figure 3: A subset of the technology layer concepts
ArchiMate supplements the core types of things with two extensions for:
- Motivation (including driver, goal, requirement, principle and constraint)
- Implementation and migration (work package, deliverable, plateau and gap)
Relationships between concepts
ArchiMate specifies ten types of relationship that may be used between elements:
- Used by
ArchiMate specifies the set of valid relationships that may exist between concepts. Relationships are restricted for both concepts belonging within a single core layer or extension, and also across layers. The detailed specification of all valid relationships between types is tabulated in Appendix B: Relationship Tables of the ArchiMate 2.1 specification (ISBN 978-94-018-0003-7).
Figure 4: A syntactically (but not necessarily semantically) correct example showing all the available ArchiMate relationships
ArchiMate also specifies rules for abstracting over a chain of relationships between three or more concepts:
Transitively applying this property allows us to replace a “chain” of structural relationships (with intermediate model elements) by the weakest structural relationship in the chain. – p. 94, ArchiMate 2.1 specification
Figure 5: A chain of relationships, along with the derived relationship
How using an ArchiMate modeling tool can help
In theory, it is not necessary to use a dedicated modelling tool in order to draw ArchiMate diagrams. You could create a custom stencil with Microsoft Visio (for example) containing all the basic shapes of the elements and relationships. However, a good modelling tool can be used to positively enhance both:
- Productivity in creating models
- The correctness of the models
Both enhancements depend on automated model validation, at either the syntactic or semantic level.
Checking for errors in direct relationships [enhance correctness]
Ideally, your modelling tool should not allow you to draw an invalid relationship between two concepts in the first place. This can be prevented a priori whilst creating the initial drawing, by greying out or eliding the options to create invalid relationships. Alternatively (or additionally), the modelling tool can validate the relationships between elements within each diagram, highlighting where invalid relationships have been made, and suggesting valid alternatives.
Automatically deriving relationships between elements [enhance productivity]
Due to ArchiMate’s rules for abstracting over a chain of relationships, your modelling tool should be able to insert a correctly derived relationship between any two elements in a diagram, or at least inform you that no relationship can be derived at all.
Automating ArchiMate viewpoints
ArchiMate specifies twenty-six viewpoints that may be constructed using different combinations of element types and relationships. Ideally, your tool should be able to:
- Validate any viewpoint(s) that you have already created. [enhance correctness]
- Provide automated assistance with creating new diagrams through re-using existing model elements and their relationships. [enhance productivity]
How to do it? Let us help you!
The existing functionality of Sparx Enterprise Architect provides a good basis for fully automating the validation of ArchiMate models. Please contact us at firstname.lastname@example.org if you would like to discuss how you can gain access to our solution.