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