200 likes | 315 Views
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.
E N D
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 View conforms to 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 View conforms to participates in 1..* interprets 1..* Symbolic model establishes methods for 1..* consists of 1..* * Signature has 1
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 • domain: • Employee • Order_Registry • codomain: • Employee • Order_Registry • Accept_product • domain • Employee • Order_Registry • codomain • Employee • 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 employee order = p2 product = p2 orderregistry orders order name = p1 employee order = p2 product = p2 orderregistry orders order name = p1 order name = p2 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
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