200 likes | 330 Vues
Explore how to incorporate business process models, architectural tool support, and formal techniques in enterprise architectures. Learn about signatures, symbolic models, interpretations, and semantic models, with examples and discussions on dynamic semantics and tool support.
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