Transcript ArchiMate

A Logical Viewpoint on
Architectures
Frank de Boer, Marcello Bonsangue,
Joost Jacob, Andries Stam,
Leon van der Torre
Overview
• Research questions
• ArchiMate example
• Symbolic models
• Interpretations
• Semantic models
• Summary and outlook
Research questions
• How to provide a general mathematical foundation for (the use of
formal methods in) enterprise architectures?
• How to incorporate business process models in enterprise
architectures to analyze and simulate their behavior?
• How to provide architectural tool support for enterprise
architectures with business process models?
IEEE 1471 (partly)
has an
System
Architecture
has 1..*
Stakeholder
described by 1
identifies 1..*
Architectural
description
is addressed to 1..*
participates in
organized by 1..*
selects 1..*
Viewpoint
conforms to
View
participates in 1..*
aggregates 1..*
Model
establishes methods for 1..*
consists of 1..*
IEEE 1471 extension
has an
System
Architecture
1
abstraction
has 1..*
Stakeholder
described by 1
identifies 1..*
Architectural
description
*
is addressed to 1..*
Semantic
model
participates in
organized by 1..*
selects 1..*
Viewpoint
conforms to
View
participates in 1..*
interprets 1..*
Symbolic model
establishes methods for 1..*
consists of 1..*
*
has 1
Signature
Running example (ArchiMate language)
process
Product
Employee
owns
role
object
Register order
placement
Place order for
product
Accept product
Register
product
acceptance
product
Order
Registry
triggering
assignment
access
Product
Registry
Signature - definition
A signature consists of:
•
partially ordered set of primitive sorts (sort hierarchy);
•
partially ordered set of relations.
Extensions:
•
Product type (T1 x T2)
•
Function type (T1 → T2); can also be used for attributes
•
Functions F(T1): T2; possibly multi-valued
Signature - example
Sorts:
•
role
Product
Employee
•
object
•
product
•
Employee
•
Product
•
Order_Registry
•
Product_Registry
Relations:
•
Owns
•
association
Register order
placement
Place order for
product
Order
Registry
owns
Accept product
Register
product
acceptance
Product
Registry
Signature - example
IS-A relations:
•
Employee is-a role
•
Product is-a product
•
Order_Registry is-a object
•
Product_Registry is-a object
•
Employee
Register order
placement
Place order for
product
Owns is-a association
Owns relation:
•
Product
Employee Owns Product
Order
Registry
owns
Accept product
Register
product
acceptance
Product
Registry
Signature - example
Functions:
•
Register_order_placement
•
domain:
•
•
•
Employee
Order_Registry
Employee
Order_Registry
Register order
placement
Place order for
product
Accept product
Register
product
acceptance
Accept_product
•
domain
•
•
•
Etc.
Employee
Order_Registry
codomain
•
•
owns
codomain:
•
•
•
Product
Employee
Employee
Order
Registry
Product
Registry
Interpretations - definition
•
An interpretation of a signature assigns to each primitive sort S a
set of individuals I(S)
•
For product types T1 x T2, the interpretation is the cartesian
product I(T1) x I(T2)
•
For function types T1 → T2, the interpretation is the set of all
functions for which holds that the image of I(T1) is contained in
I(T2)
Interpretations - example
Product
Product
•
p1
•
p2
Employee
Register order
placement
Place order for
product
owns
Accept product
Register
product
acceptance
Employee
•
e1 order=p1 product=p1
•
e2 order=p1 product=p2
•
e3 order=p2 product=p1
•
e4 order=p2 product=p2
Order
Registry
Product
Registry
Semantic model - definitions
•
A Semantic model of a system involves its concrete components
and their concrete relationships
•
It introduces names n:T that range over individuals of type T
•
The semantic model assigns to each symbolic function F(T1): T2
an interpretation of T1 → T2
•
A Semantic model may change in time (it describes the state of a
system)
Semantic model - example
•
emp = e4 order=p2 product=p2
•
order-reg = {p1}
Semantic model - dynamics
In terms of transformations of semantic models
Two ways:
1. Functions as primitive actions
•
n := F(m)
•
introduction of Process Algebra
2. Functions as data transformers
1. Multi-valued functions with input- and output-channels
2. introduction of Data Flow Networks
Tool support
• Symbolic models represented as an XML or AML document.
• Static semantics can be represented in the same way.
• For dynamic semantics, we propose to use an XML transformation
language: the Rule Markup Language (RML)
• Set of XML constructs added to an existing vocabulary;
• For creating rules that can be executed by RML tools;
• General purpose, easy to use.
RML – example
Employee
Consider the following XML fragment:
<employee order=p2 product=p2/>
<orderregistry>
<orders>
<order name=p1/>
</orders>
</orderregistry>
Register order
placement
Place order for
product
In AML (ASCII Markup Language)
employee
order = p2
product = p2
orderregistry
orders
order name = p1
Order
Registry
owns
Accept product
RML – example
div class=rule name="Register_order_placement"
div class=antecedent
rml-Employee
order = rml-OrderName
product = rml-ProductName
orderregistry
orders
rml-list name = oldOrders
div class=consequence
rml-Employee
order = rml-OrderName
product = rml-ProductName
orderregistry
orders
rml-use name = oldOrders
order name = rml-OrderName
employee
order = p2
product = p2
orderregistry
orders
order name = p1
employee
order = p2
product = p2
orderregistry
orders
order name = p1
order name = p2
Summary and outlook
• Integration of business processes and enterprise architectures
•
Distinction between signature, symbolic model and semantic model
•
Formal basis for the description and analysis of architectures
•
Various formal techniques (process algebras, DF networks) can be integrated
• Tool support for formal analysis with AML and RML
• Various extensions are possible
•
logical languages (description logics, temporal logics)
•
design actions (transformations of symbolic models)
More information
ArchiMate - http://archimate.telin.nl
RML - http://homepages.cwi.nl/~jacob/rml/index.html