ArchiMate conceptual framework

Avancier
Read also about ArchiMate’s
derived relations and grouping relations
Avancier Methods (AM)
ArchiMate’s Conceptual Framework
50 questions about the meaning of the diagrams
Including diagrams and definitions edited from the ArchiMate 2.1 standard.
Copyright © The Open Group, All Rights Reserved.
ArchiMate is a registered trademark of The Open Group.
Training at http://avancier.website
Conceptual Framework
► Part I: The Generic Meta Model
► Part II: The Enterprise Architecture layers
► Part III: Applying the Meta Model to EA layers
► Part IV: Similar concepts in System Theory
Training at http://avancier.website
Avancier
Architects and systems
Avancier
► The word “architect” comes from the Greek “master builder”.
► In enterprise and solution architecture frameworks, the buildings
are “systems”.
► “Architecture descriptions are formal descriptions of a system.”
(ArchiMate® 2.1 Specification, The Open Group.)
Training at http://avancier.website
Structure v Behaviour
Avancier
► “The principal heuristic
innovation of the systems
approach is what may be
called ‘reduction to
dynamics’ as contrasted with
‘reduction to components’ ”
► (Laszlo and Krippner.)
► “[Architecture descriptions are]
organized in a way that
supports reasoning about the
structural and behavioral
properties of the system and its
evolution.”
► (ArchiMate® 2.1)
Training at http://avancier.website
More on Structure v Behaviour
► Behavioural elements
Avancier
► Structural elements
■ describe what a system does
■ are typically called processes or
activities
■ and run from start to end (or cyclically).
Transient behaviour
Activities
Events
Operations
Processes
Rules
Flows
Dynamic behaviour
■ describe what a system is made of
■ are typically called components, actors or roles
■ and are addressable.
Persistent structure
Actors
Entities
Objects
People
Roles
Stocks
Static components
► Also passive structure elements (objects on which
behavior is performed).
Training at http://avancier.website
ArchiMate generic meta model - overview
Avancier
► TOGAF focuses on components that offer services
► But architects have to think also about sequential processes, and
how services are presented to consumers via interfaces.
ArchiMate
2.1
Behavioural elements
Structural elements
External users in the environment of the system
External
view
Service
“a unit of functionality
which provides a certain value.”
Interface
“a point of access where one or more
services are made available to the
environment.”
Internal
view
“a unit of activity performed by
one or more active structure
elements.”
e.g. Process or Function
“an entity that is
capable of performing behavior.”
e.g. Component, Role or Actor
Training at http://avancier.website
ArchiMate generic meta model – in detail
Service: a unit of functionality that a system
exposes to its environment, hides internal
operations, provides a value; accessible through
interfaces.
Passive structure
element: object on
which behavior is
performed.
Avancier
Interface: a point of access where services
are made available to the environment,
provides an external view on the service
provider and hides its internal structure.
External
System
Internal
Behavior element: a unit of activity performed by Active structure element: an entity
one or more active structure elements.
capable of performing behavior
Training at http://avancier.website
Making sense of relations in the generic meta model
Avancier
What the ArchiMate meta model suggests
Seems
The more natural statement implied by the text
One Service can be assigned from > 1 Interface.
Better as
One Service can be accessible through > 1 Interface.
One Interface can be assigned to > 1 Service.
Better as
One Interface can give access to > 1 Service.
One Interface can compose > only 1 Component?
Better as
One Interface can be realised by > 1 Component
One Component can be composed of > 1 Interface.
Better as
One Component can realise > 1 Interface.
One Component can be assigned to > 1 Function.
Better as
One Component can perform > 1 Function.
One Function can be assigned from > 1 Component?
Better as
One Function can be performed by > 1 Component ?
See note 1.
One Service can be realised by > 1 Function
OK but
See note 2.
One Function can realise > 1 Service
OK but
See note 3
Training at http://avancier.website
Aside: on ArchiMate’s 3rd dimension
Avancier
► “The ArchiMate Language Primer” by Lankhorst et al. defines three
dimensions of system description.
■ behaviour --- structure.
■ internal --- external, also
■ individual --- collective.
External
Collective
Behaviour
Structure
Individual
Internal
► But ArchiMate's general position regarding types and instance is as follows:
► "At the enterprise architecture abstraction level, it is more common to model
types rather than instances.
► In most cases [we] model an object type (cf. a UML class), of which several
instances may exist.
Training at http://avancier.website
Conceptual Framework
► Part I: The Generic Meta Model
► Part II: The Enterprise Architecture layers
► Part III: Applying the Meta Model to EA layers
► Part IV: Similar concepts in System Theory
Training at http://avancier.website
Avancier
The focus of enterprise architecture
► The standard says architects are concerned with “informationintensive organisations”.
► That is, businesses where
■ business processes are enabled and supported by
■ information systems that capture and provide business data, which are
enabled and supported by
■ a platform of infrastructure technologies.
Training at http://avancier.website
Avancier
Our concern is processes that create and use business data
► “the domain of information-intensive organisations…is the main focus of
the language”
■ (The ArchiMate modelling language standard v2.1)
► “EA is the determinant of survival in the Information Age.”
■ (Zachman)
► “Today’s CEOs know that the effective management and exploitation of
information through IT is a key factor to business success.”
■ (TOGAF 9.1)
► "companies excel because they've [decided] which processes they must
execute well, and have implemented the IT systems to digitise those
processes."
■ (Ross, Weill and Robertson)
Training at http://avancier.website
Avancier
ArchiMate says
Avancier
► “Architecture descriptions are formal descriptions of a system [and of]
information-intensive organisations” where
“The ArchiMate Language Primer”
“offers products and services to external customers realized in the organization by business processes
performed by business actors.”
“supports the business layer with application services
- realized by (software) applications.”
“offers infrastructure services needed to run
applications - realized by computer and
communication hardware and system software”
Training at http://avancier.website
Architecture layering
Avancier
Architecture
ArchiMate 2.1 standard says
layer
“offers products and services to external
customers
Business realized in the organization by business
processes performed by business
actors.”
“supports the business layer with
Applications application services
realized by (software) applications.”
Infrastructure
“offers infrastructure services needed to
run applications
Core Component and
Service elements
Business services
Actors playing Roles (think
business components)
Application services
Application components
Infrastructure services
realized by computer and communication System software (think
infrastructure components)
hardware and system software”
Training at http://avancier.website
Conceptual Framework
► Part I: The Generic Meta Model
► Part II: The Enterprise Architecture layers
► Part III: Applying the Meta Model to EA layers
► Part IV: Similar concepts in System Theory
Training at http://avancier.website
Avancier
Applying the generic meta model to the 3 architecture layers
Passive Structure
Behavior
Avancier
Active Structure
Business
Service
Business
Interface
Business
Process
Function
Business
Role
App
Service
App
Interface
Business
Object
Data
Object
Business
Actor
Business
Applications
App
Function
App
Component
Infrastructure
Service
Infrastructure
Interface
Infrastructure
Function
(inc. Sys Software
& Device)
Artifact
Training at http://avancier.website
Node
Infrastructure
Technology
ArchiMate’s Business layer meta model
► Notice the generic meta model
Copyright © 2009-2012 The Open Group,
All Rights Reserved. ArchiMate is a
registered trademark of The Open Group.
Training at http://avancier.website
Avancier
Event or Process <triggers> Process
► A process
► triggered by an event,
► which proceeds step by step to a conclusion
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Service <realised by> Process
► And Service <encapsulates> Process?
► ArchiMate examples: Policy Creation, Claim Registration,
Claim Payment.
► The service contract should define the pre and post
conditions of the process
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Service <assigned from> Interface?
► The business service is a business layer entity.
► The web and telephone are infrastructure layer entities.
► This diagram skips over all between these layers.
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
What is an interface?
Avancier
► “Services are accessible through interfaces, which constitute the
external view on the active structural aspect.”
► However, the communication stack has interfaces at many layers
► What is the interface between traffic control and pilot?
► The monitor and control panels they use?
► The Telco mast?
Training at http://avancier.website
Modelling one layer of a communication stack
► To model a restaurant business, we want to specify
■ specific interfaces (menus) it provides its customers, rather than
■ generic infrastructure interfaces it requires (e.g. telephones, oven
controls).
► To model an application, we want to specify
■ specific interfaces (UIs) it offers to its users, rather than
■ generic infrastructure interfaces it requires (HTTP, FTP, TCP, IP,
Ethernet).
► Usually, we want to model the interface that a structural
component in “this” layer shows or uses directly, rather than
something way down the communication stack.
Training at http://avancier.website
Avancier
Interfaces <used by> insurance customers to access the service
► A call centre operator (with a script), addressable using
a telephone number
► A web site UI, addressable using a web address
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Interface <composes> Role
Role <composed of> Interface
► Interface <is realised by> the Role?
► Interface <encapsulates> the Role?
► Surely a seller is not <composed> of the web and a
telephone? Rather, the Role <is instantiated via> the
Interface?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
The interfaces used/shown by the insurance seller?
► How is the seller is engaged in the service
■ by messages from the web site?
■ by conversation over the phone or from a call centre?
■ on-line or off-line?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Interfaces encapsulate roles
► 1:1 relations make for clunky diagrams
► More generally speaking
■ 1 Interface to several Services
■ 1 Role to several Processes
► And often
■ 1 Service to several Interfaces
■ 1 Process to several Roles?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Role <use> Service
Avancier
► Customer Actor <uses> Service
► Surely an Actor is an named Individual?
► And Customer is a Role?
Training at http://avancier.website
Service
Interface
Process
Role
Interface <assigned to> Service
► How Service <assigned to> Interface?
► Or better Service <accessible via> Interface?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Role <composed of> interface
► Alternatively, Role <provides> Interface?
► Why show the web form as an interface of a
seller role rather than a web application?
► Is the seller a user of that application?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role
Collaboration <aggregates> Role
► Could this Collaboration be replaced by an
aggregate Role?
► Is it played by one Actor? Or two?
Avancier
Service
Interface
Process
Role
Collaboration
Training at http://avancier.website
ArchiMate’s Application layer meta model
► Notice the generic meta model
Avancier
Service
Interface
Function
Component
Copyright © 2009-2012 The Open Group,
All Rights Reserved. ArchiMate is a
registered trademark of The Open Group.
Training at http://avancier.website
What does Function mean?
Avancier
► To some - a purpose of a system.
Service
Interface
► In TOGAF and BSC reference model - a logical
component
Function
Component
■ a logical organisation unit,
■ a business function as opposed to a process.
► In UML and maths - a special kind of process
■ that transforms a set of input values to a set of output values
without reference to system state.
► In ArchiMate – is a function
■ a process?
■ a component
■ either or both?
Training at http://avancier.website
Service <realised by> Function
► Should we read 1 Service to 1 Function to
imply the Function is a Process
encapsulated by the Service?
Training at http://avancier.website
Avancier
Service
Interface
Function
Component
2 Services <realised by> 1 Function
► Should we read this to imply the Function realises
■ 2 Services in 1 stateful Process?
■ 2 Services that are not related this way?
Training at http://avancier.website
Avancier
Service
Interface
Function
Component
Function <assigned from> Component
► What is the difference?
► What is an App Component other than the
App Functions it can perform?
► What is an App Function other than a sub
component of an App Component?
Avancier
Service
Interface
Function
Component
Explored further in
ArchiMate’s derived
relations
Training at http://avancier.website
Service <realised by> Function
Interface <composes> Component (composed into?)
Avancier
Service
Interface
Function
Component
► 1:1 relations make for clunky diagrams
► Generally speaking
■ 1 Interface to several Services.
■ 1 Service to several Interfaces
► And
■ 1 Component to several Functions.
■ 1 Function to several Components?
Training at http://avancier.website
Service <realised by> Function
Interface <composes> Components (composed into?)
Avancier
Service
Interface
Function
Component
► Interface <composes> Component
► Surely better <realised by>?
► Service <realised by> Function
► OK, probably
Training at http://avancier.website
A provided Interface should also be a required Interface
► How does the “required interface” cup differ from
“used by” arrow?
► Is this the name of
► The Interface?
► One Service?
► A Data flow passed in a Service?
Training at http://avancier.website
Avancier
Service
Interface
Function
Component
Interactions - between components in a collaboration
Could be defined in
a UML sequence
diagram?
Avancier
A somewhat
artificial construct
► Interaction
► Collaboration
■ A process?
■ A transient cooperation
between components or roles
■ An aggregate of components/roles
■ to which interactions can be attached
Are there aggregate Services and Interfaces?
Training at http://avancier.website
ArchiMate’s Technology (Infrastructure) layer meta model
► Notice the generic meta model
Copyright © 2009-2012 The Open Group,
All Rights Reserved. ArchiMate is a
registered trademark of The Open Group.
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
Nodes
Avancier
► “A node is defined as a computational
resource upon which artifacts may be
stored or deployed for execution.
► Nodes come in two flavors
► A device models a physical computational
resource, upon which artifacts may be
deployed for execution.
► System software is an infrastructural
software component running on a device.”
Training at http://avancier.website
Node: Devices and Networks
► Why are the lines below not
included in relations?
► Why (instead) are association lines
used in the illustrations?
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
Node: System software <assigned to> Device
► “System software represents a software environment
for specific types of components and objects that are
deployed on it in the form of artifacts”
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
Artifact <assigned to> Software System
► “An artifact is defined as a physical piece of data that
is used or produced in a software development
process, or by deployment and operation of a system.”
► Artifact <realises> Application Component
► What does realisation mean here?
► Why not show the Application Component directly?
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
FTP could possibly appear as the name of
► the interface to an FTP server node
(system software or device)
Avancier
FTP
Unix
server
► a system software component.
FTP
server
► an artifact deployed to a server node
(system software or device)
► an attribute of a data flow between
application components
FTP
server
Unix
server
FTP protocol
► an annotation on a network
connection or used by arrow
FTP protocol
► an attribute of an service accessible
via an interface.
Get
(via FTP)
Copyright Avancier Ltd
Get is the Service
FTP is the Interface
Service <realised by> Infrastructure Function or System Software
► Why does the DBMS have no symbol in the corner?
► Are these Services really Interfaces?
Service
Interface
Function
Node
► How does a Software System Function differ from a Component?
► Why show Infrastructure Functions 1-to-1 with Services?
Training at http://avancier.website
Avancier
Infrastructure Usage Viewpoint
► Are these Services really Interfaces?
► Why show Software Systems 1-to-1 with Services?
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
“Service” is a very slippery concept
Are these Services, Interfaces or Network Connections?
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
Questionable use of “Realisation” relation
Avancier
► A Software System “realises” an Application Component?
► A hardware Device Node “realises” an Application Component?
Is this system
software?
Should be
used by
► Why is only one Communication path shown?
Training at http://avancier.website
Conceptual Framework
► Part I: The Generic Meta Model
► Part II: The Enterprise Architecture layers
► Part III: Applying the Meta Model to EA layers
► Part IV: Similar concepts in System Theory
Training at http://avancier.website
Avancier
Subject-verb-object grammar, and general system theory
Avancier
► ArchiMate’s division into stucture and behaviour was
inspired by natural language sentences
■ subject = active structure element
■ verb = behavior element
■ object = passive structure.
Verb
Subject
Service
Interface
Process
Component
► Natural language is fuzzy, and note that one thing can play
the role of subject and object in the same sentence.
■ The dog <bit the tail of> itself
► It is arguable that general system theory provides a more
secure platform for the generic meta model
Training at http://avancier.website
Five tenets of general system theory
1 A system description is abstraction.
2 A system is logically bounded within its
environment
3 A system interacts with its environment via
inputs and outputs
4 Holism: a system’s components are related in
structures and interact in processes
5 A system processes information and maintains
an internal state
“real systems are open to, and interact with, their environments,
the arrangement of and relations between the parts which connect them
into a whole (cf. holism).
system-environment boundary, input, output, process, state,
hierarchy, goal-directedness and information.
a system is independent of the concrete substance of the elements”
Principia Cybernetica
Training at http://avancier.website
Avancier
Environment
Desired effects on
external entities and activities
Inputs
Outputs
Processes
Components
State
System
General system theory concepts - used in the BCS ESA RM
Avancier
1 A system description is abstraction.
2 A system is logically bounded
within its environment
3 A system interacts with its environment
via inputs and outputs
Service
5 A system processes
information and maintains an
internal state
Interface
System
State
Process
Component
Environment
4 Holism: a system’s components are related in
structures and interact in processes
“real systems are open to, and interact with, their environments,
the arrangement of and relations between the parts which connect them into a whole (cf. holism).
system-environment boundary, input, output, process, state, hierarchy, goal-directedness and information.
a system is independent of the concrete substance of the elements”
Training at http://avancier.website
Behavioural elements v. Structural elements
Avancier
“It is the pervading law of all things organic and inorganic, of all things physical and
metaphysical, of all things human and all things super-human, of all true manifestations
of the head, of the heart, of the soul, that the life is recognizable in its expression, that
form ever follows function. This is the law.” American architect Louis Sullivan, 1896.
► Behavioural
elements
► named using a verb
► has a start and end
in time (and usually
repeats).
Event/
Service
Interface
System
Process
Component
Behavior
Active Structure
► Structural elements
named using a noun
► can be found at an
address.
Usually, persistent component/roles outlive transient processes. This is not always true, but
it is a helpful way of thinking about the structure/behaviour distinction.
Training at http://avancier.website
A system is encapsulated in an environment
Avancier
Environment
Hot dinners
Cold snacks
Drinks
Order
Cook
Serve
Event/
Service
Interface
System
Process
Component
Behavior
Active Structure
Training at http://avancier.website
A la carte menu.
Table d’hote menu
Today’s specials.
Waiter
Chef
Oven
Where is the system’s state?
Avancier
► The system’s information state
► (its memory, which is updated and referred to by processes)
► contains structured business data objects
Object: an item
or structure
that is used,
moved or made
by processes
Event/
Service
Object
Passive Structure
Interface
System
Process
Component
Behavior
Active Structure
A system processes information
and maintains an internal state
Training at http://avancier.website
System elements are recursive
Avancier
Environment
A system description is
abstraction.
Event/
Service
Object
Passive Structure
Interface
System
Process
Component
Behavior
Active Structure
Training at http://avancier.website
5 system description entities as Avancier defines them
Service: what a client can request
to process a specific event or
deliver a specific result
Object: an
item or
structure that is
used, moved or
made by
processes
Interface: presents services for
access by clients
Event/
Service
Object
Passive Structure
Interface
System
Process
Component
Behavior
Active Structure
Process: a sequence of activities Component: a subsystem that
that respond to an event or meet a performs process steps.
service request.
Training at http://avancier.website
Avancier
Beware that “interface” can be interpreted two ways
Avancier
► as a passive structural element – e.g. a menu.
► as an active structural element via which services are invoked – e.g. a
waiter.
External
Service
Interface
menu?
waiter?
Process
Component
Behavior
Active Structure
Internal
► The latter is a special kind of component, a facade component, which
shows an interface definition to service consumers.
Training at http://avancier.website
Interface as a passive structural element
Behaviour
what the system does
External Services: operations clients can
request to deliver a result
required by
external
Service
entities
Internal
Process
the workings
of the Processes: executed step by step
system
to meet service requests
Avancier
Structure
what the system is made of
Interfaces: present services Purely descriptive of
services offered
accessible by clients.
Interface
Component
Components: subsystems
that execute processes.
Training at http://avancier.website
The menu
The waiter who
presents the menu
Interface as an active structural element
Behaviour
what the system does
External Services: operations clients can
request to deliver a result
required by
external
Service
entities
Internal
Process
the workings
of the Processes: executed step by step
system
to meet service requests
Avancier
Structure
what the system is made of
A façade
giving
Interfaces: present services component,
access to services
accessible by clients.
Interface
Component
The waiter* who
presents the menu
The chef who
processes the order
Components: subsystems
that execute processes.
* Not the waiter actor. Rather, that part of the waiter role that is merely a façade.
The waiter actor (a person) can play that and play other roles
Training at http://avancier.website
Aside: further reading
Avancier
► For formal yet natural language description of business rules, then
■ try Semantics of Business Vocabulary and Business Rules (SBVR)
■ a standard of the Object Management Group (OMG)
■ part of their Model Driven Architecture (MDA).
Perhaps also ORM?
http://www.orm.net/pdf/ORM2_TechReport2.pdf
► For an exploration of system theory and how it differs from systems
thinking
■ See Systems Theory for Architects at avancier.website
Training at http://avancier.website
Architecture frameworks
► Avancier Methods
are useful with all
architecture
frameworks that share
similar domains and
entities
Avancier
BCS E&SA
reference model
ArchiMate
Language
Framework
► http://avancier.co.uk
TOGAF
The Open Group
Avancier
Methods
CSC’s domains of
change (POLDAT)
IBM’s view EA
EA as Strategy”
MIT
Training at http://avancier.website