Concept Framework

Find this and related slide shows on ArchiMate and TOGAF on this page
http://grahamberrisford.com/AM%201%20Methods/6PRODUCTSandTECHNIQUES/AM%20products%20and%20techniques.htm
Avancier
EA models the enterprise as a
system that is stateful and eventdriven.
System elements are
interrelated.
Events trigger changes to system
state and/or the provision of
services to external entities.
ArchiMate and TOGAF
Core concepts
Symbols (boxes & lines)
Concept framework
Relations
1. order and derivation
2. grouping
3. realisation
Diagram types
Concept Framework
Analysing the meaning of ArchiMate diagrams
and the ambiguity of some concepts
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
Concept 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)
Behavioral
Dynamics
Structural
Components
Training at http://avancier.website
Structure v Behaviour (2)
Avancier
► Behavioural elements
► Structural elements
■ describe what a system does
■ are typically called processes or activities
Transient behaviour
Activities
Events
Operations
Processes
Rules
Flows
Dynamic behaviour
■ describe what a system is made of
■ are typically called components, actors or roles
Persistent structure
Actors
Entities
Objects
Performers
Roles
Stocks
Static components
► Also passive structure elements (objects on which
behavior is performed).
Training at http://avancier.website
Structure v Behaviour (3)
Avancier
► Behaviours (processes) are distinguishable from structure
► by having start and end points in time (sometimes cyclical)
► Structure (components) are distinguishable from behaviour
► by being addressable in space.
■ In natural systems, behaviours create and sustain the components
(autopoiesis).
■ But to get behaviours performed in a designed systems, external entities
must address the structural elements.
■ Component types (roles) are not addressable, but component instances
(actors) must be.
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
The primacy of behaviour
Avancier
► Our domain is not designing a building made of passive bricks.
► It is modelling an activity system that responds to discrete events
and service requests.
► In this domain, system architects have long been taught to define
required behaviours before designing structures.
Construction
Training at http://avancier.website
ArchiMate’s approach reflects system theory
1. Realisation: we encapsulate the system
■ Then “realise” the external elements (services and interfaces) by defining
the internal elements.
2. Construction: we define the behaviours of a system.
■ Then “construct” the system by assigning structural components to
access/perform those behaviours.
Realisation
Construction
Training at http://avancier.website
Avancier
Aside: on the ambivalence of a structural element
► It is described in terms of the behaviours it can perform, and exists
to perform them.
► At run time, an active component instance has a "thread of control”.
► But that doesn’t make it a behaviour.
Training at http://avancier.website
Avancier
The meta model shows these relations between elements
Avancier
One Service can be assigned from > 1 Interface.
One Interface can be assigned to > 1 Service.
One Service can be realised by
> 1 Behaviour element
One Interface can compose > only
1 Active structure element?
One Behaviour element can
realise > 1 Service
One Active structure element can be
composed of > 1 Interface.
One Active structure element can be assigned to > 1 Behaviour element
One Behaviour element can be assigned from only 1 Active structure element?
Training at http://avancier.website
Making sense of the relations between elements
Avancier
“The Application Layer supports the business layer with application
services which are realized by (software) applications.”
App
Service
“Services are accessible through interfaces, which
constitute the external view on the active structural aspect.”
“An interface provides an external
view on the service provider and
hides its internal structure.”
Services are realised by
Functions.
App
function
App
interface
“A behavior element is defined as a unit of activity
performed by one or more active structure elements”.
Training at http://avancier.website
App
component
Making sense of relations in the meta model
Avancier
► The standard’s narrative makes more sense than the meta model
► And can be read to mean as follows
App
Service
One Service can be accessible through > 1 Interface.
One Interface can enable access to > 1 Service.
One Service can be realised by > 1 Function
One Function can realise > 1 Service
App
function
App
interface
One Interface can hide only 1 Component?
One Component can be hidden by > 1 Interface.
One Component can perform > 1 Function.
One Function can be performed by only 1 Component?
Training at http://avancier.website
App
component
Aside: on ArchiMate’s 3rd dimension
Avancier
► “The ArchiMate Language Primer” by Lankhorst et al. defines a 3rd
dimensions of system description.
■ behaviour --- structure.
■ internal --- external, also
■ individual --- collective.
External
Collective
Behaviour
Structure
Individual
Internal
► But ArchiMate's general position 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
Concept 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 “information-intensive 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
EA is much about 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.”
■ (John 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”
“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”
“The ArchiMate Language Primer”
Training at http://avancier.website
“ArchiMate 2.1.”
Architecture layering
Avancier
► Summary view
Architecture
ArchiMate 2.1 standard says
layer
Core system elements
“offers products and services to external
customers
Business services
realized in the organization by business
processes performed by business actors.”
Actors playing Roles (think
business components) in processes
Business
“supports the business layer with
Applications application services
Application services
realized by (software) applications.”
Application components
“offers infrastructure services needed to
run applications
Infrastructure services
Infrastructure
realized by computer and communication
hardware and system software”
Training at http://avancier.website
System software (think
infrastructure components)
Concept 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 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
Avancier
► Classically, a process is triggered by an event,
► and proceeds step by step to a conclusion
Meaning
?
Instant
?
Write
access
Split or
choice?
Read access
Training at http://avancier.website
Service
Interface
Process
Role/Actor
Triggers in ArchiMate process flows
► Classically, a trigger from A to B in a flow chart means
■ there is a transfer of control, A stops and B starts.
► An ArchiMate trigger from A to B means that
■ B is started by, or causally depends on, A,
■ Whether A stops is not defined.
► So, is this a process flow or component communication diagram?
■ Strictly, to disambiguate, you’d need to annotate to say a process does
not persist (as a component does) after the trigger has been fired?
Training at http://avancier.website
Avancier
On the absence of a "control flow" arrow
► This omission seems odd in a language intended for the "formal
description" of systems.
► It leaves the "trigger" arrow with the dual task of
■ "start up" alone, or
■ "control flow" as well.
■ (And note that if a trigger points to a structural element, it will represent
neither the start up of that elements, nor a control flow to it).
Training at http://avancier.website
Avancier
The interfaces used/shown by the insurance seller?
► How is the Seller is engaged in the Service
via the Interface?
► What do the symbols say about this?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
Interface <composes> Role
Role <composed of> Interface
► Surely a seller is not <composed> of a telephone?
► Perhaps the Role <is instantiated via> the Interface?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
Service <realised by> Process
► So Service <encapsulates> Process?
► E.g: Policy Creation, Claim Registration, Claim Payment.
► A service contract can define the pre and post conditions
of the process
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
Service <assigned from> Interface
“Services are accessible through interfaces,
which constitute the external view on the
active structural aspect.”
► Note the mix of
■ business entities (business service and seller)
■ infrastructure entities (web and telephone)
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
Hmm…
Avancier
► A traffic control system makes services accessible to its users via
■ business interfaces (monitor and control panels), connected via
■ more generic infrastructure interfaces (e.g. telco network).
► Should the Telco mast be drawn as an “interface” on a Business
Architecture level diagram?
Training at http://avancier.website
Hmm…
Avancier
► An application makes services accessible to users via
■ graphical user interfaces, transmitted over
■ more generic infrastructure interfaces (TCP, IP, Ethernet).
► Should TCP, IP or Ethernet be drawn as an “interface” on an App
Architecture level diagram?
Training at http://avancier.website
Interfaces <used > to access the service by customers
► 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/Actor
1:1 relations can be overly clunky
► In other cases, there can be
■ 1 Interface to several Services
■ 1 Service to several Interfaces
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
Role <uses> Service
Avancier
► Customer <uses> Insurance Selling Service
Service
Interface
► OK, but is Customer an Actor or a Role?
Process
Role/Actor
Role
Actor
Training at http://avancier.website
Types and things that instantiate them
► Planet is an entity type.
■ It defines the attribute types of a thing that instantiates the planet type
●
A large, sun-orbiting, body
► Venus and Mars are individual things
■ that instantiate the attributes types of the entity type (and more)
Outside ArchiMate, Role to Actor is Type to Instance, or Logical to
Physical, or perhaps even External to Internal.
Role
► Roles are entity types
■ A role defines the attribute types of a thing that instantiates the role .
●
●
Actor
Behaviour: primarily, the services provided to others
Structural attributes: qualifications, skill level, salary…
► Actors are individual things (with names and addresses)
■ that instantiate the attributes types of the role (and more)
Training at http://avancier.website
Avancier
ArchiMate definitions can be read as role/type to actor/instance
Role
Actor
► "A business role is defined as the responsibility for performing
specific behavior, to which an actor can be assigned.
► A business actor is defined as an organizational entity that is
capable of performing behavior.“
► You might read the indefinite article (an) as distinguishing
■ instance (an elephant) from
■ type (elephant).
► But people don’t like the Role symbol
► So they use the Actor symbol instead
► And the ArchiMate distinction is blurred 
Training at http://avancier.website
Avancier
Roles and Actors in Logical and Physical Models
All structural component instances (be they actors, app components or nodes) must be addressable.
Otherwise they could never be found when required to do work in the system.
Still, putting the name and address of an actor on a diagram is not to model that actor per se.
The diagram shows only a role that actors can play in the system or situation of interest to us.
For a computer actor, the model likely excludes power supply, circuit boards, ventilation etc.
For a human actor, the model defines only (say) 0.0000001 % of the real-world person's capability.
In a logical model, we model the attributes of a Role that Actors can or do play in our system.
Where a Role is played by only one individual Actor, we can signify that by using an Actor symbol.
But we want the flexibility to replace that Actor (in the Role) without changing the model.
If one and only actor can play a role, and unlikely to move, then we might include their name and address in
a logical model, but that is an exception.
In a physical model, we are more likely to assign names and addresses to actors.
But only if the diagrams actually do show individuals.
Network diagrams may show the names and addresses of hardware nodes, firewalls and data servers.
But it is rare to see the names and addresses of people.
Training at http://avancier.website
Avancier
Interface <assigned to> Service
► Can we assign a Service to an Interface?
► Or say Service <accessible via> Interface?
Training at http://avancier.website
Avancier
Service
Interface
Process
Role/Actor
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/Actor
Collaboration <aggregates> Role
► Is Collaboration played by one Actor? Or two?
► Could it be replaced by an aggregate Role symbol?
Avancier
Service
Interface
Process
Role/Actor
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
► You could read 1 Service to 1 Function to say 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
► You could read this to say the Function realises
■ 2 Services in 1 stateful (Create-Send) Process flow
■ 2 Services that are not related this way
Training at http://avancier.website
Avancier
Service
Interface
Function
Component
Are Functions behavioural or structural?
► In biology:
■ Heart, lungs and skin are structural elements.
■ Breathing, running and perspiration are behaviours.
► In UML:
■ Multi-operation classes/objects are structural elements.
■ End-to-end operations are behaviours.
► In ArchiMate, are Functions behavioural or structural?
■ An end-to-end Function is certainly a behaviour (cf. UML operation)
■ A multi-service Function is more like a structural element (cf. UML Class).
Training at http://avancier.website
Avancier
Notes on the structure/behaviour distinction
Avancier
► “A behavior element [e.g. a Function] is defined as a unit of activity performed by
one or more active structure elements [e.g. Component].” ArchiMate 2.1
► That seems clear; a Function is discrete process with a start and end in time.
► So what is the other kind of Function in this ArchiMate illustration?
► One that associates temporally-unrelated Services?
► It is not a discrete unit; it is a *structure* that groups several units.
► Is this a purely imaginary grouping on a diagram, of no consequence for designers?
► Or something to be implemented as a component or sub component of some kind?
► If the Function symbol straddles structure and behaviour, then
■ the reader of the symbol cannot be sure which is meant
■ ArchiMate has no symbol devoted to the concept of a discrete process
■ It seems redundant to the sense or purpose of the standard.
Training at http://avancier.website
Function <assigned from> Component
► Generally speaking, a functional decomposition is
a structural component decomposition. How to
distinguish the notion of a multi-service function
from the notion of a multi-service component?
Training at http://avancier.website
Avancier
Service
Interface
Function
Component
Function
Avancier
► Function has (or has been given by illustrators) the dual task of
representing a behaviour and a structure.
► Replacing Function by Process would remove this ambiguity.
Training at http://avancier.website
Service <realised by> Function
Interface <composes> (composed into?) Component
Avancier
Service
Interface
Function
Component
► 1:1 relations can be overly clunky
► 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
Making sense of relations in the meta model
Avancier
► The standard’s narrative seems clearer than the meta model, and
suggests (to me at least) these associations
App
Service
One Service can be accessible through > 1 Interface.
One Interface can enable access to > 1 Service.
► See note 2.
One Service can be realised by > 1 Function
One Function can realise > 1 Service?
► See note 3
App
function
App
interface
One Interface can be realised by > 1 Component
One Component can be hidden by > 1 Interface.
One Component can perform > 1 Function.
One Function can be performed by > 1 Component?
► See note 1.
Training at http://avancier.website
App
component
Note 1: One Function can be performed by only 1 Component?
► Some favour defining behaviour such that only one Component
performs one Function.
► However, architects compose and decompose Functions and
Components.
► Just as Actors playing different business Roles may cooperate in
performing a Business Process.
► So, many small Application Components may cooperate in
performing an Application Function.
► Architects make a design choice as to
■ give a control of a Function to one Component (fork style) or
■ distribute control between Components (chain style).
Training at http://avancier.website
Avancier
Note 2: One Service can be realised by > 1 Function
► If you find a process flow in a diagram that connects Functions by
Triggers, you can encapsulate it behind a service contract.
► The diagram suggests the whole end-to-end Function is encapsulated
by one coarse-grained Policy Creation Service.
► Similarly, any application "use case" definition can be defined as an
end-to-end Function encapsulated by one Service.
Training at http://avancier.website
Avancier
Note 3: One Function can realise > 1 Service?
Avancier
► If one Function can realise several Services, then it is hard to
distinguish a Function from a Component.
► And if we can’t distinguish a Function from a Component, we can’t
distinguish structural elements from behavioural elements
S1
S2
S3
S4
► How about constraining when 1 Function realises > 1 Service?
► Limit it to the case where several fine-grained Services are
connected by the flow of one end-to-end Function?
Training at http://avancier.website
Proposal: give “Process” its due place in the meta model
► Where is the concept of a start-to-end
behavioural element under a control flow?
► We have Components
► Do we need Functions that mimic them?
► We do need Process
► Proposal: ditch Function for Process or
Operation
► A long Process can be encapsulated behind a
coarse-grained Service contract
► Shorter Process steps can be encapsulated
behind finer-grained Service contracts
Training at http://avancier.website
Avancier
Business
Service
Business
Interface
Business
Process
Business
Role/Actor
App
Service
App
Interface
App
Operation
App
Component
Infrastructure
Service
Infrastructure
Interface
Infrastructure
Operation
(Sys Software
or Device)
Node
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.”
■ “A device: a physical computational resource, upon which artifacts may be
deployed for execution.”
■ “System software: an infrastructural software component running on a
device.”
Training at http://avancier.website
Node: Devices and Networks
► Why not include these lines in the
relations?
► A communication path is a link
between nodes, through which they
can exchange data.
► Why use association lines here?
► Because a path is between nodes
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
A human-level interface at the top of a communication stack
► A telephone presents an interface humans can use
► A telephone connection uses a communication path
► A telco provides a network for communication paths to be established
Training at http://avancier.website
Avancier
System software node <assigned to> Device node
► “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
FTP could possibly appear as the name of
► the interface to an FTP server node
Avancier
FTP
Unix
server
■ (system software or device)
► a system software component.
FTP
server
► an artifact deployed to a server node
■ (system software or device)
FTP
server
Unix
server
► an attribute of a data flow between application components
FTP protocol
► an annotation on a network connection or used by arrow
► an attribute of an service accessible via an interface.
Copyright Avancier Ltd
Get
(via FTP)
FTP protocol
Here, Get is Service
FTP is Interface
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?
► Could one show the Application Component directly?
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
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?
► 1-to-1 relations make for clunky diagrams
Training at http://avancier.website
Avancier
Infrastructure Usage Viewpoint
► Are these Services really Interfaces?
► 1 to 1 relations make for clunky diagrams
Training at http://avancier.website
Avancier
Service
Interface
Function
Node
“Service” is a very slippery concept
Avancier
Service
Interface
Function
Node
Are these really Interfaces, or Network Connections to
Apps on higher Nodes?
Training at http://avancier.website
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
Concept 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
Service
State
Interface
System
Process
Training at http://avancier.website
Component
Avancier
Where to look for inspiration?
Avancier
► ArchiMate looks to natural language
■ subject = active structure element
■ verb = behavior element
■ object = passive structure.
Object
Verb
Subject
Service
Interface
Process
Component
► Natural language is malleable
■ 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
State
What is an activity system?
► In essence.
■
■
■
■
a set of components that perform roles in
processes to achieve desired effects, by
maintaining system state and/or
producing outputs (goods or services).
Training at http://avancier.website
Avancier
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.
Event/
Service
► Behavioural elements
► named using a verb
► has a start and end in
time (and usually
repeats).
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