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?
establishes methods for 1..* IEEE 1471 (partly) has an System Architecture has 1..* Stakeholder described by 1 identifies 1..* Architectural description is addressed to 1..* participates in selects 1..* organized by 1..* Viewpoint conforms to View aggregates 1..* participates in 1..* Model establishes methods for 1..* consists of 1..*
establishes methods for 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 selects 1..* organized by 1..* Viewpoint conforms to View interprets 1..* participates in 1..* Symbolic model establishes methods for 1..* consists of 1..* * Signature has 1
Running example (ArchiMate language)
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 object product Employee Product Order_Registry Product_Registry Relations: Owns association
Signature - 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
Signature - example Functions: Register_order_placement Accept_product domain: Employee Order_Registry codomain: Accept_product domain codomain Etc.
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 p1 p2 Employee e1 order=p1 product=p1 e2 order=p1 product=p2 e3 order=p2 product=p1 e4 order=p2 product=p2
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: Functions as primitive actions n := F(m) introduction of Process Algebra Functions as data transformers Multi-valued functions with input- and output-channels 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 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 = p2 orderregistry orders order name = p1
RML – example div class=rule name="Register_order_placement" employee div class=antecedent rml-Employee order = rml-OrderName product = rml-ProductName orderregistry orders rml-list name = oldOrders div class=consequence rml-use name = oldOrders order name = rml-OrderName 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