A Logical Viewpoint on Architectures Frank de Boer, Marcello Bonsangue, Joost Jacob, Andries Stam,...

20
A Logical Viewpoint on Architectures Frank de Boer, Marcello Bonsangue, Joost Jacob, Andries Stam, Leon van der Torre

Transcript of A Logical Viewpoint on Architectures Frank de Boer, Marcello Bonsangue, Joost Jacob, Andries Stam,...

A Logical Viewpoint on Architectures

A Logical Viewpoint on Architectures

Frank de Boer, Marcello Bonsangue,

Joost Jacob, Andries Stam,

Leon van der Torre

OverviewOverview

• Research questions

• ArchiMate example

• Symbolic models

• Interpretations

• Semantic models

• Summary and outlook

Research questionsResearch 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)IEEE 1471 (partly)

System

Stakeholder

Viewpoint

Architecture

Architecturaldescription

View

Model

has an

is addressed to 1..*

establishes methods for 1..*

selects 1..*

consists of 1..*

participates in 1..*

participates in

described by 1

has 1..*

identifies 1..*

organized by 1..*

conforms to

aggregates 1..*

IEEE 1471 extensionIEEE 1471 extension

*

abstraction

interprets 1..*

*

1

has 1

Semanticmodel

Signature

System

Stakeholder

Viewpoint

Architecture

Architecturaldescription

View

Symbolic model

has an

is addressed to 1..*

establishes methods for 1..*

selects 1..*

consists of 1..*

participates in 1..*

participates in

described by 1

has 1..*

identifies 1..*

organized by 1..*

conforms to

Running example (ArchiMate language)Running example (ArchiMate language)

Employee

Accept productRegisterproduct

acceptance

Place order forproduct

Register orderplacement

OrderRegistry

ProductRegistry

owns

Productprocess

role

object

triggering

assignment

access

product

Signature - definitionSignature - 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 - exampleSignature - example

Sorts:

• role

• object

• product

• Employee

• Product

• Order_Registry

• Product_Registry

Relations:

• Owns

• association

Employee

Accept productRegisterproduct

acceptance

Place order forproduct

Register orderplacement

OrderRegistry

ProductRegistry

owns

Product

Signature - exampleSignature - example

IS-A relations:

• Employee is-a role

• Product is-a product

• Order_Registry is-a object

• Product_Registry is-a object

• Owns is-a association

Owns relation:

• Employee Owns Product

Employee

Accept productRegisterproduct

acceptance

Place order forproduct

Register orderplacement

OrderRegistry

ProductRegistry

owns

Product

Signature - exampleSignature - example

Functions:

• Register_order_placement• domain:

• Employee• Order_Registry

• codomain:• Employee• Order_Registry

• Accept_product• domain

• Employee• Order_Registry

• codomain• Employee

• Etc.

Employee

Accept productRegisterproduct

acceptance

Place order forproduct

Register orderplacement

OrderRegistry

ProductRegistry

owns

Product

Interpretations - definitionInterpretations - 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 - exampleInterpretations - example

Product

• p1

• p2

Employee

• e1 order=p1 product=p1

• e2 order=p1 product=p2

• e3 order=p2 product=p1

• e4 order=p2 product=p2

Employee

Accept productRegister product

acceptance

Place order for product

Register order placement

Order Registry

Product Registry

owns

Product

Semantic model - definitionsSemantic 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 - exampleSemantic model - example

• emp = e4 order=p2 product=p2

• order-reg = {p1}

Semantic model - dynamicsSemantic 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 supportTool 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 – exampleRML – example

Consider the following XML fragment:

<employee order=p2 product=p2/><orderregistry> <orders>

<order name=p1/> </orders></orderregistry>

In AML (ASCII Markup Language)

employee order = p2 product = p2orderregistry orders order name = p1

Employee

Accept productRegisterproduct

acceptance

Place order forproduct

Register orderplacement

OrderRegistry

ProductRegistry

owns

Product

RML – exampleRML – 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 = p2orderregistry orders order name = p1

employee order = p2 product = p2orderregistry orders order name = p1 order name = p2

Summary and outlookSummary 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 informationMore information

ArchiMate - http://archimate.telin.nl

RML - http://homepages.cwi.nl/~jacob/rml/index.html