Download presentation
Presentation is loading. Please wait.
Published byFelicity Phillips Modified over 9 years ago
1
SysMA S OFTWARE E NGINEERING FOR S ERVICE - O RIENTED AND A UTONOMIC S YSTEMS - I NTRODUCTION TO A UTONOMIC S YSTEMS - Lucca (Italy) – October, 2014 Francesco Tiezzi (francesco.tiezzi@imtlucca.it) In co-operation with ASCENS members, in particular R. De Nicola (IMT), M. Loreti (UNIFI) and R. Pugliese (UNIFI)
2
Software-Intensive Distributed Systems (SIDS) –large-scale, decentralised, heterogeneous, highly- dynamic, open-ended, adaptive, … –SIDS feature complex interactions among components –SIDS may interact with other systems, devices, sensors, people, … Software-intensive distributed systems 2 Software-intensive systems are those complex systems where software contributes essential influences to the design, construction, deployment and evolution of the system as a whole [IEEE Standard 1471] Software-intensive systems are those complex systems where software contributes essential influences to the design, construction, deployment and evolution of the system as a whole [IEEE Standard 1471]
3
Software-intensive distributed systems everywhere 3 Embedded automotive systems Robotic systems Cloud systems e-Health systems Business processes (web services)
4
Autonomic Computing paradigm permits mastering the challenges posed by such systems Autonomic systems Modern software-intensive systems feature massive numbers of components complex interactions operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions Modern software-intensive systems feature massive numbers of components complex interactions operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions 4 This class of complex systems is also referred with term ensembles [IST Coordinated Action InterLink] Autonomic systems
5
Autonomic Computing Challenge: mastering the complexity Inspiration: management of a massively complex systems, the human body by the autonomic nervous system 5 vision
6
Autonomic Computing Systems can manage themselves by continuously monitoring their behaviour (self-awareness) and their working environment (context-awareness) analysing the acquired knowledge to identify changes planning reconfigurations executing plan actions 6 IBM’s MAPE-K loop
7
7 Autonomic Computing: Self- ∗ properties Current computingAutonomic computing Self-configuration Corporate data centers have multiple vendors and platforms. Installing, configuring, and integrating systems is time consuming and error prone. Automated configuration of components and systems follows high-level policies. Rest of system adjusts automatically and seamlessly. Self-optimization Systems have hundreds of manually set, nonlinear tuning parameters, and their number increases with each release. Components and systems continually seek opportunities to improve their own performance and efficiency. Self-healing Problem determination in large, complex systems can take a team of programmers weeks. System automatically detects, diagnoses, and repairs localized software and hardware problems. Self-protection Detection of and recovery from attacks and cascading failures is manual. System automatically defends against malicious attacks or cascading failures. It uses early warning to anticipate and prevent systemwide failures. Self-awareness, Self-organization, Self-expression, …
8
8 Embedded automotive systems Robotic systems Cloud systems e-Health systems Business processes (web services) Autonomic systems: robot swarm example A simple swarm robotics scenario Robots of a swarm have to reach different target zones according to their assigned tasks (help other robots, reach a safe area, clear a minefield, etc.) Robots have: limited battery lifetime to discover the location of the target to inform each other about locations A simple swarm robotics scenario Robots of a swarm have to reach different target zones according to their assigned tasks (help other robots, reach a safe area, clear a minefield, etc.) Robots have: limited battery lifetime to discover the location of the target to inform each other about locations
9
Complexity in their development is due to – complex interactions among components and with humans and other systems (understand the emergent behaviour) – distributed and concurrent nature – large size – open and non-deterministic operating environments (need of adaptation) 9 Autonomic systems: issues and challenges The challenge is engineering trustworthy autonomic systems
10
10 Autonomic systems: engineering approach This calls for a formal-based approach for engineering trustworthy autonomic systems
11
11 Design Modelling Analysis Programming Deployment Autonomic systems: engineering approach This calls for a formal-based approach for engineering trustworthy autonomic systems
12
12 Why formal-based? understanding the overall behaviour resulting from system interactions can be tricky and error-prone It is even more critical when concurrency and interactions enter the game… Warmup example Consider the code x = 1; y = x++ + x++; What is the value of x and y after its execution? Autonomic systems: engineering approach
13
13 Why formal-based? understanding the overall behaviour resulting from system interactions can be tricky and error-prone solid mathematical foundations lay the basis for formal reasoning on systems behavior (hence, for developing trustworthy systems) This calls for a formal-based methodology for engineering trustworthy SIS The programmer can avoid operator ++, but we cannot afford to stop building complex systems we need to build trustworthy systems The programmer can avoid operator ++, but we cannot afford to stop building complex systems we need to build trustworthy systems Autonomic systems: engineering approach
14
Formal-based approach for engineering autonomic systems 14
15
Formal-based approach for engineering trustworthy systems Ingredients of the approach 1.specification language –equipped with a formal semantics –the semantics associates mathematical models to language terms 2.verification techniques –built on top of the models –logics used to express properties of interest for the considered application domain 3.software support –programming framework –runtime environment –verification tools 15
16
Linguistic approach: languages play a key role on the engineering of systems Why do we need a new language for each specific application domain? Systems must be specified as naturally as possible distinctive aspects of the domain are first-class citizens intuitive/concise spec., no encodings high-level abstract models feasible analysis analysis results are in terms of system features, not their low-level representation feedbacks 16 Formal-based approach for engineering trustworthy systems
17
Challenge for language designers devise appropriate abstractions and linguistic primitives to deal with the specificities of the systems under consideration 17 Formal-based approach for engineering trustworthy systems Linguistic approach: languages play a key role on the engineering of systems
18
Formal-based approach at work on autonomic systems Instantiation of the general approach 1.specification language –SCEL –FACPL 2.verification techniques –Model checking with Spin –Simulation and statistical model checking 3.programming framework and runtime environment –jRESP 18
19
Autonomic systems as Ensembles Our appoach Systems are structured as Autonomic Components (AC) dynamically forming AC ensembles (ACE) via interactions AC have an interface exposing component attributes Our appoach Systems are structured as Autonomic Components (AC) dynamically forming AC ensembles (ACE) via interactions AC have an interface exposing component attributes Attribute-based communication Predicates over AC attributes dynamically specify ACE as targets of communication actions Ensembles are not rigid networks but rather highly flexible structures where components linkages are dynamically established Attribute-based communication Predicates over AC attributes dynamically specify ACE as targets of communication actions Ensembles are not rigid networks but rather highly flexible structures where components linkages are dynamically established 19
20
20 Autonomic systems as Ensembles
21
For further details, please visit http://rap.dsi.unifi.it/scel/ 21
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.