Download presentation
Presentation is loading. Please wait.
1
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, 55100 Lucca (Italy)
2
A. Bucchiarone / Pisa/ 30 Jan 2007 Agenda Global Computing Systems Starting Point SA for Global Computing Systems Validation and Verification of SA Current Point Service-Oriented Computing (SOC) Service Composition and Evolution Dynamic Software Architecture (DSA) oriented approach Main Issues for the future
3
A. Bucchiarone / Pisa/ 30 Jan 2007 Global Computing (GC) Systems Autonomous computational entities where activity is not centrally controlled (global services) The entities are created or controlled by different owners The system is open to the introduction of new computational entities, the behavior may vary over time (dynamic systems) The offer is expected to evolve from relatively simple (customer) services to global complex (business) solutions (service-oriented computing). Evolving systems (dynamicity and adaptability)
4
A. Bucchiarone / Pisa/ 30 Jan 2007 Starting Point To develop an architecture-centric approach for the modeling and validation of (GC) Systems Analysis and Testing Definition of approaches to analyze the architectural specification against various kinds of properties Tool Support
5
A. Bucchiarone / Pisa/ 30 Jan 2007 Current Point Main characteristics of SOA Service Composition Industrial and formal approaches comparison “Dynamicity” in GC systems Dynamic Software Architecture (DSA) oriented approach
6
A. Bucchiarone / Pisa/ 30 Jan 2007 Service Oriented Computing Services as fundamental elements for developing applications SOC relies on Service-Oriented Architecture (SOA) SOA is a kind of SA in the context of WSs This model involves three indispensable participants Service Provider, Service registry and Service requestor
7
A. Bucchiarone / Pisa/ 30 Jan 2007 Service Composition - I It combines existing services following a certain pattern to form a new service. Web Service Composition Approaches: From Industrial Standards to Formal Methods [ICIW’07]. Syntactic WS Composition BPEL4WS, WS-CDL Semantic WS Composition OWL-S, WSMO Formal Methods for WS Composition Automata, Petri Nets, Process Algebras
8
A. Bucchiarone / Pisa/ 30 Jan 2007 Service Composition - II Neither of these approaches offer any direct support for the verification of WS compositions at design-time. Lack of software tools to verify the correctness of WS compositions
9
A. Bucchiarone / Pisa/ 30 Jan 2007 Service Composition - III Automata I/O automata, timed automata, team automata A lot of framework to analyze and verify properties of WS composition of BPEL processes From BPEL to automata (SPIN and LTL properties) From WS-CDL to timed automata (UPPAAL MC) Petri Nets BPEL control-flow constructs into labeled PNs BPEL2PN automatic transformation of BPEL processes in PNs Process Algebras Π-calculus, LOTOS,..to describe, compose and verify WSs
10
A. Bucchiarone / Pisa/ 30 Jan 2007 From SA to SOA SA is intended to describe the structure of a system Interactions of Computational components Patterns that guide their composition and constraints on these patterns SOA Services as fundamental elements for developing applications SOA should support evolution during runtime for adapting to changes of environment and requirements Service Composition combines existing services following a certain pattern to form a new value-added service Support for “dynamism” of SOA is fundamental to its evolution
11
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamisms in SA
12
A. Bucchiarone / Pisa/ 30 Jan 2007 Formal Definition of Dynamicity Hypergraph that describes a style (or meta- model) Components and Connectors are hyperedges Component exposes different ports Connector has tentacles to the ports Ports are nodes
13
A. Bucchiarone / Pisa/ 30 Jan 2007 Formal Definition of Dynamicity a style a configuration a rewriting production
14
A. Bucchiarone / Pisa/ 30 Jan 2007 Formal Definition of Dynamicity The set R(G) of reachable configurations, i.e., all configurations to which the initial configuration G in can evolve. The set D(G) of desirable configurations, i.e., the set of all T-typed configurations that satisfies a desired property p.
15
A. Bucchiarone / Pisa/ 30 Jan 2007 Programmed dynamism All architectural changes are identified at design-time and triggered by the system itself A programmed DSA is associated with a grammar G A = T stands for the style of the architecture G in is the initial configuration P is a set of productions gives the evolution of the architecture D p (G) = R(G)
16
A. Bucchiarone / Pisa/ 30 Jan 2007 Ad-hoc dynamism All architectural changes are established by the user at unpredictable run-time. An ad-hoc DSA is associated with a typed grammar G A = T ah is a graph that contains an infinite number of components and connectors The initial graph G in is any T ah -typed hypergraph that describe a configuration The set of production P ah is infinite They can be the combination of add/remove components and add/remove connectors actions
17
A. Bucchiarone / Pisa/ 30 Jan 2007 Constructible dynamism All architectural changes are identified at run-time and triggered by the user. It is similar to ad-hoc but the rewriting productions are not the free combination of basic primitives G A = T ah and G in are as ad-hoc dynamism L c is a language for writing reconfiguration programs P L c is the set of all valid reconfiguration programs that can be written in L c
18
A. Bucchiarone / Pisa/ 30 Jan 2007 Repairing dynamism Repairing systems are equipped with a mechanism that monitors the system behavior. G A = P = P pgm U P env U P rpr P pgm describe the normal, ideal behavior of the architecture P env model the einvironment “ the communication among components may be lost” “ a non authorized connector become attached to a particular component” P rpr indicate the way in which an undesirable configuration can be repaired in order to become a valid one
19
A. Bucchiarone / Pisa/ 30 Jan 2007 Car Assistance Example - I Components: Vehicle (V): responsible for transmitting messages destined to the assistant server. Accident Assistant Server (S): handles help requests Connectors: (V/V) : used for mediating the communication between two vehicles (V1/V2) (V/S) : used for supporting the interaction between a vehicle and a server (V1/S) SV1V1 V2V2 V 1 /S V 1 /V 2
20
A. Bucchiarone / Pisa/ 30 Jan 2007 Car Assistance Example –II Architectural Style An instance
21
A. Bucchiarone / Pisa/ 30 Jan 2007 Programmed Dynamism Architectural Style New vehicle connected to the server Vehicles approximation Initial configuration
22
A. Bucchiarone / Pisa/ 30 Jan 2007 A comparison “When” the changes are defined “Who” monitors and triggers the reconfiguration Flexibility degree
23
A. Bucchiarone / Pisa/ 30 Jan 2007 Main Issues for the Future High-level modeling of dynamic and service-oriented systems Compare SMRL and UML profiles defined in Sensoria w.r.t. the WS Composition Characteristics To understand what kinds of dynamicity they are able to specify To use them to model the scenarios of Sensoria Model Transformation To implement some approach to map high-level models to languages used for verification using methods like MDD Verification Methods To adapt the approaches already proposed in the field of SA for the SOA (or DSA) To verify properties of interest in GC Consistency and Correctness of orchestrations and choreographies, Exception Handling and Compensation QoS
24
A. Bucchiarone / Pisa/ 30 Jan 2007 Questions? antonio.bucchiarone@imtlucca.it
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.