Presentation is loading. Please wait.

Presentation is loading. Please wait.

A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, 55100 Lucca (Italy)

Similar presentations


Presentation on theme: "A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, 55100 Lucca (Italy)"— Presentation transcript:

1 A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, 55100 Lucca (Italy)

2 A. Bucchiarone / Dagstuhl/ 2007 Outline  Global Computing Systems  SW Architecture view  Service-Oriented Vision  From SA to SOA  Dynamic Systems  Why DSA?  Dynamisms in SA  Main Issues for the future

3 A. Bucchiarone / Dagstuhl/ 2007 Global Computing (GC) Systems  Heterogeneous, geographically distributed and highly dynamic  Communication topology can vary  The components can, at any moment, connect to or detach from the system  Evolving systems (dynamicity and adaptability)

4 A. Bucchiarone / Dagstuhl/ 2007 SW Architecture View  To abstractly model the overall structure of a system in terms of communicating subsystems  Structural description (Topology)  Behavioral description (Behavior)  In a service oriented vision, SOA are meant to abstractly model the overall structure of service-centric sw systems in terms of communicating services

5 A. Bucchiarone / Dagstuhl/ 2007 Service Oriented Vision  A new paradigm for specifying and implementing such global systems  Services as fundamental elements for developing applications  Services are autonomous, platform-independent and mobile computational entities  Design-Time: services can be independently described, published and categorized  Run-Time: services are searched/discovered and dynamically assembled for building wide area distributed systems

6 A. Bucchiarone / Dagstuhl/ 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 SA elementsSA elements in SOA ComponentService PortInterface: WSDL ConnectorProtocol: SOAP, WS- Coordination RoleInvocation relationship between services ConfigurationService Composition Structure StyleComposition Pattern ConstraintsComposition Constraints  Dynamism of the architecture  Dynamic reconfiguration is prerequisite for more extensible and efficient service- oriented applications  Dynamism in SA specification is naturally reflected to the runtime evolution of SOA

7 A. Bucchiarone / Dagstuhl/ 2007 Dynamic Systems  To support execution during runtime (SOA) for adapting to changes  Changing Requirements  Request for new functions  May require to integrate new components (statically or at run-time)  Changing Environments  Faulty communication channels  Mobility leading to a reduced bandwidth  May require to replace unreachable components  Key Requirement: “a dynamic system should keep the application in the same state after a change”  Dynamic Reconfiguration

8 A. Bucchiarone / Dagstuhl/ 2007 What is DSA?  DSA models a system that reacts to certain events at runtime by supporting reconfiguration of the system’s architecture (Garlan ’98)  Support runtime management and reconfiguration of the systems without human interference (Self-adaptive Systems)  Monitoring, analyzing, implementing and validating systems changes  Internally or externally to the application  Reconfiguration operations  Adding interfaces or components  Removing interfaces or components  Updating interfaces or components  Changing the architecture topology by adding or removing connections between interfaces

9 A. Bucchiarone / Dagstuhl/ 2007 Dynamisms in SA

10 A. Bucchiarone / Dagstuhl/ 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

11 A. Bucchiarone / Dagstuhl/ 2007 Formal Definition of Dynamicity  a style  a configuration  a rewriting production

12 A. Bucchiarone / Dagstuhl/ 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.

13 A. Bucchiarone / Dagstuhl/ 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)

14 A. Bucchiarone / Dagstuhl/ 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

15 A. Bucchiarone / Dagstuhl/ 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 Lc is the set of all valid reconfiguration programs that can be written in L c

16 A. Bucchiarone / Dagstuhl/ 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

17 A. Bucchiarone / Dagstuhl/ 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

18 A. Bucchiarone / Dagstuhl/ 2007 Car Assistance Example –II Architectural Style An instance

19 A. Bucchiarone / Dagstuhl/ 2007 Programmed Dynamism Architectural Style New vehicle connected to the server Vehicles approximation Initial configuration

20 A. Bucchiarone / Dagstuhl/ 2007 Repairing Dynamism - I  Communication between vehicles is not reliable and can be lost  The architecture should repair itself  G A =  P = P pgm U P env U P rpr  P pgm contains the same productions as Programmed Dynamism

21 A. Bucchiarone / Dagstuhl/ 2007 Repairing Dynamism - II  P env contains a unique production  It models the loss of connectivity between vehicles  P rpr : “whenever a vehicle without outcoming connections is found, then the vehicle should be connected directly to a server”

22 A. Bucchiarone / Dagstuhl/ 2007 Constrained and Self Dynamism  Constrained vs unconstrained (When)  Transformation rules can take place at any moment or not  Self vs external (Where)  Whether changes are fired internally by the system itself or activated externally

23 A. Bucchiarone / Dagstuhl/ 2007 Constrained vs Unconstrained  Constrained  A change may occur only after pre-defined constrains are satisfied  When components are not connected in a specific way  The state of a component, e.g., when a component enters into a quiescent state  The constraints are naturally modeled by both positive and negative application conditions of graph productions  Unconstrained  The transformations can be applied at any moment

24 A. Bucchiarone / Dagstuhl/ 2007 Self dynamism  Programmed and Repairing are “self”  The changes are initiated by the system itself and not by an external agent  Explicit  The reconfiguration rule is selected by an external source and not by the system itself  Autonomous  The system selects one of all the applicable transformations in a non-deterministic way  Pre-defined  The system selects in a deterministic way (if-then-else)

25 A. Bucchiarone / Dagstuhl/ 2007 A comparison  “When” the changes are defined  “Who” monitors and triggers the reconfiguration  Flexibility degree

26 A. Bucchiarone / Dagstuhl/ 2007 Main Issues for the Future  To extend the comparison with a “verification power” column  To map these dynamicities in an Architectural Programming language (ArchJava or Java/A) as new primitives  To verify properties of interest in GC  Consistency and Correctness of the composition (orchestrations and choreographies in SOA)  Non-Functional requirements (QoS)

27 A. Bucchiarone / Dagstuhl/ 2007 Questions? antonio.bucchiarone@imtlucca.it


Download ppt "A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, 55100 Lucca (Italy)"

Similar presentations


Ads by Google