Top Banner
SysMA Software Engineering for Service-Oriented and Autonomic Systems - Introduction to Autonomic Systems- Lucca (Italy) – October, 2014 Francesco Tiezzi ([email protected]) In co-operation with ASCENS members, in particular R. De Nicola (IMT), M. Loreti (UNIFI) and R.
21

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.

Dec 18, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 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.

SysMA

Software Engineering for Service-Oriented and Autonomic

Systems - Introduction to Autonomic Systems-

Lucca (Italy) – October, 2014

Francesco Tiezzi([email protected])

In co-operation with ASCENS members, in particularR. De Nicola (IMT), M. Loreti (UNIFI) and R. Pugliese (UNIFI)

Page 2: 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.

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]

Page 3: 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.

Software-intensive distributed systems everywhere

3

Embedded automotive systems

Robotic systems

Cloud systems

e-Health systemsBusiness processes(web services)

Page 4: 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.

Autonomic Computing paradigm permits mastering the challenges posed by such systems

Autonomic systemsModern 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]

This class of complex systems is also referred with term ensembles [IST Coordinated Action InterLink]

Autonomic systems

Page 5: 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.

Autonomic Computing

Challenge: mastering the complexity

Inspiration: management of a massively complex systems, the human bodyby the autonomic nervous system

5

vision

Page 6: 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.

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

Page 7: 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.

7

Autonomic Computing: Self-∗ properties

Current computing Autonomic 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, …

Page 8: 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.

8

Embedded automotive systems

Robotic systems

Cloud systems

e-Health systemsBusiness processes(web services)

Autonomic systems: robot swarm example

A simple swarm robotics scenarioRobots 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 scenarioRobots 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

Page 9: 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.

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 The challenge is engineering trustworthy autonomic systems

Page 10: 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.

10

Autonomic systems: engineering approach

This calls for a formal-based approach for engineering trustworthy autonomic systems

This calls for a formal-based approach for engineering trustworthy autonomic systems

Page 11: 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.

11

• Design• Modelling• Analysis• Programming• Deployment

Autonomic systems: engineering approach

This calls for a formal-based approach for engineering trustworthy autonomic systems

This calls for a formal-based approach for engineering trustworthy autonomic systems

Page 12: 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.

This calls for a formal-based approach for engineering trustworthy autonomic systems

This calls for a formal-based approach for engineering trustworthy autonomic systems

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…

• 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

Page 13: 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.

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

This calls for a formal-based methodology for engineering trustworthy SISThe 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

Page 14: 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.

Formal-based approach for engineering autonomic systems

Formal-based approach for engineering autonomic systems

14

Page 15: 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.

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

Page 16: 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.

Linguistic approach: languages play a key role on the engineering of systems

Why do we need a new language for each specific application domain?

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

Page 17: 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.

Challenge for language designersdevise 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

Page 18: 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.

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

Page 19: 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.

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

Page 20: 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.

20

Autonomic systems as Ensembles

Page 21: 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.

For further details, please visit

http://rap.dsi.unifi.it/scel/

21