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.

Slides:



Advertisements
Similar presentations
Digital inclusion – a CS perspective Alex Poulovassilis ESRC TLRP-TEL Inclusion and Impact conference, June 2010.
Advertisements

Configuration management
Configuration management
Chapter 1: Introduction
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
1 Christophe S. Jelger, Michael Kleis, Burak Simsek, Rolf Stadler, Ralf König, Danny Raz Theories/formal methods in support of autonomic management Dagstuhl.
KAIS T The Vision of Autonomic Computing Jeffrey O. Kephart, David M Chess IBM Watson research Center IEEE Computer, Jan 발표자 : 이승학.
Welcome to DEAS 2005 Design and Evolution of Autonomic Application Software David Garlan, CMU Marin Litoiu, IBM CAS Hausi A. Müller, UVic John Mylopoulos,
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Autonomic Systems Justin Moles, Winter 2006 Security in an Autonomic Computing Environment Paper by: D. M. Chess, C. C. Palmer S. R. White Presentation.
Fabián E. Bustamante, Winter 2006 Autonomic Computing The vision of autonomic computing, J. Kephart and D. Chess, IEEE Computer, Jan Also - A.G.
Software Construction
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Introduction to Cyber Physical Systems Yuping Dong Sep. 21, 2009.
Yingping Huang and Gregory Madey University of Notre Dame A W S utonomic eb-based imulation Presented by Tariq M. King Published by the IEEE Computer Society.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Provisional draft 1 ICT Work Programme Challenge 2 Cognition, Interaction, Robotics NCP meeting 19 October 2006, Brussels Colette Maloney, PhD.
Autonomic Computing Shafay Shamail Malik Jahan Khan.
Introduction to the new mainframe: Large-Scale Commercial Computing © Copyright IBM Corp., All rights reserved. Chapter 8: Autonomic computing.
(Slides are taken from the presentations by Alan Ganek, Alfred Spector, Jeff Kephart of IBM)
Report WG1 Software-Intensive Systems and New Computing Paradigms Cannes November 12-14, 2008 WG Leader: Martin Wirsing WG Depu ty Leaders: Jean-Pierre.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 Reliable Adaptive Distributed Systems Armando Fox, Michael Jordan, Randy H. Katz, David Patterson, George Necula, Ion Stoica, Doug Tygar.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Introduction to Software Testing
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
A Concise Introduction to Autonomic Computing
UML - Development Process 1 Software Development Process Using UML (2)
1 Autonomic Computing An Introduction Guenter Kickinger.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
WELCOME. AUTONOMIC COMPUTING PRESENTED BY: NIKHIL P S7 IT ROLL NO: 33.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (CM)
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Tufts University School Of Engineering Tufts Wireless Laboratory TWL Direction Almir Davis 09/28/20091.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Lecture 7: Requirements Engineering
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
Responding to the Unexpected Yigal Arens Paul Rosenbloom Information Sciences Institute University of Southern California.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Haptic Interfaces and Force-Control Robotic Application in Medical and Industrial Contexts Applicants Prof. Doo Yong Lee, KAIST Prof. Rolf Johansson,
SysMA S OFTWARE E NGINEERING FOR S ERVICE - O RIENTED AND A UTONOMIC S YSTEMS - T HE SCEL LANGUAGE - Lucca (Italy) – October, 2014 Francesco Tiezzi
Networked Embedded and Control Systems WP ICT Call 2 Objective ICT ICT National Contact Points Mercè Griera i Fisa Brussels, 23 May 2007.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
THE VISION OF AUTONOMIC COMPUTING. WHAT IS AUTONOMIC COMPUTING ? “ Autonomic Computing refers to computing infrastructure that adapts (automatically)
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The Vision of Autonomic Computing Self-Management Unit 7-2 Managing the Digital Enterprise Kephart, and Chess.
Slide no 1 Cognitive Systems in FP6 scope and focus Colette Maloney DG Information Society.
Database Administration Advanced Database Dr. AlaaEddin Almabhouh.
SRA 2016 – Strategic Research Challenges Design Methods, Tools, Virtual Engineering Jürgen Niehaus, SafeTRANS.
AUTONOMIC COMPUTING B.Akhila Priya 06211A0504. Present-day IT environments are complex, heterogeneous in terms of software and hardware from multiple.
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to Software Testing
Model-Driven Engineering for Mission-Critical IoT Systems
The Vision of Autonomic Computing
Automated Analysis and Code Generation for Domain-Specific Models
Sensor Networks – Motes, Smart Spaces, and Beyond
Presentation transcript:

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 In co-operation with ASCENS members, in particular R. De Nicola (IMT), M. Loreti (UNIFI) and R. Pugliese (UNIFI)

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]

Software-intensive distributed systems everywhere 3 Embedded automotive systems Robotic systems Cloud systems e-Health systems Business processes (web services)

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

Autonomic Computing Challenge: mastering the complexity Inspiration: management of a massively complex systems, the human body by the autonomic nervous system 5 vision

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 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 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

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 Autonomic systems: engineering approach This calls for a formal-based approach for engineering trustworthy autonomic systems

11 Design Modelling Analysis Programming Deployment Autonomic systems: engineering approach 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… 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 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

Formal-based approach for engineering autonomic systems 14

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

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

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

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

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 Autonomic systems as Ensembles

For further details, please visit 21