Upload
dinhduong
View
217
Download
2
Embed Size (px)
Citation preview
COPYRIGHT © 2004 TELEMATICA INSTITUUT / ARCHIMATE CONSORTIUM
PERSONAL USE OF THIS MATERIAL IS PERMITTED. HOWEVER, PERMISSION TO REPRINT/REPUBLISH THIS MATERIAL FOR ADVERTISING OR PROMOTIONAL PURPOSES OR
FOR CREATING NEW COLLECTIVE WORKS FOR RESALE OR REDISTRIBUTION TO SERVERS OR LISTS, OR TO REUSE ANY COPYRIGHTED COMPONENT OF THIS WORK IN
OTHER WORKS MUST BE OBTAINED FROM OR VIA TELEMATICA INSTITUUT (HTTP://WWW.TELIN.NL).
Colophon
Date : 10-03-2004
Version : 1.3
Change :
Project reference: ArchiMate/D2.2.3b
TI reference : TI/RS/2004/005
Company reference :
URL : https://doc.telin.nl/dscgi/ds.py/Get/File-38740
Access permissions : Project
Status : Final
Editor : René van Buuren
Company : Leiden Institute of Advanced Computer Science (LIACS);
Telematica Instituut (TI);
Ordina Public Consulting
Authors : René van Buuren (TI), Luuk Groenewegen (LIACS), Henk Jonkers (TI),
Peter Klaus (Ordina), Marc Lankhorst (TI), Martijn Wiering (LIACS).
Sy n o p s i s
In this deliverable we compare several standards and languages for
modelling architectures with the ArchiMate language. RM-ODP, UML and
the UML EDOC profile are important standards that are considered.
Additionally, a standard (in development) and tool in the process-
modelling domain are considered: BPMN (Business Process Modelling
Notation) and ARIS, respectively. We compare ArchiMate to these
standards in three ways. First we compare frameworks or architectural
viewpoints and domains that are covered. Second, we compare the
languages with respect to equivalent concepts and relations. Third, we
take a typical integrated ArchiMate model and try to create a similar
model in another language.
A R C H I M A T E / D 2 . 2 . 3 B V
ArchiMate
Organisations need to adapt increasingly fast to changing customer requirements and
business goals. This need influences the entire chain of activities of a business, from the
organisational structure to the network infrastructure. How can you control the impact of
these changes? Architecture may be an essential part of the answer. The ArchiMate project
will develop an integrated architectural approach that describes and visualises the different
domains and their relations. Using these integrated architectures helps stakeholders in
assessing the impact of design choices and changes.
Architecture is a consistent whole of principles, methods and models that are used in the
design and realisation of organisational structure, business processes, information systems,
and infrastructure. However, these domains are not approached in an integrated way, which
makes it difficult to judge the effects of proposed changes. Every domain speaks its own
language, draws its own models, and uses its own techniques and tools. Communication
and decision making across domains is seriously impaired.
The goal of the ArchiMate project is to provide this integration. By developing an
architecture language and visualisation techniques that picture these domains and their
relations, ArchiMate will provide the architect with instruments that support and improve the
architecture process. Existing and emerging standards will be used or integrated whenever
possible. ArchiMate will actively participate in national and international fora and
standardisation organisations, to promote the dissemination of project results.
The project will deliver a number of results. First of all, we will provide a visual design
language with adequate concepts for specifying interrelated architectures, and specific
viewpoints for selected stakeholders. This will be accompanied by a collection of best
practices and guidelines. Furthermore, ArchiMate will develop techniques that support
architects in visualisation and analysis of architectures. Finally, project results will be
validated in real-life cases within the participating organisations.
To have a real impact on the state of the art in architecture, the ArchiMate project consists
of a broad consortium from industry and academia. ArchiMate’s business partners are
ABN AMRO, Stichting Pensioenfonds ABP, and the Dutch Tax and Customs Administration
(Belastingdienst); its knowledge partners are Telematica Instituut, Ordina, Centrum voor
Wiskunde en Informatica (CWI), the Leiden Institute for Advanced Computer Science
(LIACS), and Katholieke Universiteit Nijmegen (KUN).
More information on ArchiMate and its results can be obtained from the project manager
Marc Lankhorst ([email protected]) or from the project website, ArchiMate.telin.nl.
.
A R C H I M A T E / D 2 . 2 . 3 B V I I
Table of Contents
1 In t r o d u c t i o n 1 1.1 Target group 2 1.2 Position of this work in ArchiMate 2 1.3 Approach 2 1.4 Document structure 3 2 St an d ar d s an d L an g u ag es 4 2.1 The ArchiMetamodel 4 2.2 Example ArchiMate model 7 3 UML 9 3.1 Framework of UML viewpoints 9 3.2 Translation of ArchiMate concepts to UML 12 3.3 Example model expressed in UML 14 ArchiMate as “umbrella” language 18 3.4 Conclusion 20 4 RM-ODP 21 4.1 Framework RM-ODP enterprise viewpoint 21 4.2 Concepts/metamodel 22 4.3 Example model expressed in RM-ODP 25 4.4 Conclusion 27 5 EDOC p r o f i l e f o r UML 28 5.1 Framework EDOC 28 5.2 Detailed Comparison between or Translation from ArchiMate to EDOC
Concepts 31 5.3 Example model expressed in EDOC 33 5.4 Conclusions 36 6 B u s i n es s Pr o c es s Mo d el l i n g No t at i o n 38 6.1 Framework BPMN 38 6.2 Concepts/metamodel 38 6.3 Models 41 6.4 Conclusion 42 7 A RIS 43 7.1 Framework Aris 43 7.2 Mapping of the Aris objects to the Archimate concepts 44 7.2.1 Concepts of the Business layer 45 7.2.2 Concepts of the application layer 48 7.2.3 Concepts of the technical layer 49 7.2.4 Relationship concepts 51 7.3 Models 52 7.4 Conclusion 54 8 Co n c l u s i o n s 55
A R C H I M A T E / D 2 . 2 . 3 B 1
1 Introduction
In the ArchiMate project, a generic set of concepts is being developed that allows a
coherent modelling of enterprise architectures. The unambiguous definition of these
concepts provides a proper basis for visualisation, analysis, tooling and use of these
concepts. International standards and related languages provide important guidelines for
the construction of the ArchiMate architecture language: ArchiMate does not want to
reinvent the wheel and, for the ultimate adoption our ideas, ArchiMate cannot work in
isolation. Starting with the state-of-the-art overview (D2.1: Iacob et al., 2002), voids and
improvement areas of current languages have been identified. Based on the conclusions
drawn from this overview, ArchiMate focuses especially on the unambiguous definition of
concepts and the definition of relations between concepts. This allows coherent modelling of
related ICT architecture domains.
In the development of the ArchiMate language, standards such as UML have always been
guiding beacons. Also, practical cases performed with the partners have played a significant
role in steering and validating the development of the ArchiMate language. At present, the
ArchiMate language has matured and has become more stable. Therefore, a more precise
comparison with relevant standards and approaches has become possible and relevant.
This is the topic of the current document.
Two important principles underlie the ArchiMate language:
1. The concepts are primarily aimed at models at a relatively high level of abstraction,
although, in principle, the ArchiMate language can be used at various levels of detail,
(see D2.2.1 - Concepts for Architectural Description). It should be possible to express
concepts in standards and partner-specific modelling approaches as specialisations
and/or compositions of ArchiMate concepts.
2. It should be possible to use the ArchiMate language as an “umbrella” language
(D2.2.1): i.e., it should be possible to use ArchiMate concepts to link more detailed
models of specific domains (which are currently not yet related to each other), that are
expressed in other (design) languages.
Obviously, both principles require a sound comparison and mapping to standards. In our
view, the required level of detail for these mappings differs with respect these two goals.
Using ArchiMate as an umbrella language to link models in other languages requires an
unambiguous and very detailed mapping of concepts, linking models or parts of models.
Given the scope and timeline of ArchiMate this can be achieved only for a very limited set of
standards.
The focus of this deliverable is on a less detailed comparison between ArchiMate and other
languages and standards, which shows the main strengths and weaknesses of the different
languages. First, this provides a broad view on the positioning of ArchiMate with respect to
other languages. Also, it may enhance the understanding of the ArchiMate language for
people familiar with the other languages, and it provides additional validation for ArchiMate
2 T E L E M A T I C A I N S T I T U U T
(e.g., it may show gaps in the coverage of the language). Because of the more global nature
of this comparison, more standards and languages can be taken into account. In the next
stage of the project, a more detailed mapping will be made for a limited number of
standards and partner specific languages, to illustrate the use of ArchiMate as an umbrella
language.
1.1 Tar g et g r o u p
This document is intended for all members of the ArchiMate consortium, and architects in
general who are interested in the background of the ArchiMate language. The goal of this
document is to compare the ArchiMate language with a relevant set of standards and
related languages. This document gives an impression of the positioning of ArchiMate with
respect to these languages. This helps architects familiar with other languages to assess
the added value of, and also the similarities with the ArchiMate language. Also, this
document provides information with which consortium members can discuss ArchiMate in
more detail internally.
1.2 Po s i t i o n o f t h i s w o r k i n A r c h i Mat e
An important success factor and key requirement of the project stated by the project
partners is conformance to international standards. Starting with the state-of-the-art
deliverable (D2.1, Iacob et al., 2002), a first rough comparison with different languages
steered the initial development of the ArchiMate language. A second stable version of the
metamodel underlying the ArchiMate language is presented in deliverable D2.2.1
(Version 2). Currently, we are working on a further extension and improvement of the
metamodel. A more detailed comparison with accepted architecture standards and
languages aids in this process. Therefore this task is important input to Version 3 of the
architecture language deliverable D2.2.1, due in March 2004. For this document, we have
taken the latest version of the ArchiMate language as a starting point, as described in
intermediary version of the language deliverable D2.2.1 (Version 2.5: Jonkers (ed.), 2003)
and the Architecture Language Reference Manual D2.2.2b (Version 2.5: Van Buuren (ed.),
2003).
1.3 A p p r o ac h
Comparing architectural languages is potentially a path full of pitfalls. It is very tempting to
compare languages with the aim to show the superiority of one language over the other.
However, this approach often results in comparing apples with oranges since the focus and
application areas of different language do not always have a clear overlap. Even in case
languages have a large intersection area, a full evaluation is not always possible. For
instance, concepts may differ in a very subtle manner. How to determine which definition is
better?
Rather one would like to get a feel of the possibilities of each language and their level of
similarity. To this purpose languages can be compared with respect to different aspects. In
our view the specific characteristics of the ArchiMate language can be used for comparison
with other languages:
A R C H I M A T E / D 2 . 2 . 3 B 3
• The framework in ArchiMate distinguishes architectural layers and architectural aspects.
The ArchiMate concepts can be roughly positioned within this framework.
• The concepts that are currently part of the ArchiMetamodel support mostly an
operational view. The emphasis on services, behaviour and structural elements that are
involved in the behaviour underlines this.
• ArchiMate provides an architectural description language. The metamodel is well defined
allowing the construction of coherent models. Although a graphical notation has been
suggested, ArchiMate does not prescribe a fixed concrete syntax. Also, ArchiMate does
not provide a methodology.
• Because of the principles underlying the construction of the ArchiMetamodel we have a
certain abstraction level of the resulting models in mind. Detailed modelling is left to
specific languages.
In our view a framework, concepts and models together form a relevant set of areas in
which different languages can be compared in a practical manner. Therefore, our approach
is as follows:
1. Framework. Which architectural domains do the other languages compared to the
ArchiMate framework cover?
2. Concepts. A global mapping between ArchiMate concepts and the concepts in the other
languages. What are the main differences?
3. Model. ArchiMate wants to deliver coherent models covering business and ICT. We take
an example model expressed in ArchiMate addressing this coherence and try to express
this example in another language. This emphasises the applicability of languages to
express integrated models.
Having these comparison results improves our knowledge on the proper positioning of
ArchiMate with respect to other approaches. Possible shortcomings and directions for
extension turn up that may have a follow-up in the remainder of the project. Moreover, it
provides experts on other languages with an accessible way to understand the ArchiMate
language.
1.4 Do c u m en t s t r u c t u r e
The structure of this document is as follows. In Chapter 2 we give a motivation for the
selection of architecture standards and languages used for comparison in this document.
We also present the version of the ArchiMetamodel that we use for comparison in this
document. Moreover, we present the example model, expressed in the ArchiMate language.
In subsequent chapters we try to create the same model in other languages. In Chapter 3
we compare ArchiMate with UML, followed by a comparison with RM-ODP in Chapter 4.
The EDOC profile and BPMN are subject of comparison in Chapter 5 and Chapter 5,
respectively. In Chapter 7 we consider the comparison between Aris and ArchiMate. Finally,
we draw our conclusion in Chapter 7.
4 T E L E M A T I C A I N S T I T U U T
2 Standards and Languages
In this chapter we compare several architectural languages with the ArchiMate language.
We recognize that the list of comparable, complementing or competitive languages can
never be complete. We limit ourselves to a specific set of languages that in our view are
relevant from a standardisation or modelling perspective.
• RM-ODP (Reference Model for Open Distributed Processing). The RM-ODP is an ISO
and ITU standard. Both ISO and ITU are authoritative organisations. The RM-ODP
distinguishes several views on distributed systems and is the only standard that we know
of that explicitly discerns an enterprise viewpoint. Moreover, we have used RM-ODP as
a source of inspiration during the construction of the ArchiMetamodel.
• BPMN (Business Process Modelling Notation) is one of the standards developed by the
Business Process Management Initiative (BPMI.org). BPMN is becoming an international
standard for the notation of business process models. Business processes and
behaviour in general are an important part of the ArchiMetamodel. Members from the
ArchiMate Tool Vendor Forum have recognised the importance of the BPMN
development. Also, it attracts more and more scientific interest, considering the attention
it has received on recent scientific conferences. Within the TOGAF framework, BPMN is
proposed as the modelling language for business processes.
• UML. Involving UML in the comparison goes without saying. UML is the de facto
standard of software modelling in the world. Extension of UML’s usage to none-software
domains is rapidly growing. The new UML 2.0 provides important changes to facilitate
this extended usage. Not knowing how ArchiMate relates to UML is impossible.
• EDOC profile. Under guidance of the Object Management Group (OMG) a specification
for a UML Profile for Enterprise Distributed Object Computing (EDOC) was issued. The
UML Profile for EDOC is expected to become a key element of MDA, providing the
specification metamodel for enterprise systems. Having the OMG as origin and its
incorporation into MDA warrants a closer comparison.
• Aris: Aris is a product of a specific tool vendor. Aris has a great following and provides
possibilities for detailed process modelling. Moreover, the tool also supports UML
modelling. Given the large user base of Aris, it is relevant to see how it relates to
ArchiMate.
2.1 Th e Ar c h i Met am o d el
The ArchiMetamodel has developed in several phases. We have followed an inside-out
approach starting with the business layer and application layer, after which the metamodel
has been extended towards the technology layer and higher business layers (see D1.0,
Project Plan). On the other hand, practical cases provide input for the applicability of the
metamodel and guide its changes.
Although a larger part of the ArchiMetamodel is becoming stable, the metamodel is still
subject to changes while the project is running. The version that we have used is depicted in
the following figures. In D2.2.1 (Jonkers (ed.), 2003) and D2.2.2b (Van Buuren (ed.), 2003),
we elaborate on these metamodels. For clarity we present the layer-specific metamodels.
A R C H I M A T E / D 2 . 2 . 3 B 5
accessess
realises
accesses
assigned to
assigned to
realises
used by
usedby
assignedto
Businessrole
Businessbehaviour
Businesscollaboration
Meaning
Organisationalservice
Businessactor
aggregates
associatedwith
Businessevent
triggers
triggers
triggers
Repres-entation
Businessinteraction
triggers
triggersassigned
to
Businessobject
Product
used by
aggregates
composedof
aggregates
associatedwith
Businessinterface
Valuerealises
Contract
Figure 1: ArchiMate metamodel for the business layer
assigned to
accesses
realisesused by
assignedto
used by
assigned to
Applicationfunction
Applicationcollaboration
Applicationinterface
Applicationcomponent
Dataobject
Applicationservice
associatedwith
triggers
realises
used by
Applicationinteraction
composed of
aggregates
Figure 2: ArchiMate metamodel for the application layer
assignedto
used by
Communicationpath
Infrastructureinterface
Infrastructureservice
realises
Executionenvironment
Device Network
associatedwith
realises
NodeArtifact
assignedto
composedof
assignedto
associatedwith
Figure 3: ArchiMate metamodel for the technology layer
6 T E L E M A T I C A I N S T I T U U T
used byused by
Businessrole
Applicationcomponent
Applicationservice
Business layer
Application layer
Businessinteraction
Businessobject
Dataobject
realises
Application layer
Technology layerInfrastructure
interfaceInfrastructure
service
Artifact
Applicationcollaboration
Applicationinteraction
Businesscollaboration
Applicationinterface
used by
realises
realises realises
Applicationbehaviour
used byused by used by
Organisationalservice
Businessinterface
realises realises
Businessbehaviour
realises
realises
Product
aggregates
aggregates
aggregates
Node
Figure 4: ArchiMate relations between layers.
The layer-dependent metamodels are very useful when comparing languages that have
such layer-specific concepts themselves. Languages such as UML, on the other hand, offer
a set of more abstract concepts and diagrams. Therefore, we use the generic
ArchiMetamodel, which underlies the layer dependent models, for the comparison with UML
(see Figure 5).
A R C H I M A T E / D 2 . 2 . 3 B 7
accesses
assigned to
assigned to
*
*
assigned to
assignedto
*
*
realises
uses
realises *
*
*
uses
*
** *
2..**
*
**
*
*
*
Collaboration
Informativeelement
Meaning
Representation
Process/FunctionInteraction
Service
Actor
Role
Structuralelement
Interface
Value*
*Event
associatedwith
associated with
associated with
triggers
Object
triggers *
*
Behaviouralelement
accesses
*
composed ofaggregates
Figure 5: ArchiMate generic metamodel
2.2 Ex am p l e Ar c h i Mat e m o d el
Figure 6 illustrates a typical example of a model for which ArchiMate is intended. The model
covers several architectural layers and domains and shows the interrelationships between
them. The model describes claim processing between an Insurant and Insurer. During claim
processing, the Insurant makes use of several organisational services. An internal business
process that is assigned to the Insurer realises these services. Parts of the business
process are supported by applications and corresponding application services. During claim
processing, specific information is required that ‘flows’ through the process. Applications run
on specific hardware platforms.
8 T E L E M A T I C A I N S T I T U U T
Infrastructure
External infrastructure services
Application components and services
Roles and actors
External application services
External business services
Damage claiming process
Client Insurant InsurerArchiSurance
Registration PaymentValuationAcceptance
Customerinformation
service
Claimspaymentservice
Claimsadministration
service
Riskassessment
service
Paymentservice
Risk assessment
Claims administration
Financial application
Claiminformation
service
Claimregistration
service
Claimregistration
service
Customeradministration
service
Customer administration
Claimfiles
service
zSeries mainframe
DB2database
Riskassessment
EJB
Customerfiles
service
Sun Blade
iPlanetapp server
Claim
Claim data
Claim file
Figure 6: Example model, modelled by means of the ArchiMetamodel
A R C H I M A T E / D 2 . 2 . 3 B 9
3 UML
The Unified Modelling Language (UML) is usually defined as the standard object modelling
language. It is an open standard controlled by OMG, the Object Management Group. UML
is designed to model software systems, but several attempts have been made to use UML
for different domains, in particular to the business domain. These approaches are seriously
being hampered by the fact that UML does not offer semantics on the basis of which
consistency between diagrams from different languages can be checked.
UML is rather technical, whereas the world of business is semantically much richer and
therefore needs a different approach. This makes UML more difficult to understand for
people from domains other than the software/application domain. In addition, UML itself has
a strong inclination to express constructive details, whereas the business world would apply
a more declarative style in models leaving out unwanted details.
3.1 Fr am ew o r k o f UML v i ew p o i n t s
In this document we consider the latest version of UML, UML 2.0 (Object Management
Group, 2003a and 2003b). UML describes 13 sublanguages, each having own diagram to
model a specific aspect of a (software) system. These diagrams can be considered the
viewpoints of UML. The diagrams can be grouped in three categories of UML diagrams;
structure, behaviour and interaction.
The following diagrams model structure:
A Class diagram shows the structure of the system on the type level, using classes and
relationships between the classes. A class is a particular kind of thing logically important
enough to see instances of it frequently occurring in the various instantiated models. A
relationship expresses how classes correspond with each other, could depend on each
other, could influence each other, and could be connected to each other.
An Object diagram shows the structure of the system on the instance level at a certain point
in time, using objects and links between the objects. An object diagram is quite similar to a
class diagram. An object is a concrete thing of the type described by the class of which the
object is an instance of; a link between objects is the concrete relation of the type described
by the relationship of which the link is an instance. In this sense an object diagram
describes the concrete or instantiated logical structure of a system at a certain point in time,
exactly conforming to the type description of the corresponding class diagram.
A Package diagram shows how model elements are grouped into packages as well as the
dependencies between packages. A package can import individual elements or other
packages.
A Composite structure diagram depicts physical connections between (logical) elements (like
classes/objects, packages, use cases). With the diagram, a class can be hierarchically
decomposed into an internal structure that represents the runtime decomposition of the
1 0 T E L E M A T I C A I N S T I T U U T
class. There are two appearances: via ports and connectors or as collaboration (of roles:
views on elements).
A Component diagram describes the global physical organization of the system into so-called
components: components reflect an application, system or enterprise. In the context of
software, a component often is a (large) subsystem of a software system, or even the whole
software system.
A Deployment diagram describes the actual assignment of the components to various,
concrete physical resources held responsible for containing or performing what is modelled
in such a component. In the case of a software system, usual physical resources are pieces
of hardware, such as storage memory, a network, a computer or processor. It shows the
storage or execution architecture of the system.
The diagrams for modelling Behaviour are:
A Use Case diagram models the behaviour of a system using actors and use cases, as seen
from the outside. The model is declarative with respect to the functionality expressed: each
use case represents one (large) functionality. The functionality should be provided by the
system to actors representing the various stakeholders. Moreover, for each use case the
various (main) scenarios describing how to use that particular functionality are given, thus
modelling the possible interactions taking place between the actors and the system when
that functionality is being used. The way these scenarios are specified is not fixed; they may
be formulated in more or less structured English, which is not uncommon.
A State Machine diagram describes local behaviour through state changes of a concrete
object while in execution, by performing internal steps or driven by messages received from
outside or by sending messages out. At each point in time the current state represents the
situation reached by the execution so far. Thus a State Machine diagram models the local
flow of control from state to state within an object, i.e. within a conceptually small part of the
system.
An Activity diagram describes more global behaviour through the flow of control within some
larger part of the system, from object or actor to object or actor, again in terms of states. In
this case a current state represents a situation as far as it is relevant for this more global
form of control flow. Quite commonly, state changes, for instance on the basis of having
finished an activity, correspond to the effect of having performed a local operation, often
triggering an activity in another object or actor.
The diagrams for modelling Interaction are:
Communication diagram: Shows instances of classes, their interrelationships, and the
message flow between them, restricted to one (type of) scenario. Communication diagrams
typically focus on the structural organization of objects that send and receive messages. The
ordering within the scenario is described through enumeration. In UML 1.x these diagrams
were called Collaboration diagrams. In UML 2.0 the Collaboration diagram still present, but
has no “official” status. This diagram is mainly used to group classes, thus creating so-called
collaborating classes.
A R C H I M A T E / D 2 . 2 . 3 B 1 1
A Sequence diagram shows instances of classes and the message flow between them. In
contrast to a communication diagram a message flow is not restricted to one (type of)
scenario, but to as many scenarios as wanted. The ordering within the scenarios is not
through enumeration but along a scale-less time axis, so-called lifelines. Along a vertical time
axis - the lower the later - the order of sending and receiving messages (events, triggers,
data, and signals) between objects (and actors) is indicated.
An Interaction Overview diagram combines the flow structure of activity diagrams with
sequence diagrams. It does so by replacing activities by sequence diagrams; their lifelines,
so to speak, correspond to the swim lanes. So all "activities" are formulated in terms of
interaction scenarios. By reusing the flow structure of activity diagrams, interaction overview
diagrams are "complex" sequence diagrams with many smaller sequence diagram-like
fragments.
A Timing diagram combines a sequence diagram and explicit time; instead of lifelines,
sequences of (local) state changes specify the scenarios where time annotations make time
explicit. It is typically used to show the subsequent state changes of one or more objects
over time in response to events, internal as well as external.
Summarizing the above, UML offers a set of 13 diagrams for modelling different aspects of
software systems. But these diagrams may be used for modelling more general dynamic
systems as well.
Figure 7. Coverage of UML viewpoints
There is no grouping of UML diagrams into business, application and technical/infrastructure
present, since UML was only intended for software systems. Therefore it is difficult to make a
distinction between business, application and technical. Therefore, the lines that create this
division are dashed, to note that this is not a strict division.
Although it is not a priori clear how to apply the UML concepts to modelling business
architecture, we have projected the different diagram types into the ArchiMate framework.
1 2 T E L E M A T I C A I N S T I T U U T
3.2 Tr an s l at i o n o f A r c h i Mat e c o n c ep t s t o UML
We start with analysing the structural concepts, followed by the behavioural concepts and
ending with the informative concepts. The structural concepts are the concepts that are
easiest to understand since they are similar to well known structural notions in other
formalisms. So they are relatively easy to translate. The behavioural concepts are a bit less
common. Finally, the informative concepts are even more difficult to understand and
therefore to translate, as they are rather uncommon.
For the translation we have used the generic ArchiMetamodel. We translate from ArchiMate
to UML. The ArchiMate concept is highlighted in bold; the UML concept is on the right side
of the arrow.
Our approach in translating ArchiMate metamodel concepts to UML is to match properties
based on the characterizations of ArchiMate concepts. In some cases a match can be found
for properties corresponding to different UML concepts.
The translation shows the ArchiMate concept, followed by the chosen UML concept(s). In our
approach the arguments for our choices of UML concepts are given after the translation:
Structural Element � Class. The class always is an abstract class, as it will have no
instances. It contains the common (structural) attributes for every structural element
Object � Class. Behaviour is of no real interest. So the class only has the CRUD operations
(Create, Read, Update, and Delete) to perform basic operations. Furthermore, it can have all
kinds of attributes.
Actor � Class. An actor is something (person, department, active piece of software) that
fulfils Roles. Only the structure of such an Actor is described in a class. The operations
corresponding to its specific Role(s) do not belong to it. Instead it has special associations
with these Roles (in their translated form) together with special operations playRole(..) via
which it can start acting according to a certain role. In principle an actor could also be
mapped to an UML object, which is a class instance. With respect to a class, an object is
more detailed and as such adds information. Since, we consider high-level structure in
ArchiMate we prefer to map an actor to a class instead of an object.
Role � Class. A Role can be fulfilled by an Actor. It gives the Actor its behaviour. To that
aim it offers its operations (Services) to elsewhere via its Interface. Such a Role is part of
Collaboration. As soon as an instance of Collaboration exists, the Roles belonging to the
Collaboration are started by calling the playRole(..) operation of the Actors playing those
Roles.
Collaboration � Class and Composite Structure, in particular in its visual form (UML)
collaboration. The roles occurring in the UML collaboration are indeed the above UML
classes for the Roles. The links between the roles in the UML collaboration are not
(immediately) there. The collaboration can be drawn when using Collaboration and Role
together.
A R C H I M A T E / D 2 . 2 . 3 B 1 3
Interface � (UML) Interface, as occurring in class diagrams and composite structure
diagrams. It effectively separates provided and required functionality from implementation.
Behavioural Element � Interaction; Sequence or Activity. This covers the translation of
both Interaction and Process/Function. So we refer to the discussion of the translation of
these two concepts.
Interaction � Sequence or Interaction Overview. Lifelines correspond to the Roles
participating in the Collaboration the Interaction is assigned to. As long as the details of the
messages exchanged are unknown, such a sequence diagram has to remain incomplete, as
the translation into UML should not reflect details not occurring in the original ArchiMate
model. When there is a nested hierarchy of ArchiMate Interactions, an Interaction Overview
Diagram can easily reflect a similar hierarchical structure.
Process/Function � Activity or Sequence. Depending on the relevance of the internal
behaviour versus the communicative behaviour related to a Role, one could prefer a model
reflecting the (internal) activities of a Role, or a model reflecting the interaction with a Role. If
the Process/Function is assigned to a Role which itself is a Collaboration, the activities taking
place can themselves be organized according to swim lanes. Such swim lanes then
correspond to the (smaller, nested) Roles within that Collaboration.
Event � Interaction in Sequence or Activity or Interaction Overview: a concrete exchange of
a message, a trigger, a signal, a (UML) event, often between two lifelines. Usually it either
triggers a whole sequence of such interactions or it closes such a sequence.
Service � Interface Operation. A Service reflects functionality that is provided or required.
The clear separation from any implementation of such a Service remains valid in the
translation, as UML interfaces indeed hide such solutions.
Informative Element � Note or Use Case. This covers the translation of both Value and
Meaning. So we refer to the discussion of the translation of these two concepts.
Value � The ArchiMate concept value appears to have no direct counterpart in UML.
However, some UML concept may be useful to express the ArchiMate value concept. A Use
Case(s) expresses intended usage of the model towards the environment of the model by
informing about the model's functionality. The phrasing of this usage is not so much in terms
of the (internal) design solution of the model but in terms of what is relevant for the model's
environment, e.g. business goals or business strategy. In case an ArchiMate value has a
more text like nature, a UML note might be a good means to represent the value concept.
Meaning � Note(s). They express an explanation of structural parts of the model in terms of
what is relevant for the model's environment.
Representation � Note(s) or Class. Like the notes corresponding to Meaning, they also
express an explanation of structural parts of the model in terms of what is relevant for the
environment. But here it is more like a(n extended) view on the underlying structural parts.
So the formulation of the explanation, although in terms of what is relevant for the
environment, is structurally related to the (data or business) object they are associated with.
1 4 T E L E M A T I C A I N S T I T U U T
If the similarity in structure between the underlying (data or business) Object is strong
enough, the UML translation of representation can make this more explicit by means of a
class instead of one or more notes.
Summarising our translation, we present the following table.
ArchiMate concept UML equivalent concept
Structural Element Class
Object Class
Actor Class
Role Class
Collaboration Collaboration or Class
Interface Interface
Behavioural Element Sequence or Activity
Interaction Sequence or Interaction Overview
Process/Function Activity or Sequence
Event Interaction in Sequence
Service Operation of an Interface
Informative Element Use Case(s) or Note(s)
Purpose Use Case(s)
Meaning Note(s)
Representation Note(s) or Class
Table 1: Translation from ArchiMate to UML concepts
The relations from the ArchiMate metamodel are very important too, as they express how in
any concrete ArchiMate model the concrete instances of the different metamodel concepts
can be related.
So, by translating the ArchiMate metamodel relations in a straightforward manner to UML
relationships (associations, specialisations, and aggregations) one can infer the required
ArchiMate consistencies into the corresponding UML model. This is really relevant for a
possible UML profile for the ArchiMate approach. Consistency checking and management
between different kinds of UML diagrams can be based on the consistency of the
ArchiMetamodel.
3.3 Ex am p l e m o d el ex p r es s ed i n UML
The example provided is expressed in UML in two different approaches. The first approach
is to express the example in one UML diagram. The second approach is to use ArchiMate
as an “umbrella” language, making it possible to express the example in more than one
A R C H I M A T E / D 2 . 2 . 3 B 1 5
UML view. Separate UML views are ‘glued’ together with ArchiMate. In particular, some
consistency between separate UML views/diagrams can be checked.
Modeling the complete example in one view (diagram) can be difficult, since there is not one
view that covers all domains and represents these domains correctly. The Class Diagram is
the closest to this view.
Figure 8: Example model, modelled with UML classes
It can be difficult to model domains outside the structural domain, since the Class diagram is
not designed to model concepts from the behavioral or informational domains. It is possible,
but not easy and the result can be very difficult to use. Mapping the example model
provided to UML results in the following Class Diagram.
The Insurer Role has the four processes as operations. The services that these processes
provide are the communication ‘points’ between the insurer and insurant role and are
explicitly specified in the interface ‘Damage Claiming Process’.
The process Valuation is private because it does not offer any service. The other processes
are public since they offer services to the Insurant. The order of occurrence of the
1 6 T E L E M A T I C A I N S T I T U U T
processes is lost in this translation. These details cannot be preserved in a Class diagram in
an appropriate way, only by using notes.
The four components have their interfaces with the services they offer. The dependencies
between the Role Insurer and the components and the dependencies between the
components and the infrastructure are presented as dependencies.
Between the two artifacts and the component and role are two dependencies. The
dependency between the artifact and the role is from the artifact to the role because the
process(es) in the role fills the artifact. The dependency between the artifact and component
is from the component to the artifact because the component uses information from the
artifact.
From the Class diagram that is created from the ArchiMate example, a Package diagram
can be drawn. Recall, a package diagram can group elements into packages and show
these and also their dependencies. The following package diagram is created.
Figure 9: Package representation of UML class model
The following grouping has been applied: all classes with stereotype <<component>> are
grouped in the package Components, classes with stereotype <<actor>> or <<role>> are
grouped into the package Business, classes with <<server>> and the class ‘<<file>> Risk
assessment EJB’ are grouped into the package Infrastructure and the last package consists
of the remaining class with stereotype <<file>> together with the classes with stereotype
<<artifact>> and are grouped into the package Files.
Concluding, a class diagram can be drawn for the ArchiMate example. This class diagram
can be grouped into four packages giving a more readable view of the class diagram. The
grouping of the package diagram can also be seen in the ArchiMate example itself. In the
A R C H I M A T E / D 2 . 2 . 3 B 1 7
example four groups are present. These groups are equal to the packages in the package
diagram.
1 8 T E L E M A T I C A I N S T I T U U T
ArchiMate as “ umbrella” language
The second approach is using ArchiMate as umbrella language, gluing separate diagrams
together. There is no direct coupling between the diagrams through their own language, in
this case UML.
I n fra s tr u c tu re
E x te rn a l in fr a s tr u c tu re s e rv ic e s
A p p l ic a tio n c o m p o n e n ts a n d s e rv ic e s
R o le s a n d a c to r s
E x te rn a l a p p lic a t io n s e r v ic e s
E x te rn a l b u s in e s s s e r v ic e s
D a m a g e c la im in g p ro c e s s
C lie n t In s u ra n t In s u re rA rc h iS u r a n c e
R e g is t ra tio n P a y m e n tV a lu a t io nA c c e p ta n c e
C u s to m e rin fo r m a t io n
s e rv ic e
C la im sp a y m e n ts e r v ic e
C la im sa d m in is t ra tio n
s e rv ic e
R is ka s s e s s m e n t
s e rv ic e
P a y m e n ts e rv ic e
R is k a s s e s s m e n t
C la im s a d m in is tra t io n
F in a n c ia l a p p lic a tio n
C la imin fo r m a tio n
s e rv ic e
C la imr e g is t ra tio n
s e rv ic e
C la imr e g is t ra tio n
s e rv ic e
C u s to m e ra d m in is tra t io n
s e rv ic e
C u s to m e r a d m in is t ra tio n
C la imf ile s
s e r v ic e
z S e r ie s m a in f ra m e
D B 2d a ta b a s e
R is ka s s e s s m e n t
E J B
C u s to m e rfi le s
s e r v ic e
S u n B la d e
iP la n e ta p p s e rv e r
C la im
C la im d a ta
C la im f i le
Figure 10: Example model, ArchiMate as an umbrella language
The example can be modeled using three different diagram types: class, component and
deployment diagrams. Which parts of the example are modeled by which diagram is shown
by the different squares, having different line types for the different diagrams. The results of
this approach are displayed on the next page.
The difference between these two approaches is, although both approaches contain the
same information and both approaches are represented the same package diagram, the
difference in visual notation. The second approach (“umbrella” approach) allows a user to
use a richer set of UML diagrams and thereby express properties in a visual manner. These
properties can also be expressed in a class diagram (using stereotypes), but when
modeling large models it will get difficult to read and understand.
In addition, the stereotypes used in a class diagram can be less intuitive then visual
representations of the same properties (for example a stereotype indication for a component
or a visual symbol for component).
Deployment
Diagram
Component
Diagram
Class
Diagram
A R C H I M A T E / D 2 . 2 . 3 B 1 9
When applying the umbrella approach to the example, the following diagrams are produced.
Figure 11: Example model, UML diagrams connected by ArchiMate as an umbrella language
I n fr a s tr u c t u r e
E x t e r n a l in f r a s t r u c tu r e s e r v ic e s
A p p l ic a t io n c o m p o n e n ts a n d s e r v ic e s
R o le s a n d a c t o r s
E x t e r n a l a p p l ic a t io n s e r v ic e s
E x t e r n a l b u s in e s s s e r v ic e s
D a m a g e c la im in g p r o c e s s
C lie n t In s u r a n t In s u r e rA r c h iS u r a n c e
R e g is t r a t io n P a y m e n tV a lu a tio nA c c e p ta n c e
C u s to m e rin f o r m a t io n
s e r v ic e
C la im sp a y m e n ts e r v ic e
C la im sa d m in is t r a t io n
s e r v ic e
R is ka s s e s s m e n t
s e r v ic e
P a y m e n ts e r v ic e
R is k a s s e s s m e n t
C la im s a d m in is t r a t io n
F in a n c ia l a p p l ic a t io n
C la imin fo r m a tio n
s e r v ic e
C la imr e g is t r a t io n
s e r v ic e
C la imr e g is t r a t io n
s e r v ic e
C u s to m e ra d m in is t r a t io n
s e r v ic e
C u s to m e r a d m in is t r a t io n
C la imfi le s
s e r v ic e
z S e r ie s m a in fr a m e
D B 2d a t a b a s e
R is ka s s e s s m e n t
E J B
C u s t o m e rf i le s
s e r v ic e
S u n B la d e
iP la n e ta p p s e r v e r
C la im
C la im d a t a
C la im f i le
2 0 T E L E M A T I C A I N S T I T U U T
3.4 Co n c l u s i o n
The purpose of this comparison is to select suitable UML notions or UML diagrams that can
serve as translations of the various ArchiMate concepts. We have succeeded in translating
the ArchiMate concepts into UML, and shown two approaches of translating ArchiMate
models to UML models.
When using UML directly, there is a very strong inclination to express technical details.
Although such details certainly make sense, from the perspective of a software developer,
these details are not present in the original ArchiMate example model. This results in
leaving out (unwanted) details, making it difficult to use and explain UML. In particular since,
when using the declarative style, sometimes the resulting UML diagrams are strictly
speaking incomplete. As a result this makes it difficult to verify the correctness of a diagram.
The ArchiMate approach hides technical details. ArchiMate models tend to leave out
technical details concerning communication and other behavioural aspects. In this way it is
left open which participant (role) in an interaction exactly does what for whom and when.
Perhaps it is UML's property of nearly forcing a UML modeller to add such technical,
constructive details, why some authors argue that UML is not sufficiently suited for the
modelling needs of business architects, and the like.
ArchiMate and UML can be combined. Alignment and integration between different UML
diagrams can be verified through ArchiMate. On the other hand ArchiMate models may be
studied, via its UML translation, in the context of UML models.
A R C H I M A T E / D 2 . 2 . 3 B 2 1
4 RM-ODP
The Reference Model for Open Distributed Processing (RM-ODP) is usually defined as a
framework of abstractions, i.e. a set of modelling concepts relevant for the specification of
ODP systems and an architecture providing a structure for these concepts. RM-ODP’s
objective is to define modelling concepts for potentially distributed systems that are totally
independent of any existing analysis / design method, notation or programming language.
The modelling concepts are supposed to be abstract enough and precisely enough defined
to enable a mapping on to any methods or languages. RM-ODP is essentially based on the
definition of a number of viewpoints providing five different perspectives on the ODP
system. These five viewpoints are:
• the enterprise viewpoint, which is concerned with the business activities of the specified
system;
• the information viewpoint, which is concerned with the information that needs to be
stored and processed in the system;
• the computational viewpoint, which is concerned with the description of the system as a
set of objects that interact at interfaces - enabling system distribution;
• the engineering viewpoint, which is concerned with the mechanisms supporting system
distribution;
• the technology viewpoint, which is concerned with the detail of the components from
which the distributed system is constructed.
Because of the enterprise architecture context of ArchiMate, we compare in this section the
RM-ODP enterprise viewpoint with ArchiMate. It is possible that more RM-ODP viewpoints
are required to create enterprise architectures in the sense of ArchiMate. However, in this
document we restrict ourselves to the enterprise viewpoint. The enterprise viewpoint in RM-
ODP describes a “system” with regard to its functionality, how it takes places in its
environment, how it interacts with it and the corresponding business requirements,
management/usage rules that govern its design. Typically, the enterprise viewpoint has the
decision makers as main stakeholders in mind. Note that this already appears to be a first
difference with ArchiMate, since ArchiMate aims to yield an integrated architecture of an
enterprise suitable for different stakeholders.
4.1 Fr am ew o r k RM-ODP en t er p r i s e v i ew p o i n t
The RM-ODP enterprise viewpoint language comprises concepts, structures and rules for
developing, representing, and reasoning about a specification of an ODP system from the
enterprise viewpoint. Also, it provides rules that establish correspondences between the
enterprise viewpoint and the other viewpoint languages for the overall consistency of a
specification (ITU-T X911). Similar to the ArchiMate concepts, the concepts defined in the
RM-ODP enterprise viewpoint cover informational, structural and behavioural aspects.
In Figure 12 we project the RM-ODP enterprise viewpoint on the ArchiMate framework. For
completeness we have also projected the remaining four viewpoints into the framework.
2 2 T E L E M A T I C A I N S T I T U U T
Businesslayer
Applicationlayer
Technicalinfrastructurelayer
Informationaspect
Behaviouraspect
Structureaspect
Enterprise viewpoint
Computational viewpoint
Engineering viewpoint
Technology viewpointInform
ationview
point
Figure 12. Coverage of RM-ODP enterprise viewpoint
The RM-ODP enterprise viewpoint is placed in the business layer of the ArchiMate
framework (see above figure). At a very abstract level, concepts from the application layer
and technical layer can be expressed with the RM-ODP enterprise language. However,
more detailed concepts for these layers are addressed in other corresponding viewpoints
languages. These concepts are linked to the enterprise language by means of so-called
correspondence rules to ensure consistency between the different viewpoint languages.
In contrast to the current version of the ArchiMetamodel, RM-ODP explicitly addresses
contracts, policies and accountability concepts. These concepts may be taken into account
in the extension of the ArchiMetamodel with higher-level business concepts (D2.2XXX).
Additionally, the other viewpoints of RM-ODP are positioned within the framework. Less
research has been performed for this positioning. They present a rough interpretation of
these viewpoints.
4.2 Co n c ep t s /m et am o d el
In recommendation ITU-T X911 the RM-ODP five categories for concepts are defined:
• System concepts
• Community concepts
• Behaviour concepts
• Policy concepts
• Accountability concepts
The system concepts cover the scope and application field of the ODP-system, the policy
concepts define a set of rules with respect to a particular Value, and the accountability
concepts addresses the obligation of specific parties within an organization. The
ArchiMetamodel currently covers none of these concepts. For the community and behaviour
concepts related concepts occur in the ArchiMetamodel. These concepts are regarded in
the current comparison.
A R C H I M A T E / D 2 . 2 . 3 B 2 3
Community
Role
InterfaceRole
Objective
EnterpriseObject
Communityobject
Behaviour
Resource Artefact Actor
StepProcess Step
Action
assigned
assigned
leads to
has
fulfils
associated
referenced in
essential to
Figure 13: "Informal” reconstruction of enterprise viewpoint metamodel from RM-ODP ITU-T X.911 Standard
Figure 6 shows our reconstruction of a metamodel for the enterprise viewpoint of RM-ODP
corresponding to the community and behaviour concepts mentioned above. Although it
appears that the relations between concepts are quite well defined, we remark that these
relations are not defined unambiguously and are mostly derived from textual descriptions of
concepts and their usage. However, the comparison with ArchiMate concepts is facilitated if
not only strict semantics of concepts are compared, but also relations with other concepts
are taken into account. In our opinion, too much room is left for different interpretations.
In RM-ODP an objective is defined as: “Practical advantage of intended effect, expressed
as preferences about future states.” The objective is expressed as a contract, which
specifies how the objective can be met. In ArchiMate the value concept appears to be its
counterpart. A Value expresses the intended functionally of a service to an external user.
Within RM-ODP the objective is linked to a community, which is a structural concept. In
ArchiMate the service concept connects the Value with corresponding structural concepts
such as business interfaces and business roles. The service concept is not explicitly
supported in RM-ODP.
2 4 T E L E M A T I C A I N S T I T U U T
An enterprise object is any object in an enterprise specification, which is felt to be
necessary or desirable to specify the system from the enterprise viewpoint or to understand
the enterprise specification. Resource, artefact and actor are specialisations of an
enterprise object. An actor participates in an action, an artefact is referenced in an action,
and a resource is essential to some behaviour and may require allocation or may become
unavailable. Equivalent concepts in ArchiMate can be found in the structural aspect namely:
business roles, business actor, application component, business object, data object,
business interfaces and application interfaces. All these ArchiMate concepts are directly
related to behavioural concepts and describe specific assignable parts of an enterprise
system. In general the resource enterprise object does not occur in ArchiMate. Only in case
a resource represents a structural element from the application or technical layer there is an
ArchiMate counterpart.
A community object is a composite enterprise object that represents a community.
Although collaboration in ArchiMate aggregates business roles and not business actor
(enterprise object in RM-ODP) the business collaboration concept resembles the
community object. However, passive enterprise objects such as resources and artefacts,
represented by business object, do not form part of the collaboration in ArchiMate.
A community appears to be a central concept in RM-ODP. However, we could not find an
explicit definition in ITU-T X.902. A community is described as a configuration of enterprise
objects formed to meet an objective. Behaviour associated with a community is such that it
meets its objective. The collective behaviour of the community is specified in a collection of
roles, assignment of roles to behaviour and policies and accountabilities that apply to the
roles and behaviour. In ArchiMate there is no direct counterpart. However, the community
concept resembles the business domain concept as it is used by, among others, ABN
AMRO. In their view, a business domain describes an “organisational entity” with dedicated
objectives and responsibilities. A business domain has its own organisational and
application infrastructure to realise its objectives.
In our opinion, the use of the community and community object in RM-ODP are not clearly
separated.
A role is an identifier for behaviour, which may appear as a parameter in a template for a
composite object, and which is associated with one of the component objects of the
composite object. In ArchiMate the business role and application component are its
counterpart. Both these concepts are identifiable concepts that are assigned to specific
behaviour.
An interface role is a role of a community identifying behaviour, which takes place with the
participating objects that are not a member of that community. The counterpart in ArchiMate
is the business interface that declares how a business role can connect with its
environment.
A process in RM-ODP is defined as a collection of steps taking place in a prescribed
manner and leading to an objective. A process aggregates more detailed behavioural
concepts such as actions and steps. This concept corresponds well with ArchiMate’s
A R C H I M A T E / D 2 . 2 . 3 B 2 5
definition of business processes combined with business services. Services address a
Value, and are realised by a business process. Business functions in ArchiMate, on the
other hand, have no prescribed manner in which they are executed.
A step in RM-ODP is an abstraction of an action that may leave unspecified objects that
participate in that action. In ArchiMate such a concept does not exists. However, during a
model design phase, sub-processes and the atomic business activity concepts are
similar to the step concept when not yet assigned to a specific business role.
An action is defined as something that happens (ITU-T-X.902). No counterpart exists in
ArchiMate with respect to the precise definition. Taking into account the relations of the
action concept in the RM-ODP metamodel (Figure 13) an action is very similar to a
business process (sub-process) and the atomic business activity concept in ArchiMate.
Behaviour in RM-ODP is defined as a collection of actions with a set of constraints when
they may occur (ITU-T X.902). Although the definition by itself indicates a resemblance with
a business process, a business function in ArchiMate covers the meaning more precisely.
In RM-ODP a community has particular behaviour. Behaviour aggregates certain roles,
which are fulfilled by actors (enterprise objects). Furthermore, actors are assigned to actions
that are part of a process. In this sense behaviour describes a certain functionality showing
its resemblance with a business function in ArchiMate.
The following table summarizes the above findings.
RM-ODP concept ArchiMate equivalent
Objective Value and service
Enterprise object Business actor, Application Component,
Business object, Data object; Business
interfaces and Applications interfaces
Community object Business collaboration
Community Appears to resemble the business domain
concept that ABN AMRO covets
Role Business role; Application component
Interface role Business interface
Process Business process/application function
Step Sub-process; business activity
Action Sub-process, business activity
Behaviour Business function
Table 2: Concept correspondence between ArchiMate and RM-ODP enterprise viewpoint language
4.3 Ex am p l e m o d el ex p r es s ed i n RM-ODP
Figure 14 shows part of the example model expressed in RM-ODP enterprise viewpoint
concepts. RM-ODP does not prescribe a specific notation. Therefore, we introduce a very
2 6 T E L E M A T I C A I N S T I T U U T
basic visual notation. The concept type is written, as a kind of UML stereotype, between
triangular brackets, and the name of the instance is written underneath. Given the scope of
the RM-ODP enterprise viewpoint, only the business layer can be modelled in detail.
However, certain parts of the application layer and technology layer can be modelled by
means of the high-level enterprise objects.
Conform to the RM-ODP approach we define a community: the insurance community.
Corresponding enterprise objects represents business actors, Business Roles, Information
objects, Application components and nodes from the ArchiMate language. The insurance
community consists of these enterprise objects. Also, the damage claiming process is
modelled by means of actions, which are causally related (ITU-T X.902)
The various enterprise objects are linked through the damage claiming process. Depending
on their role in the process the enterprise objects are actors, resources or artefacts.
Although the relations are not defined explicitly (or clearly) in the ITU standard, we have
used three different relation types corresponding to the different enterprise objects shown in
Figure 13.
Insurance community
Insurancecommunity
Insurance Community
<< Process >> Damage claiming process
<<EO,Actor>>Client
<<Role>>Insurant
<<EO,Actor>>ArchiSurance
<<Role>>Insurer
fullfills fulfills
<<Action>>Registration
<<Action>>Acceptance
<<Action>>Valuation
<<Action>>Payment
Causility Causility Causility<<EO,Artefact >>Claim
<<EO, Artefact >>Claim Data
<<EO, Artefact >>Claim file
<<EO, resource>>Claims
administration
<<EO, resource>>Customer
administration
<<EO, resource>>Risk assessment
<<EO, resource>>application
Assigned
essential to
essential to
essential to
essential to
Insurance community<<EO, resource>>Zseries mainframe
<<EO, resource>>Sun blade
<<EO, artefact>>Risk assessment
EJB
Referen-cedin
essential to
essential to
essential to
refe
renc
ed in
refe
renc
ed in
<<Role>>Customer
administrator
<<Role>> <<Role>> <<Role>>
<<Role>> <<Role>> <<Role>>
Figure 14: Example model, modelled with RM-ODP enterprise viewpoint concepts
A R C H I M A T E / D 2 . 2 . 3 B 2 7
In comparison to the ArchiMate example model we conclude that:
• RM-ODP does not support the service concept. However, RM-ODP rules state that at
least one role has to be coupled to an enterprise object. These roles resemble the
external services in some sense.
• Relationships in RM-ODP are not defined explicitly (or clearly)
• In the enterprise language the community concepts plays a central role. Through the
process (behaviour) the various enterprise objects are linked. No direct relationships
between objects are defined.
• More detailed concepts of the information, application and technology domain in RM-
ODP are defined in the informational, computational and technological viewpoint
languages. Correspondences are defined in the standard for linking the different
viewpoints
4.4 Co n c l u s i o n
From the comparison of RM-ODP with ArchiMate, some general observations can be made
and conclusions can be drawn.
• RM-ODP is an international standard. The five viewpoints cover an ODP system quite
well. The enterprise viewpoint addresses structural, behavioural as well as contractual
and accountability aspects. Especially the latter two provide valuable input for extension
of the ArchiMetamodel.
• RM-ODP’s objective is to define architecture concepts that are supposed to be
sufficiently abstract and precisely enough defined to enable a possible mapping onto any
method or language. Also, no methodology or syntax is prescribed. RM-ODP, as its
name clearly suggests, is more of a reference model than a modelling language. In our
view, this follows from the loosely defined relations between concepts. Relations are not
made explicit. This makes it difficult to construct models in an unambiguous way.
• The RM-ODP standards are difficult to access. More recent standards rely heavily on
earlier standards. Also, the intended generality of RM-ODP hinders accessibility.
Studying an RM-ODP standard in detail is time consuming. It presents a good insight
into, and an overview of relevant architectural concepts and ideas. However, the reader
is left without an instrument to materialise his knowledge.
• It is very hard to find example models expressed in RM-ODP enterprise viewpoint
language. The resulting models are expressed at a very high level of abstraction.
• In order to achieve coherent models, covering different architectural layers, more RM-
ODP viewpoint language have to be considered. The enterprise viewpoint by itself is not
enough. To this purpose correspondences with other viewpoints are defined.
2 8 T E L E M A T I C A I N S T I T U U T
5 EDOC profile for UML
EDOC - Enterprise Distributed Object Computing - is a UML profile. The specification of this
so-called EDOC profile is a product of the Object Management Group (OMG) (Object
Management Group, 2002). The aim of the profile is to provide a modelling framework
enabling substantial simplification in developing components for enterprise computing
systems in line with business functions and business processes. To that aim, the modelling
framework provides a platform independent, collaboration-based approach. The approach
can be used for business modelling and for (computing) systems modelling separately but
also for modelling integration of business processes and applications. Moreover, the
approach can be applied on different granularity levels and with different degrees of
coupling, while remaining independent from the - underlying or aimed at - technology,
middleware and communication paradigm. More concretely, the approach consists of five
modelling elements within the conceptual framework of RM-ODP (see Chapter 4). The set
of the five modelling elements is called: ECA, Enterprise Collaboration Architecture; the five
elements it consists of, are represented by five UML profiles:
• Component Collaboration Architecture (CCA),
• Entities,
• Events,
• Business Process,
• Relationships.
Only the Enterprise, Computational and Information viewpoint specifications from RM-ODP
are expressed through these five profiles in ECA: The two remaining RM- ODP viewpoint
specifications are expressed through technology specific models related to the ECA profiles
via specific mappings.
5.1 Fr am ew o r k EDOC
In order to point out how the five ECA profiles are used to express or cover the Enterprise,
Computational and Information viewpoints from RM-ODP, we briefly introduce the five ECA
profiles.
CCA, Component Collaboration Architecture, covers both structure and behaviour of an
arbitrary system. It does this component-wise, by grouping UML classes and UML
collaborations into a so-called process component. A process component can contain other
process components. A process component interacts with another component through
ports. This reflects the structure. A process component also has dynamics, expressed
through UML activity diagrams and UML state machine diagrams. In the context of CCA
such dynamics or behaviour are called a choreography (of a process component). Strictly
speaking, CCA specifies structure only by means of process components. Furthermore, a
specification exists of the dynamics of these components
Entities cover the (more passive) process components or parts thereof. They represent
business objects, application domain objects as well as (technology independent) IT
A R C H I M A T E / D 2 . 2 . 3 B 2 9
objects. As such they document state changes of these objects, relevant for the (business)
model.
Business Process is a specialisation of the (more active) process components in a CCA.
The specialisation is towards the business context, describing business processes in terms
of a composition of business activities and of their communication and coordination. In
addition, it gives the criteria for selecting entities to carry out the activities. It is not unusual
that such a specification of business processes is given in a declarative manner, by means
of (business) rules.
Events are triggers for business rules. When an event happens, it triggers some rule, which
leads to one or more activities taking place, resulting in actions which in turn change the
(current) state of one or more (business) entities.
Relationships represent the (physical) paths over which the actions or the events occur.
They constitute the connectors connecting ports. Not so much their multiplicity is relevant,
but the types of actions or of events are important.
We identify the following building blocks as the process components in a CCA for the
business context: business processes and (business) entities, with two different flows
between them: an action flow from a business process to an (business) entity and an event
flow from an (business) entity to a business process. Note the different visualizations of a
sending port and a receiving port.
Figure
15: Building blocks for a CCA
Particularly, in a business context, the business rules constituting a business process are
typically notifications, conditions or activities. This results in one ore more actions. A
business entity consists of causalities that are typically operations, states or state changes.
This results in one or more events.
Making the connection from a business process to a business entity then is a matter of
configuring actions to operations, and the other way round, making the connection from a
business entity to a business process then is a matter of configuring (publish-) subscriptions
in order to get the coupling between events and notifications right.
Similarly, in the more general setting of process components, a state transition in a state
machine diagram, underlying specification of local dynamics behind an entity’s operation or
3 0 T E L E M A T I C A I N S T I T U U T
behind a process component’s activity, can be labelled as: incoming trigger additional local
condition / result instantaneously reached.
An incoming trigger can be an event or an action, and a result that is instantaneously
reached can be the sending of an action or of an event. In this way, interaction in CCA
always has the same structure, in a business context as well as in an application or
technical context of higher level or lower level software components: something arriving
from elsewhere / local circumstances / immediate short-term effect.
As a further consequence of the short-term effect, in due time a longer-term effect will be
established conform the goal of the interaction within the collaboration.
The five ECA profiles are related to the RM-ODP viewpoints of Enterprise, Computational
and Information in the following manner:
Figure 16: ECA profiles related to RM-ODP viewpoints
Compared to ArchiMate we observe the following differences. First of all, EDOC itself is
completely described in terms UML, by means of the five ECA profiles. These are restricted
to the diagrams for classes, collaborations, activities and state machines. So a systematic
translation from ArchiMate to EDOC is actually more restricted than the translation from
ArchiMate to UML.
Second, there is a big difference between the actual business level (the Enterprise
viewpoint) and the application level (the Computational and Information viewpoints). For the
Enterprise viewpoint one should use all five profiles. For the Computational viewpoint one
does not have the relationship profile, so physical paths are considered less relevant here.
Processes, although not really Business Processes, are still present as they belong to the
CCA profile. For the Information viewpoint one misses CCA, Process and Event. Only when
integrating the two viewpoints of Information and Computational, one gets a specification
that is similar to the specification of the Enterprise viewpoint. In ArchiMate, there are no
A R C H I M A T E / D 2 . 2 . 3 B 3 1
such large differences between the business level and the other levels, as the metamodels
for the various specific levels comply to the general metamodel represented in Figure 5.
Third, engineering and technology viewpoints are specified through mappings from the ECA
profiles to more concrete languages than UML (e.g. FCM - Flow Composition Model - for
the engineering viewpoint as low level abstraction from technologies; furthermore, for the
technology viewpoint, EJB, CORBA, SOAP, etc.).
5.2 Det ai l ed Co m p ar i s o n b et w een o r Tr an s l at i o n f r o m Ar c h i Mat e t o
EDOC Co n c ep t s
The purely structural concepts from the ArchiMate metamodel are Object and Actor. These
correspond best to the EDOC notions of Entity and Process Component (within CCA)
respectively. As an important difference however, an EDOC Entity has dynamics via which it
participates in any choreography of process components causing a state change in that
Entity.
A CCA then comes very close to an ArchiMate Collaboration, be it that in ArchiMate only
Actors, via their Roles, can participate in such a Collaboration, whereas in EDOC not only
Process Components but also Entities belong to a CCA. Here one sees the additional
drawback of translating concepts that have already been related to each other conform a
certain architectural structure, to a new set of concepts conforming to a different
architectural structure. Although in some cases there is an obvious correspondence
between the concepts ArchiMate and EDOC, their embeddings into their different contexts
actually interfere with or even frustrate such correspondences.
The choreographies belonging to a CCA, specified through statemachines or through
activity diagrams, correspond to ArchiMate Interactions. An ArchiMate Process or Function
then corresponds to one activity in EDOC, expressed as an activity in a UML activity
diagram. Here appears another interesting difference between EDOC and ArchiMate. In
EDOC it is fairly straightforward to refine an activity in to smaller steps, even in case no
additional interchange of events or actions is involved, as this belongs to the standard
expressivity of activity diagrams and state machines. In ArchiMate, any refinement of a
process or function into smaller steps has to be expressed through likewise smaller
processes or functions, carefully connected via ArchiMate triggers-relationship. Even rather
standard refinement of a process into a strictly sequential number of smaller steps
(processes), has to be specified through the triggers-relationships, which gives thus refined
ArchiMate models a somewhat clumsy flavour.
Ports, via which EDOC Process Components and EDOC Entities communicate, correspond
to ArchiMate Interfaces, be it - again - that an ArchiMate Object, although corresponding to
an EDOC Entity, cannot have an Interface.
EDOC Activities that can be triggered by means of an EDOC Event or more directly via a
choreography, in which some other activity is involved, correspond to ArchiMate Services.
The way such a Service is connected to an Interface via the assigned-to-relationship that
corresponds to the EDOC way of triggering such activity via an EDOC Port.
3 2 T E L E M A T I C A I N S T I T U U T
EDOC Events rather straightforwardly correspond to ArchiMate Events.
EDOC Relationships usually express physical paths via which some interchange of actions
or events is realised. So - likewise usually - they correspond to the ArchiMate uses
relationship in which a Service participates, or to the ArchiMate accesses relationships in
which an Object participates.
ArchiMate's informative concepts do not have an explicit counterpart in EDOC, although
depending on the formulation of the business rules being part of a Business Process
Component, it could be the case that Purpose or Meaning and Representation can be
recognised relatively easy.
Summarising, we present the following two tables, listing the above correspondences for
each translation direction separately.
ArchiMate EDOC comment
actor process component
object entity
role choreography the name of a choreography only, not its dynamics
collaboration CCA
interface port
process/function choreography real dynamics, as if it is sequential
interaction choreography real dynamics, with communicative steps
event event / action
event if sent by object (entity) to actor (process
component);
action if sent by actor (process component) to object
(entity)
service activity / operation activity if provided by actor (process component);
operation if provided by object (entity)
purpose - rules, notes, comments
representation - rules, notes, comments
meaning - rules, notes, comments
relationship relationship only if it reflects something physical
Table 3: Correspondence from ArchiMate to EDOC
A R C H I M A T E / D 2 . 2 . 3 B 3 3
EDOC ArchiMate comment
CCA collaboration a model as a whole also is a CCA
entity object / actor object only if it is really passive
process
component actor
choreography role, process/function, interaction
(part)
role represents a choreography’s
name only;
it can be 1 score (lifeline) of an
interaction
port interface
activity service
operation service
action event
event event
relationship relationship
Table 4: Correspondence from EDOC to ArchiMate
5.3 Ex am p l e m o d el ex p r es s ed i n EDOC
The EDOC representation of the claim-handling example from the ArchiSurance case is
visualised in the figures below. We thereby follow the diagrammatic conventions as given in
the OMG document (Object Management Group, 2002). Most of these conventions are
rather self-evident, so our additional explanation will be very restricted.
The first figure presents the structural part, consisting of components and entities connected
via ports. These ports have directions corresponding to sending or receiving ports. The type
of message - event or action - is indicated as a textual label of the port. A port can have a
hierarchical structure - see the ports on the business layer, consisting of smaller ports. The
global structure of the figure complies with the three ArchiMate layers for business (upper
part), for applications (middle part) and for technology (lower part). This last layer is only
hinted at, as its actual details are not really surprising as well as space consuming (another
half page). Moreover, according to the EDOC conventions one would need lower level
modelling elements (from FCO - Flow Composition Model - or corresponding to CORBA,
EJB, SOAP, ... ) in order to specify the lowest layer. This is outside the scope of the paper.
Where information has to be stored, the communication is unidirectional: towards the
underlying database only, which may also mean towards a suitable higher level application
or business entity, kept consistent (always) with the corresponding tuple in the database.
(Such consistency relation is reflected in the figure as a specialisation, like in the ArchiMate
model. In the context of EDOC one might think of it as a bi-directional publish-subscribe,
which means it can be modelled in slightly more detail by means of send-receive-like
relationship connecting corresponding ports.) Where some result is requested, the
communication is bi-directional. It is important to observe, such directions do not occur in
3 4 T E L E M A T I C A I N S T I T U U T
ArchiMate models. But they do in EDOC models. Compared to the original ArchiSurance
model, we think our choices to be mildly more restrictive only.
The second figure gives a choreography corresponding to the damage claiming process. It
is visualized as an activity diagram, although it is a choreography for a business layer
component. According to the Business Process profile of EDOC one probably would have
expected a more rule-based-like specification of the relevant dynamics, in a more
declarative, business-like style. But in the case of the ArchiSurance example the
specification of the damage claiming process has a rather strong operational, if not
imperative flavour, so a more declarative specification would have been less in place.
In order to point out when exactly communication is taking place in the activity diagram, the
various ports are present too, each port with its own swim lane. In so doing, we end up with
one swim lane not corresponding to a port, corresponding instead to the overall internals of
the component ArchiSure responsible for the damage claiming process. We have labelled
that swim lane as DamageClaimingProcess, reflecting what activities constitute the main
body of the damage claiming process. In the two cases corresponding to the smaller
processes Acceptance and Payment, we had to represent each of these smaller processes
by means of two activities, one for a beginning and the other for a finalization. In between
such a beginning and finalisation there is a request for a computation (service) of a
component in the application level. Such a request can be done only after the beginning of
the activity. Moreover, only after the answer (consisting of the result as requested) has been
received, the finalisation of the activity can be performed.
It is interesting to note, how in the swim lanes of the various ports, visualizations appear of
the dynamics belonging to the Insurer's role at that particular port.
A R C H I M A T E / D 2 . 2 . 3 B 3 5
Figure 17: Example model, modelled by means of the EDOC profile
3 6 T E L E M A T I C A I N S T I T U U T
Figure 18: Part of example model, modelled by means of a EDOC choreography
5.4 Co n c l u s i o n s
Although ArchiMate's concepts and EDOC's concepts are sufficiently similar, the difference
in embedding these notions in an architectural framework seriously hampers a precise
translation.
A R C H I M A T E / D 2 . 2 . 3 B 3 7
ArchiMate has more similarity on all levels than EDOC. This is a positive influence of
ArchiMate's generic metamodel from which the metamodels for the three layers have been
derived.
ArchiMate has less similarity than EDOC has between its passive components and its active
components. In that respect ArchiMate is not (or less) object-oriented, where EDOC is
(more) object-oriented. But even EDOC discriminates between the passive and the active
components via the different terminology of events triggering activities and actions triggering
operations.
ArchiMate's model of the example remains more declarative than the corresponding EDOC
model, as no communication direction is indicated and as no splitting of an activity into pre
and post communication states. Our impression is that this phenomenon holds more
generally. Next to the present examples with a strong operational flavour it appears to hold
for more declarative examples as well. This makes EDOC models substantially more
technical than the corresponding ArchiMate models. Particularly for the business level this
might be considered as an advantage of ArchiMate over EDOC.
3 8 T E L E M A T I C A I N S T I T U U T
6 Business Process Modelling Notation
BPMN is one of the standards being developed by the Business Process Management
Initiative, BPMI (http://www.bpmi.org). BPMI is a not-for-profit organisation, which states as
its goals: (1) the specification of open standards for process design, and (2) the support of
suppliers and users of business process management techniques and tools. Many
organisation involved in business process modelling and management are involved in the
BPMI activities. Other standards that are being developed by BPMI include:
• The Business Process Modelling Language, BPML: an XML-based metalanguage for
the exchange of business process models.
• BPQL: a business process query language.
The BPMN standard (Business Process Management Initiative, 2003) specifies a graphical
notation that is to serve as a common basis for a variety of business process modelling and
execution languages. Mappings from BPMN to, among others, BPML and BPEL4WS
(Business Process Execution Language for Web Services) have been defined. Version 1.0
of the BPMN specification has appeared in August 2003. Examples of business process
notations that have been reviewed for this are UML Activity Diagrams, UML EDOC Business
Processes, IDEF, ebXML BPSS, Activity-Decision Flow (ADF) Diagrams, RosettaNet,
LOVeM and Event Process Chains (EPCs).
6.1 Fr am ew o r k BPMN
As the name already indicates, BPMN is restricted to the business layer, with a strong
emphasis on the behaviour aspect. The main purpose of the language is to provide a
uniform notation for modelling business processes in terms of activities and their
relationships. The ‘pool’, ‘lane’ and ‘artefact’ concepts offer limited possibilities for including
some structural and informational aspects associated with the business processes.
Businesslayer
Applicationlayer
Technicalinfrastructurelayer
Informationaspect
Behaviouraspect
Structureaspect
BPMN
Figure 19. Coverage of BPMN
6.2 Co n c ep t s /m et am o d el
Currently, BPMN only defines a concrete syntax, i.e., a uniform (graphical) notation for
business process modelling concepts. However, there is a formal mapping to the XML-
based business process execution language BPEL4WS. A formal metamodel for BPMN
A R C H I M A T E / D 2 . 2 . 3 B 3 9
does not (yet) exist. However, to give an overview of the language, we show our
interpretation of a metamodel of the main BPMN concepts in Figure 20.
Pool Lane
Entity
Event Activity Gateway
Task
Artifact
Dataobject
Anno-tation
Assosiation
Messageflow
Sequenceflow
Messageflow
Message flow
Figure 20. BPMN metamodel
An event in BPMN is defined as something that “happens” during the course of a business
process. These events affect the flow of the process and usually have a cause (trigger) or
an impact (result). This closely matches the business event concept in ArchiMate.
However, BPMN defines a large number of specialisations of the concept. The main
specialisations are start event, stop event and intermediary events, but several subtypes
of all of these exist. This is in agreement with the focus of BPMN on detailed process
modelling, which differs from ArchiMate’s goal, i.e., to model the overall structure of an
enterprise.
An activity is a generic term for work that a company performs. An activity can be atomic or
non-atomic (compound). In this sense, it most closely matches the generic business
behaviour concept in ArchiMate. Specialisations of the activity concept are process
(ArchiMate: business process), sub-process (ArchiMate: business process/function)
and task, defined as an atomic activity that is included within a process (ArchiMate:
business activity).
A gateway is used to control the divergence and convergence of sequence flow. Thus, it
will determine branching, forking, merging, and joining of paths. The gateway concept is
useful mainly for detailed process modelling, for which BPMN has been developed. BPMN
defines a large number of specialisations of the gateway concept. The junction relation in
ArchiMate, which is used to model, e.g., split or joins of triggering relations, can be seen as
an abstraction of the gateway concept. However, the gateway concept often also implies
behaviour. If this behaviour is relevant, a mapping to a business activity (with multiple
outgoing triggering relations, or followed by a junction) might be more suitable.
A pool is a “swimlane” and a graphical container for partitioning a set of activities from other
pools, usually in the context of B2B situations. A lane is a sub-partition within a pool and will
extend the entire length of the pool, either vertically or horizontally. Lanes are used to
organise and categorise activities. Pools and lanes can be used to group activities based on
4 0 T E L E M A T I C A I N S T I T U U T
arbitrary criteria. As such, they can be mapped to the grouping relation in ArchiMate.
However, they are most commonly used to represent the actors or roles that perform to
activities. In that case, they can be interpreted as the business actor or business role
concept in ArchiMate. The only relation that can be specified between pools is a message
flow. Placing activities within a pool or lane can be seen as a way to specify the
assignment between behaviour and roles/actors in ArchiMate.
BPMN defines three types of artifacts, which are not formally defined as concepts. An
annotation is a textual annotation that can be associated with any concept. There is no
separate concept for this in ArchiMate. A data object represents data that can be accessed
by activities, very similar to the business object in ArchiMate. Finally, a group artifact can
be used to group arbitrary concepts, in the same way as the grouping relation in ArchiMate.
A sequence flow is used to show the order that activities will be performed in a process.
The ArchiMate triggering relation can express this control flow in a quite similar way.
A message flow is used to show the flow of messages between two entities that are
prepared to send and receive them. In BPMN, two separate pools in the diagram will
represent the two entities (participants). In ArchiMate, the flow relation can be used to
express this.
An association is used to associate information with flow objects. Text and graphical non-
flow objects can be associated with the flow objects. Depending on the exact use, this is
represented by the access relation or the association relation in ArchiMate.
Table 5 summarises the BPMN concept mappings.
A R C H I M A T E / D 2 . 2 . 3 B 4 1
BPMI concept ArchiMate equivalent
Event Event
Activity
Business process/function
Gateway
Junction*
Sequence flow Triggering relation
Message flow Flow relation
Association Access relation;
Association relation
Pool Nam
eN
ame
Actor;
Role;
Grouping relation.
Lane
Nam
eN
ame
Nam
e
Nam
eN
ame
Nam
e
Actor;
Role;
Grouping relation.
Task
Business activity (specialisation of Business process)
Artifact
Generic concept, see specialisations below
Data object
Business object
Group artifact
Grouping relation
Annotation TextText
None
Table 5. Summary of BPMN mapping
6.3 Mo d el s
Figure 21 shows a part of our example model expressed in BPMN. Only the business layer
can be modelled: BPMN lacks concepts for modelling applications or technical infra-
structure. Services cannot be modelled either. The actors or roles that perform certain
processes or activities can be shown by means of pools.
4 2 T E L E M A T I C A I N S T I T U U T
Arc
hiS
uran
ce Registration Acceptance Valuation Payment
Clie
ntC
lient
Submitclaim
ClaimClaim
Receivedecision
1) senddamage form
2) sendnotification
Figure 21. Example model in BPMN
6.4 Co n c l u s i o n
The coverage of BPMN is restricted to the business layer. Moreover, there is a strong
emphasis on the behaviour aspect; actors/roles that perform the behaviour can be modelled
in a limited way by means of pools and lanes.
All the main BPMN concepts (except Annotation) have an equivalent in ArchiMate, while on
the other hand not all of the ArchiMate concepts have a counterpart in BPMN. However,
BPMN has a large number of more specific concepts, which are defined as specialisations
of the main concepts. This is in agreement with the objectives of the two languages: while
ArchiMate is designed to describe the high-level architecture of the whole enterprise, BPMN
focuses on the detailed description of business processes.
Currently, BPMN does not have a formal metamodel and the concepts and relations have
not been defined in a strict way. The emphasis is on the graphical notation of the language.
A R C H I M A T E / D 2 . 2 . 3 B 4 3
7 ARIS
7.1 Fr am ew o r k Ar i s
Aris is the name of a prominent tool for process modelling as well as the name
conventionally used for the method and concepts at the core of it. Unless explicitly stated
otherwise, it’s the latter usage we refer to throughout this chapter. Our description of the
framework and the concepts is based mainly on version 6.2 of Aris Methods (IDS Scheer
AG, 2003), which comes with the Aris Toolset.
The concepts of ARchitecture of integrated Information Systems (ARIS) are developed
around 1980 and onwards by August-Wilhelm Scheer. The design is based on what he calls
‘an integration concept which is derived from a holistic analysis of business processes’.
Figure 22: Aris views
The components necessary to provide a full description of a business process are
procedures, events, products/services (statuses), processors, organizational units and
information technology resources [AM2003, p. 2-2]. In order to reduce the complexity of a
model entailing all of these aspects, Aris discerns individual views that represent separate
modelling and design aspects: products and services, functions, the organization and the
(ICT) resources (treated as data). To this a fifth view is added, in which the concepts from
the views are linked together: the control view. These views usually are depicted in the form
of a house.
4 4 T E L E M A T I C A I N S T I T U U T
Figure 23: Aris Framework
For each of these views three levels of description are used, along the lines of the software
development life cycle. These are the requirements definition level, the design specification
and the implementation level, respectively. Depicted in the Aris house this gives us the
following framework.
The projection on the aspects and layers of Archimate shows that the greater part of all the
‘boxes’ is being served by the views. We even have to split the projection, because of the
special nature of the control view, where all objects are reused to model processes.
Businesslayer
Applicationlayer
Technicalinfrastructurelayer
Informationaspect
Behaviouraspect
Structureaspect
Control view
Businesslayer
Applicationlayer
Technicalinfrastructurelayer
Informationaspect
Behaviouraspect
Structureaspect
Function view
Productview
Organizationview
Dataview
Figure 24: Coverage of Aris views
7.2 Map p i n g o f t h e Ar i s o b j ec t s t o t h e Ar c h i m at e c o n c ep t s
Considering the very large number of concepts (‘objects’) in Aris it seemed advisable to
start with the Archimate concepts and map them upon the Aris concepts rather than the
other way around. This way we get a good grasp of the completeness of Aris with respect to
Archimate. We don’t get a good view upon the completeness of Archimate with respect to
Aris though. This is not a problem, for the completeness of Archimate follows from the
purposes set for the ArchiMate language. Especially the inter-domain communications are
leading for the scope of Archimate.
Although we take the ArchiMate concepts as a starting point and identify Aris counterparts
we choose to present the results in reverse order. This is done to help those not familiar
with Aris to get some understanding of the structure of the conceptual language of Aris. We
leave out the object types of lesser importance and those too far outside the domain of
Archimate. For ease of reference we refer to the five views in our discussion of the Aris
objects. We conclude the discussion of each layer with a wrap-up table from the perspective
of Archimate.
A R C H I M A T E / D 2 . 2 . 3 B 4 5
7.2.1 Co n c ep t s o f t h e B u s i n es s l ay er
In the function view we find two object types: function and target, that refer to the business
layer. They each can be hierarchically ordered, in the function diagram and the objective
diagram respectively.
Function is defined as a technical task or activity performed on an
object in support of one or more company objectives1. This is broader
than the BUSINESS FUNCTION, it also seems to encompass the concepts
BUSINESS PROCESS and BUSINESS INTERACTION. The specializations of
these concepts in Archimate can be modeled in Aris as so called
variants.
The data view gives us a lot of already well-known concepts. Next to specific Aris object
types Aris relies on existing modeling techniques such as ERM (and it’s dialects) and DTD
(XML). Aris also has implemented UML, but all of its models are located in the control view
(there would be a strong case to locate the class diagram in the data view).
The obvious matching of BUSINESS OBJECT would be with a class. The main object types
specific for Aris that match to Archimate concepts are: technical term, cluster and
information carrier.
An information carrier represents a means to store information. This
may be accomplished in the form of card files, forms or files on a
computer. This corresponds with REPRESENTATION.
Also important: data cluster. A cluster represents the logical view on a
collection of entity types and relationship types of a data model that is
required for the description of a complex object. Being the logical view on
a complex object the data cluster is best mapped onto the BUSINESS
OBJECT.
The organization view describes the static structure of the organization.
An organizational unit is defined as the performer of the tasks that
must be performed in order to attain the business objectives. It
corresponds with BUSINESS ACTOR.
On a more detailed level we see the object type position, defined as
the smallest organizational unit in a company. It is assigned to
employees (persons). In general, the authorizations and
responsibilities of a position are defined in position description. This
object type also corresponds with BUSINESS ACTOR.
1 Texts in italics are quotes from AM2003.
Function
Cluster
Information carrier
Organizationalunit
Position type
4 6 T E L E M A T I C A I N S T I T U U T
The control view, mostly referred to as the process view, is the place where the relations
between the various views are forged. The most pervading model type is the event-driven
process chain (EPC), which depicts the procedural sequence of functions and along with
that relates the functional view to the data view.
The two central object types are function and event. The latter is
defined as the existence of a state of an information object that is
pertinent for business management and which controls or influences
the subsequent procedure of the business process. Events trigger
functions and are the results of functions. Unlike a function, which is a
time-consuming occurrence, an event is related to one point in time.
The event corresponds with BUSINESS EVENT.
In relation to BUSINESS ROLE Aris presents the role diagram, not an object type, but having
semantics nevertheless according to the description. It is a still unclear how this will map in
a methodically sound manner. Looking for an alternative, the object type to be considered is
the person type (employee type), which represents the typification of individual persons,
which have the same characteristics. These characteristics may refer to similar
authorizations and responsibilities, for example. Department heads or foremen, for example,
have to follow rules and fulfill responsibilities, which – in case a corresponding type exists –
need to be defined only once.
A candidate for BUSINESS COLLABORATION is difficult in Aris too. One might
think of the object type group, defined as the representation of a group
of employees (persons), which are working together for a specific period
of time (project group), for example. The main difference with
organizational unit is the temporal nature of the group, hence the
proposed matching.
The process view also presents us
a model, which equals the concept
BUSINESS INTERFACE: the product
allocation diagram. In it so-called
variants can be used to model
different ways of delivering
services. See figure to get an idea.
The concepts ORGANISATIONAL
SERVICE and PRODUCT can be
rather straightforwardly mapped
onto the objects service and
product (on a higher level of
abstraction also occurring as
product/service); these objects
are described in the
product/service view. They are
defined as: a product/service is performed in the course of a value-added process. It is the
result of a human act or a technical process. A product/service can represent either a
Marketing instrument
Distributionchannel
Service
Need
Performancecharacteristic
Client
Event
Person type
Group
A R C H I M A T E / D 2 . 2 . 3 B 4 7
service or a product. A product can be a consumable product, a material type, an operating
resource type, a technical operating supply type or a packaging material type (these
specializations all have there own graphical representation and semantics). A service is an
intangible product that is produced and consumed simultaneously.
VALUE presents another problem. A related object type might be key
performance indicator instance, defined as an indicator or a key
indicator for measuring a degree of goal accomplishment. It can contain
a plan value, an actual value and a target value. Another candidate is
need, which describes a person's feeling of deficiency, which is to be
dispelled. A need stands at the beginning of a purchasing decision process. If the person is
faced with a product that is likely to satisfy his need, a demand arises.
MEANING has the object type knowledge category for a closely matching
counterpart. Occurrences of this object type categorize all kinds of
knowledge, including the knowledge that is documented. Like MEANING
knowledge is seen as content, different from the documents that record it.
Taking all this into consideration we present the following mapping as a starting point for
further study.
Archimate concept Aris object Remarks
Business actor Organizational unit,
position
Business collaboration Group This object type has a structural nature,
as opposed to the structural/behavioural
nature of the COLLABORATION (see
remarks on ROLE)
Business event Event
Business function Function
Business interaction Function
Business interface Service variant
(product allocation
diagram)
Business object Entity (type) (ERM);
data cluster
Entities are real or abstract things that
are of interest for those tasks in a
company that are currently under
consideration. If entities of the same type
are grouped into sets, they are called
entity types.
Data clusters represent complex objects
(i.e. objects that are readily broken
Keyperformance
indicatorinstance
Knowledgecategory
4 8 T E L E M A T I C A I N S T I T U U T
Archimate concept Aris object Remarks
down, like ‘customer order’)
Business process Function
Business role Role diagram
Alt: Person type
Aris does not distinguish the role as an
object type, but the tool includes the
Role diagram, in which processes are
coupled with authorisations, knowledge
and positions or persons.
An alternative is presented by person
type. It has a stronger structural
connotation than ROLE, but might fit.
(Note that position also might be mapped
onto BUSINESS ACTOR.)
Contract Technical term Aris does not present a specific object
type for this concept. The generic
technical term can be used.
Meaning Information category
Organisational service Service
Product Product
Representation Information carrier
Value Need Not an exact match, but close enough
Table 6: Business concepts correspondence between ArchiMate and Aris
7.2.2 Co n c ep t s o f t h e ap p l i c at i o n l ay er
The main object type of the design specification in the function view is
the application system type. It is defined as a typification of individual
application systems which have exactly the same technological
properties. In addition to this two lower order object types are
distinguished: the module type and the IT function type. In the usage of
these object types shows, that mainly a functional view on applications is
intended. In this perspective these object types correspond with the
APPLICATION COMPONENT and COLLABORATION. It depends on the desired
granularity of the description which of the three suits best in a given
model. It also is possible to choose for the APPLICATION FUNCTION and the
APPLICATION INTERACTION; Aris doesn’t seem to
distinguish the internal behaviour from the artifact the
way Archimate does.
The data view contains as principal object type
relation: a description of an entity type (BUSINESS
Relation
Entity type
Attribute
Applicationsystem type
Module type
IT functiontype
A R C H I M A T E / D 2 . 2 . 3 B 4 9
OBJECT) using its attributes. It is a subset of the possible combinations of the value ranges
of the individual attributes. Following this definition we match this object type with DATA
OBJECT. The usage of this object type in the relations diagram supports this interpretation
(see figure). The data cluster is on the application layer represented by the view, which
groups the relations for it.
The product/service view gives us the information service, which is a
service that generates and provides information. Considering the
informational nature of the applications (components) in this context, it
can be matched to APPLICATION SERVICE. Following the line of argument
on BUSINESS INTERFACE the concept of APPLICATION INTERFACE can be matched to
information service variant.
Archimate concept Aris object Remarks
Application
collaboration
application system
type, module type, IT
function type
The COLLABORATION in this matching is
seen as specialization of COMPONENT. So
it can be modeled as one of the
mentioned object types in Aris.
Application component Module type Depending on the aspects stressed the
module type is to be considered
structural or functional. It is tenable that
the module as structural concept
encompasses it’s function.
Application function Module type See above
Application interaction Function No clear candidate, but it is not to far
fetched to think of a function that realizes
the service mentioned with APPLICATION
COLLABORATION.
Application interface Information service
variant
As in the business layer.
Application service Information service Specialization of product/service, which
is appropriate considering the
informational nature of the applications.
Data object Relation
Table 7: Application concepts correspondence between ArchiMate and Aris
7.2.3 Co n c ep t s o f t h e t ec h n i c al l ay er
The prominent object type in the functional view is the application system or
module: a single copy of an application system type (module type), which
can be uniquely identified, by its license number for example. Next to that we
see the program module, which is defined as any program file on a data
carrier obtained by the purchase of a license (e.g. an EXE file or a COM file). Programmodule
Applicationsystem
Informationservice
5 0 T E L E M A T I C A I N S T I T U U T
(Note: this definition seems inspired by the perspective of the product supplier; it doesn’t
account for programs that are constructed in-house.) Typifying program modules that have
exactly the same technological basis forms a program module type.
The data view gives us tables and files and the like. For mapping purposes
we primarily choose for table, which is used as a typification: a table
represents the typification of individual tables (specimen), which have exactly
the same logical structure. This object type can be considered as a
specialization of ARTEFACT (out ruling things like executables).
The organizational view contains several object types in the design specification that in
Archimate are located in the technical layer.
The implementation level gives us the network, defined as a specimen of
different network types that are available in a company in order to operate
properly on the IT level, and the hardware component, which is defined as
a specimen of different hardware component types that are available in a
company in order to operate properly on the IT level. Network equals
NETWORK, while hardware component corresponds with DEVICE.
Note: this interpretation is derived from the usage in the manual, as the
definitions in combination are circular and non-conclusive. As a counterpart
to the organizational unit we see a host of technical resources on the implementation level.
Most are not ICT-oriented, but refer to manufacturing, warehousing or transport. Archimate
doesn’t provide similar concepts. But that’s different for the ICT-related object types
network connection (type) and network node (type). They cover the concepts
COMMUNICATION PATH and NODE. Their definitions are as follows:
• Network connections are specimen of different network connection types that are
available in a company in order to operate properly on the
IT level. Network connections link network nodes to one
another.
• A network connection type represents the typification of
network connections, which have exactly the same
technological properties.
• Network nodes are specimen of different network node
types that are available in a company in order to operate properly on
the IT level In this case, one network node represents one access point
to a network to which hardware components can be connected.
• A network node type represents the typification of individual network
nodes, which have exactly the same technological properties.
Table
Network
Hardwarecomponent
Network nodetype
Network node
Network connection type
Network connection
A R C H I M A T E / D 2 . 2 . 3 B 5 1
Archimate concept Aris object Remarks
Artefact No generic object type is available.
Depending the nature a variety of object
types can be used: program modules,
lists, files, tables, etc.
Communication path Network connection
Device Hardware component
System software Operating system
(type)
Infrastructure interface service variant As with BUSINESS and APPLICATION
INTERFACE.
Infrastructure service service
Network Network
Node Network node
Table 8: Technology concepts correspondence between ArchiMate and Aris
7.2.4 Rel at i o n s h i p c o n c ep t s
Aris knows a wealth of connection types. Descriptive definitions seem to be lacking, though.
On the other hand, the usage in diagrams and between object types is exhaustively
described. Relying on usage and naming, several to many connection types can represent
any Archimate relationship concept. The table just illustrates the completeness of Aris.
One (possibly superfluous) remark: each connection type is restricted in its usage to certain
object types and certain model types. In some cases this makes quick modelling a little
troublesome.
Archimate concept Aris object Remarks
Access Accesses
(alternatively)
Aggregation Aggregates
Assignment Assigns, assigned to
Composition Consists of / is
component of
Grouping Encompasses /
belongs to
Junction Splits to But mostly is expressed by an operator
in the relevant connection
5 2 T E L E M A T I C A I N S T I T U U T
Archimate concept Aris object Remarks
Realisation Realizes
Specialisation Is generalisation /
specialisation of
Triggering Triggers
Use Uses
Table 9: Relationship concepts correspondence between ArchiMate and Aris
7.3 Mo d el s
In this paragraph we present a translation of our example model in Aris. The presentation in
our diagram is fictitious, as Aris uses several model types to model all connections and
objects. But every connection in the diagram is supported by Aris, be it not in one model.
The repository takes care of that. The connections we for this reason inserted in our overall
diagram are dotted.
To be a ‘real’ Aris model, it would consist of a number of diagrams. Most of the objects
would be defined in the data, function, organization and product views respectively. The
interconnections would be defined in the control view, reusing the objects. So, the model
presented is to be considered as mainly a combination of various diagrams from the control
view.
For the sake of readability we present the diagram on its own page.
A R C H I M A T E / D 2 . 2 . 3 B 5 3
Infrastructure
External infrastructure services
Application components and services
Roles and actors
External application services
External business services
Damage claiming process
Claimsadminis tration
Claimsadminis tration
service
Customeradministration
service
Customeradministration
Claiminformation
service
delivers
Riskassessment
Paymentservice
Riskassessment
service
Financialapplicat ion
Mainframeinterface
Claim fileservice
uses
uses
uses
Customer filesservice
uses
Event1 Acceptance PaymentRegistrat ion ValuationEvent2 Event3 Event4 Event5Claim
Claim filezSer ies
mainframe
DB2
Sun Blade
iPlanet appserver
Riskassessment
EJB
Claimsadminis tration
Claimsadminis tration
service
Customeradministration
service
Customeradministration
Claiminformation
service
delivers
Riskassessment
Paymentservice
Riskassessment
service
Financialapplicat ion
Mainframeinterface
Claim fileservice
uses
uses
uses
Customer filesservice
uses
Claimregistration
service
Customerinformation
service
Claimspaymentservice
InsurerInsurant
Claim data
client Archisurance
Figure 25: Example model, modelled by means of Aris
5 4 T E L E M A T I C A I N S T I T U U T
7.4 Co n c l u s i o n
This first and somewhat superficial exploration suggests that a complete or at least almost
complete match between Aris object types and ArchiMate concepts can be construed.
It struck us, that the three life cycle stages (requirements definition, design specification and
implementation) contained roughly the object types that Archimate positions on the three
layers of analysis. This suggests that there is more to the Aris levels than pure life cycle. A
further exploration of this supposition is beyond the scope of this paper.
A lot of the Aris object types are defined in a very pragmatic way. This made it hard to make
the comparison on the basis of the definitions alone. Usage in models, examples and
possible relations had to be taken into account to come to conclusions. Therefore, the
proposed matchings have to be considered as preliminary.
A R C H I M A T E / D 2 . 2 . 3 B 5 5
8 Conclusions
The goal of this document is compare the ArchiMate language with important standards and
languages. To this purpose, ArchiMate is compared with UML, RM-ODP, the UML EDOC
profile, BPMN and Aris. Comparing different languages is sometimes like comparing apples
and oranges. Unambiguous statements about which is the “best” language are impossible.
After all, this would suggest some kind of objective “measuring stick” with which languages
can be compared. At present, most “accepted” languages have matured to a comparable
level. While emphasising different aspects, the core concepts are more or less covered by
each language. Obviously, the concepts are not exactly defined in the same way for each
language. However, origin and evolution of the languages appears to be the reason for
differences rather than the supremacy of one certain concept definition over another.
Avoiding the pitfall of trying to determine the superiority of one language over another leads
to a more pragmatic comparison of languages. After all, a language that covers a certain
context uses specific language concepts and rules and is used for a certain purpose.
Comparing languages with respect to the underlying framework, concepts and an example
model turns out to give a good feel and insight into the differences between languages.
With respect to framework comparison we conclude that the only aspect that is not covered
by most languages is the informative aspect of ArchiMate, which describes concepts such
as product, value and meaning. Only Aris appears to have a counterpart of this aspect with
its data and control view, while RM-ODP covers some of it by its objective concepts and,
possibly, the ‘policy’ concepts. Additionally, most other languages either cover only certain
‘domains’ (e.g., architectural layers) of an enterprise, or they are aimed at more detailed
models. For instance, the RM-ODP enterprise viewpoint covers the business layer of the
ArchiMate framework, but other RM-ODP viewpoints are needed to describe the application
and technological layers. The business process modelling initiative BPMN obviously covers
the business layer quite well but completely neglects the application and technology layers.
Finally, UML and EDOC cover all layers with respect to the behavioural and structure level
but differ from ArchiMate mainly with respect to the required detail in modelling.
In most cases, a high-level mapping from the other languages to ArchiMate concepts can
be made. Obviously, extensive and detailed languages or tools such as UML and ARIS
provide many detailed concepts and a one-to-one correspondence is not possible. More
specific concepts can only be mapped to specializations of ArchiMate concepts, or have no
equivalent in ArchiMate.
To our surprise, other languages often lack a formal metamodel, a notation or even both.
Especially if no notation has been defined, in practice it is hard to find models expressed in
these languages. For instance, actual RM-ODP models hardly exist. For the comparison of
concepts, not only their definition is relevant, but also their context, i.e., the concept to
which they are related. Having a well-defined metamodel supplies this in an unambiguous
way. For RM-ODP and BPMN we have tried to retrieve a metamodel from the
documentation. The lack of a well-defined metamodel is also related to an ambiguous
5 6 T E L E M A T I C A I N S T I T U U T
definition of relations. Compared to ArchiMate the relation concepts, in particular the
relations between domains, are often weakly defined in the other languages
ArchiMate is strongly biased towards abstracting from technical details - such as, when
exactly an activity or communication takes place, or about the precise direction of
communication. In this respect, ArchiMate is more declarative/managerial and less
imperative/operational. This observation is not only based on the comparison between
ArchiMate and UML - in this case it does not seem a real surprise - but it is also based on
the comparison with the architectural frameworks EDOC (and therefore RM-ODP) and
ARIS. Even the business process modelling language BPMN, although remaining on the
global business level, invites one to express more operational details than ArchiMate does,
like discriminating between sending and receiving - instead of (more neutrally)
communicating.
This is reflected in the expression of the example model in the different languages. The
example model provides exactly the type of integrated models for which ArchiMate is
intended. Detailed modelling of specific aspects is left to specialised languages. The relation
between aspect and domains is of focal interest to ArchiMate. Although ARIS appears to
result in a similar model, all other languages considered can model only parts of the model.
Especially with respect to the overall coherence the detailed languages such as UML and
EDOC require some (forced) ingenuity to obtain these types of integrated models.
UML was also used to illustrate the approach to use ArchiMate as an “umbrella language” to
link more detailed models in other languages, in this case different UML diagrams. In this
way, ArchiMate is used to guard and check the desired cross-diagram consistency still
lacking in UML.
In summary, we conclude that ArchiMate measures up to existing and accepted languages
or tools for integrated modelling purposes. ArchiMate distinguishes itself from most other
languages by its well-defined metamodel, concepts and, most importantly, its relations. The
abstraction level of ArchiMate simplifies the construction of integrated models, where most
languages appear to persuade architects to detailed modelling. Although detailed modelling
of most aspects also can be performed in ArchiMate. We think that using ArchiMate, as an
“umbrella language” is very useful. This approach has been applied to UML diagrams quite
successfully.
A R C H I M A T E / D 2 . 2 . 3 B 5 7
References
Buuren, R. van (ed.). (2004). Architecture Language Reference Manual, ArchiMate
deliverable D2.2.2b, Version 2.5, Dec.
Business Process Management Initiative. (2003). Business Process Modeling Notation.
Working Draft (1.0), Aug. http://www.bpmi.org.
Duddy, K., Gerber, A., Lawley, M., Raymond, K. & Steel, J. (2003). Model Transformation: A
Declarative, Reusable Patterns Approach. In M.W.A. Steen & B.R. Bryant (eds.),
Proceedings 7th IEEE International Enterprise Distributed Object Computing
Conference (EDOC 2003), Brisbane, Australia, IEEE Computer Society, Sept.,
pp. 174-185.
Domínguez, A., Rubio, L., & Zapata, M.A. (2002). Mapping Models Between Different
Modeling Languages. In Proceedings Workshop on Integration and
Transformation of UML Models (ECOOP’2002), pp. 18-22.
Goulão, M. & Brito e Abreu, F. (2002). Bridging the Gap Between Acme and UML 2.0 for
CBD. In ������������� �������������������������������������������
����� ������������������������ ������������������������
���� ���������
Iacob, M.-E., H. Jonkers (ed.), M. Lankhorst, R. van Buuren, L. Groenewegen, K.-H.
Cheung, M. Bonsangue, (2002), State of the Art in Architecture Concepts and
Description, ArchiMate/D2.1, Dec.
IDS Scheer AG. (2003). Aris Methods, Version 6.2.
Jonkers, H. (ed.). 2003. Concepts for Architectural Description, ArchiMate deliverable
D2.2.1, Version 2.5, Dec.
Koehler, J., Hauser, R., Kapoor, S., Wu, F. & Kumaran, S. (2003). A Model-Driven
Transformation Method. In M.W.A. Steen & B.R. Bryant (eds.), Proceedings 7th
IEEE International Enterprise Distributed Object Computing Conference (EDOC
2003), Brisbane, Australia, IEEE Computer Society, Sept., pp. 186-197.
ITU-T X.911 (10/2001), International Standard ISO/IEC 15414, Information Technology –
Open distributed processing - Reference Model – Enterprise language (RM-
ODP)
ITU-T X.902 (11/1995) International Standard ISO/IEC 10746-2, Information Technology,
Open Distributed Processing - Reference Model: Foundations
Object Management Group. (2002). UML Profile for Enterprise Distributed Object
Computing Specification. www.omg.org/docs/ptc/03-09-05.pdf.
Object Management Group. (2003a). Unified Modeling Language (UML) Specification:
Infrastructure. Version 2.0. www.omg.org/docs/ptc/03-09-15.pdf.
Object Management Group. (2003b). UML 2.0 Superstructure Specification.
www.omg.org/docs/ptc/03-08-02.pdf.