尊敬的 微信汇率:1円 ≈ 0.046078 元 支付宝汇率:1円 ≈ 0.046168元 [退出登录]
SlideShare a Scribd company logo
Ensemble-oriented programming of self-adaptive
systems
Michele Loreti
Dipartimento di Statistica, Informatica, Applicazioni
Universit`a degli Studi di Firenze
AWASS 2013, Lucca, June 24-28, 2013
www.ascens-ist.eu
Ensemble-oriented programming of self-adaptive
systems: the E-Vehicle Case Study
Michele Loreti
Dipartimento di Statistica, Informatica, Applicazioni
Universit`a degli Studi di Firenze
AWASS 2013, Lucca, June 24-28, 2013
www.ascens-ist.eu
Outline. . .
Michele Loreti 2
Outline. . .
Motivations;
Michele Loreti 2
Outline. . .
Motivations;
E-Vehicle Case Study: a short overview;
Michele Loreti 2
Outline. . .
Motivations;
E-Vehicle Case Study: a short overview;
Basic ingredients of:
Michele Loreti 2
Outline. . .
Motivations;
E-Vehicle Case Study: a short overview;
Basic ingredients of:
SCEL, a Service Component Ensemble Langugage;
Michele Loreti 2
Outline. . .
Motivations;
E-Vehicle Case Study: a short overview;
Basic ingredients of:
SCEL, a Service Component Ensemble Langugage;
jRESP, a framework for executing SCEL applications in Java;
Michele Loreti 2
Outline. . .
Motivations;
E-Vehicle Case Study: a short overview;
Basic ingredients of:
SCEL, a Service Component Ensemble Langugage;
jRESP, a framework for executing SCEL applications in Java;
E-Vehicle Case Study in SCEL and jRESP: a tentative roadmap.
Michele Loreti 2
Challenges of Ensembles Programming
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Challenges for software development for ensembles
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Challenges for software development for ensembles
the dimension of the systems
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Challenges for software development for ensembles
the dimension of the systems
the need to adapt to changing environments and requirements
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Challenges for software development for ensembles
the dimension of the systems
the need to adapt to changing environments and requirements
the emergent behaviour resulting from complex interactions
Michele Loreti 3
Challenges of Ensembles Programming
Ensembles are software-intensive systems featuring
massive numbers of components
complex interactions among components, and with other systems
operating in open and non-deterministic environments
dynamically adapting to new requirements, technologies and
environmental conditions
From the final report of: IST Coordinated Action InterLink [2007].
Challenges for software development for ensembles
the dimension of the systems
the need to adapt to changing environments and requirements
the emergent behaviour resulting from complex interactions
the uncertainty during design-time and run-time
Michele Loreti 3
Component Ensembles and Awareness
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Awareness
Awareness of Service Components is achieved by
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Awareness
Awareness of Service Components is achieved by
equipping SCs with information about their own state
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Awareness
Awareness of Service Components is achieved by
equipping SCs with information about their own state
enabling SCs to get information on their working environment
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Awareness
Awareness of Service Components is achieved by
equipping SCs with information about their own state
enabling SCs to get information on their working environment
allowing SCs to use this information for restructuring and adapting
Michele Loreti 4
Component Ensembles and Awareness
Components and Ensembles
Service components (SCs) and service-component ensembles (SCEs)
permit to dynamically structure independent, distributed entities that can
cooperate, with different roles, in open and non-deterministic environments
Awareness
Awareness of Service Components is achieved by
equipping SCs with information about their own state
enabling SCs to get information on their working environment
allowing SCs to use this information for restructuring and adapting
Awareness makes SCs adaptable, connectable and composeable.
Michele Loreti 4
Case study: E-Vehicle Case Study
Michele Loreti 5
Case study: E-Vehicle Case Study
We consider a car pooling system where motorized mobility for users and
privately owned vehicles have to be coordinated in order to satisfy user
requirements and to guarantee an (possibly) optimal allocation of
resources.
Michele Loreti 5
Case study: E-Vehicle Case Study
We consider a car pooling system where motorized mobility for users and
privately owned vehicles have to be coordinated in order to satisfy user
requirements and to guarantee an (possibly) optimal allocation of
resources.
We will use SCEL to specify system behaviour while jRESP, its runtime
environment, will be used to develop a prototype implementation in Java.
Michele Loreti 5
E-Vehicle Case Study. . .
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
User:
A user is an active unit of the system. Given its daily calendar of activities
a user:
plans its journey
books parking lots/charging stations
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
User:
A user is an active unit of the system. Given its daily calendar of activities
a user:
plans its journey
books parking lots/charging stations
this task is performed in collaboration with the associated vehicle.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
Vehicle:
A vehicle can:
move towards destinations,
use the vehicle travel planner to plan the journey,
book parking lots and charging stations.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
A vehicle also monitors:
the current traffic and road feasibility,
fuel consumption,
and parking lot/charging station availability.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
Parking lots
A parking lot is an infrastructure unit of the system:
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
Parking lots
A parking lot is an infrastructure unit of the system:
It can be booked (and unbooked) by vehicles.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
Parking lots
A parking lot is an infrastructure unit of the system:
It can be booked (and unbooked) by vehicles.
A single parking lot can be booked by a single vehicle at a time.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
charging stations.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
charging stations.
Charging stations:
A charging station is an infrastructure unit of the system:
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
charging stations.
Charging stations:
A charging station is an infrastructure unit of the system:
It is used by electric vehicles in order to recharge their batteries.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
charging stations.
Charging stations:
A charging station is an infrastructure unit of the system:
It is used by electric vehicles in order to recharge their batteries.
A single charging station can be booked by a single vehicle at a time.
Michele Loreti 6
E-Vehicle Case Study. . .
In the E-Vehicle Case Study the following entities cooperate:
users;
vehicles;
parking lots;
charging stations.
Charging stations:
A charging station is an infrastructure unit of the system:
It is used by electric vehicles in order to recharge their batteries.
A single charging station can be booked by a single vehicle at a time.
Similar to the booking of parking lots, it is usually possible for vehicles
to book a charging station in advance.
Michele Loreti 6
E-Vehicle Case Study. . .
2
Main Success Scenario
P1
P2
P3
P4
P5
POI1
POI2
POI3
POI4
POI2
POI1
POI3
Calendar
9:00
10:00
12:00
14:00
16:00
POIj = j-th point of interest Pi
P1
= i-th parking lot
Michele Loreti 7
Programming Ensembles. . .
Michele Loreti 8
Programming Ensembles. . .
SCEL is a speficiation/programming language equipped with
Michele Loreti 8
Programming Ensembles. . .
SCEL is a speficiation/programming language equipped with
programming abstractions necessary for
directly representing Knowledge, Behaviors and Aggregations according
to specific Policies
naturally programming interaction, adaptation and self- and context-
awareness
Michele Loreti 8
Programming Ensembles. . .
SCEL is a speficiation/programming language equipped with
programming abstractions necessary for
directly representing Knowledge, Behaviors and Aggregations according
to specific Policies
naturally programming interaction, adaptation and self- and context-
awareness
linguistic primitives with solid semantic grounds
To develop logics, tools and methodologies for formal reasoning on
systems behavior
to establish qualitative and quantitative properties of both the
individual components and the ensembles
Michele Loreti 8
SCEL: programming abstractions
The Service-Component Ensemble Language (SCEL) currently provides
primitives and constructs for dealing with:
Michele Loreti 9
SCEL: programming abstractions
The Service-Component Ensemble Language (SCEL) currently provides
primitives and constructs for dealing with:
1 Knowledge: to describe how data, information and (local and global)
knowledge is managed
Michele Loreti 9
SCEL: programming abstractions
The Service-Component Ensemble Language (SCEL) currently provides
primitives and constructs for dealing with:
1 Knowledge: to describe how data, information and (local and global)
knowledge is managed
2 Behaviours: to describe how systems of components progress
Michele Loreti 9
SCEL: programming abstractions
The Service-Component Ensemble Language (SCEL) currently provides
primitives and constructs for dealing with:
1 Knowledge: to describe how data, information and (local and global)
knowledge is managed
2 Behaviours: to describe how systems of components progress
3 Aggregations: to describe how different entities are brought together
to form components, systems and ensembles
Michele Loreti 9
SCEL: programming abstractions
The Service-Component Ensemble Language (SCEL) currently provides
primitives and constructs for dealing with:
1 Knowledge: to describe how data, information and (local and global)
knowledge is managed
2 Behaviours: to describe how systems of components progress
3 Aggregations: to describe how different entities are brought together
to form components, systems and ensembles
4 Policies: to model and enforce the wanted evolutions of computations.
Michele Loreti 9
A SCEL component
Knowledge
K
Processes
P
I Interface
Π
Policies
Michele Loreti 10
A SCEL component
Knowledge
K
Processes
P
I Interface
Π
Policies
Component interface provides information about the component itself.
This information is rendered as a set of attributes whose values can be
derived from the knowledge.
Michele Loreti 10
Predicate-based ensembles
In order to guarantee the maximum degree of flexibility, ensembles are
rendered in terms of predicate-based communication primitives that select
the targets among those enjoying specific properties.
Michele Loreti 11
Predicate-based ensembles
In order to guarantee the maximum degree of flexibility, ensembles are
rendered in terms of predicate-based communication primitives that select
the targets among those enjoying specific properties.
Michele Loreti 11
E-Vehicle Case Study (in SCEL). . .
Michele Loreti 12
E-Vehicle Case Study (in SCEL). . .
9
Parking Lots close to
POIs as Ensembles
POI1
POI2
POI3
POI2
POI1
POI3
Calendar
9:00
10:00
12:00
14:00
16:00
P1
P2
P3
P5
ATTRIBUTES
●
type: parking lot component
●
position: position of the park
●
...
Michele Loreti 12
E-Vehicle Case Study (in SCEL). . .
Michele Loreti 13
jRESP
A Run-time Environment for SCEL Programs
Basic design principles. . .
1 no centralized control
2 heavy use of recurrent patterns to simply the development of specific
knowledge
a single interface that contains basic methods to interact with
knowledge
policies
based on the pattern composite (policies are structured as a stack)
. . .
3 use of open technologies to support the integration with other
tools/frameworks or with alternative implementations of SCEL
Michele Loreti 14
SCEL component
Hardware/Virtual Machine
Networks
Input devices/Sensors
(GPS, Temperature, Battery level,CPU load. . . )
Output devices/Actuators
SCEL Processes (Threads)
Policies
Knowledge
Attr.
Ports
Michele Loreti 15
E-Vehicle Case Study in SCEL
A possible roadmap. . .
Michele Loreti 16
E-Vehicle Case Study in SCEL
A possible roadmap. . .
1 Identify basic information elements (attributes) to use for
coordinating the interactions among components;
Michele Loreti 16
E-Vehicle Case Study in SCEL
A possible roadmap. . .
1 Identify basic information elements (attributes) to use for
coordinating the interactions among components;
2 Design component behaviours in terms of SCEL processes;
Michele Loreti 16
E-Vehicle Case Study in SCEL
A possible roadmap. . .
1 Identify basic information elements (attributes) to use for
coordinating the interactions among components;
2 Design component behaviours in terms of SCEL processes;
3 Develop a jRESP application for supporting/controlling activities of
involved agents;
Michele Loreti 16
E-Vehicle Case Study in SCEL
A possible roadmap. . .
1 Identify basic information elements (attributes) to use for
coordinating the interactions among components;
2 Design component behaviours in terms of SCEL processes;
3 Develop a jRESP application for supporting/controlling activities of
involved agents;
4 Present the obtained results in a simulation environment.
Michele Loreti 16
Good work!
Michele Loreti 17

More Related Content

Similar to Ensemble-oriented programming of self-adaptive systems - Michele Loreti

IRJET- Opinion Mining and Sentiment Analysis for Online Review
IRJET-  	  Opinion Mining and Sentiment Analysis for Online ReviewIRJET-  	  Opinion Mining and Sentiment Analysis for Online Review
IRJET- Opinion Mining and Sentiment Analysis for Online Review
IRJET Journal
 
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMSDEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
International Journal of Technical Research & Application
 
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
Zac Darcy
 
Towards to an agent oriented modeling and evaluating approach for vehicular s...
Towards to an agent oriented modeling and evaluating approach for vehicular s...Towards to an agent oriented modeling and evaluating approach for vehicular s...
Towards to an agent oriented modeling and evaluating approach for vehicular s...
Zac Darcy
 
Ijetcas14 368
Ijetcas14 368Ijetcas14 368
Ijetcas14 368
Iasir Journals
 
online national polling
online national pollingonline national polling
online national polling
Kasi Annapurna
 
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
IJITE
 
81-T48
81-T4881-T48
Implementing sharing platform based on ontology using a sequential recommende...
Implementing sharing platform based on ontology using a sequential recommende...Implementing sharing platform based on ontology using a sequential recommende...
Implementing sharing platform based on ontology using a sequential recommende...
IJECEIAES
 
Placement management system
Placement management systemPlacement management system
Placement management system
Surya Teja
 
Software requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing reSoftware requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing re
AlleneMcclendon878
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
Pramod Parajuli
 
Finding new framework for resolving problems in various dimensions by the use...
Finding new framework for resolving problems in various dimensions by the use...Finding new framework for resolving problems in various dimensions by the use...
Finding new framework for resolving problems in various dimensions by the use...
Alexander Decker
 
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
IJARTES
 
Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...
IRJET Journal
 
Intelligent Buildings: Foundation for Intelligent Physical Agents
Intelligent Buildings: Foundation for Intelligent Physical AgentsIntelligent Buildings: Foundation for Intelligent Physical Agents
Intelligent Buildings: Foundation for Intelligent Physical Agents
IJERA Editor
 
Autonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing SystemsAutonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing Systems
William Chipman
 
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Haouas Hanen
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
Techglyphs
 
IRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
IRJET- An Efficient Automation Framework for Testing ITS Solution using SeleniumIRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
IRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
IRJET Journal
 

Similar to Ensemble-oriented programming of self-adaptive systems - Michele Loreti (20)

IRJET- Opinion Mining and Sentiment Analysis for Online Review
IRJET-  	  Opinion Mining and Sentiment Analysis for Online ReviewIRJET-  	  Opinion Mining and Sentiment Analysis for Online Review
IRJET- Opinion Mining and Sentiment Analysis for Online Review
 
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMSDEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
 
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
Towards to an Agent-Oriented Modeling and Evaluating Approach for Vehicular S...
 
Towards to an agent oriented modeling and evaluating approach for vehicular s...
Towards to an agent oriented modeling and evaluating approach for vehicular s...Towards to an agent oriented modeling and evaluating approach for vehicular s...
Towards to an agent oriented modeling and evaluating approach for vehicular s...
 
Ijetcas14 368
Ijetcas14 368Ijetcas14 368
Ijetcas14 368
 
online national polling
online national pollingonline national polling
online national polling
 
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
 
81-T48
81-T4881-T48
81-T48
 
Implementing sharing platform based on ontology using a sequential recommende...
Implementing sharing platform based on ontology using a sequential recommende...Implementing sharing platform based on ontology using a sequential recommende...
Implementing sharing platform based on ontology using a sequential recommende...
 
Placement management system
Placement management systemPlacement management system
Placement management system
 
Software requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing reSoftware requirement analysis enhancements byprioritizing re
Software requirement analysis enhancements byprioritizing re
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Finding new framework for resolving problems in various dimensions by the use...
Finding new framework for resolving problems in various dimensions by the use...Finding new framework for resolving problems in various dimensions by the use...
Finding new framework for resolving problems in various dimensions by the use...
 
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
 
Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...
 
Intelligent Buildings: Foundation for Intelligent Physical Agents
Intelligent Buildings: Foundation for Intelligent Physical AgentsIntelligent Buildings: Foundation for Intelligent Physical Agents
Intelligent Buildings: Foundation for Intelligent Physical Agents
 
Autonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing SystemsAutonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing Systems
 
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
Dependability_driven_autonomic_adaptation_of_service_oriented_computing_Final...
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
IRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
IRJET- An Efficient Automation Framework for Testing ITS Solution using SeleniumIRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
IRJET- An Efficient Automation Framework for Testing ITS Solution using Selenium
 

More from FET AWARE project - Self Awareness in Autonomic Systems

Academic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-AwarenessAcademic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-Awareness
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 12 Safety and Ethics
Academic Course: 12 Safety and EthicsAcademic Course: 12 Safety and Ethics
Academic Course: 12 Safety and Ethics
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systemsAcademic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systems
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic SystemsAcademic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic EngineeringAcademic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic Engineering
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modelingAcademic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modeling
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systemsAcademic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systems
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awarenessAcademic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awareness
FET AWARE project - Self Awareness in Autonomic Systems
 
Awareness: Layman Seminar Slides
Awareness: Layman Seminar SlidesAwareness: Layman Seminar Slides
Industry Training: 04 Awareness Applications
Industry Training: 04 Awareness ApplicationsIndustry Training: 04 Awareness Applications
Industry Training: 04 Awareness Applications
FET AWARE project - Self Awareness in Autonomic Systems
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
FET AWARE project - Self Awareness in Autonomic Systems
 
Industry Training: 02 Awareness Properties
Industry Training: 02 Awareness PropertiesIndustry Training: 02 Awareness Properties
Industry Training: 02 Awareness Properties
FET AWARE project - Self Awareness in Autonomic Systems
 
Industry Training: 01 Awareness Overview
Industry Training: 01 Awareness OverviewIndustry Training: 01 Awareness Overview
Industry Training: 01 Awareness Overview
FET AWARE project - Self Awareness in Autonomic Systems
 
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias HolzlRobot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
FET AWARE project - Self Awareness in Autonomic Systems
 
Towards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin WirsingTowards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin Wirsing
FET AWARE project - Self Awareness in Autonomic Systems
 
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...
FET AWARE project - Self Awareness in Autonomic Systems
 
Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read
FET AWARE project - Self Awareness in Autonomic Systems
 
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas EsterleComputational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
FET AWARE project - Self Awareness in Autonomic Systems
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
FET AWARE project - Self Awareness in Autonomic Systems
 

More from FET AWARE project - Self Awareness in Autonomic Systems (20)

Academic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-AwarenessAcademic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-Awareness
 
Academic Course: 12 Safety and Ethics
Academic Course: 12 Safety and EthicsAcademic Course: 12 Safety and Ethics
Academic Course: 12 Safety and Ethics
 
Academic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systemsAcademic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systems
 
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic SystemsAcademic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
 
Academic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic EngineeringAcademic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic Engineering
 
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modelingAcademic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modeling
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
 
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systemsAcademic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systems
 
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awarenessAcademic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awareness
 
Awareness: Layman Seminar Slides
Awareness: Layman Seminar SlidesAwareness: Layman Seminar Slides
Awareness: Layman Seminar Slides
 
Industry Training: 04 Awareness Applications
Industry Training: 04 Awareness ApplicationsIndustry Training: 04 Awareness Applications
Industry Training: 04 Awareness Applications
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
 
Industry Training: 02 Awareness Properties
Industry Training: 02 Awareness PropertiesIndustry Training: 02 Awareness Properties
Industry Training: 02 Awareness Properties
 
Industry Training: 01 Awareness Overview
Industry Training: 01 Awareness OverviewIndustry Training: 01 Awareness Overview
Industry Training: 01 Awareness Overview
 
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias HolzlRobot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
 
Towards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin WirsingTowards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin Wirsing
 
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...
 
Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read
 
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas EsterleComputational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
 

Recently uploaded

Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Overkill Security
 
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My IdentityCNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
Cynthia Thomas
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
NTTDATA INTRAMART
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
ScyllaDB
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
Supplier Sourcing Presentation - Gay De La Cruz.pdf
Supplier Sourcing Presentation - Gay De La Cruz.pdfSupplier Sourcing Presentation - Gay De La Cruz.pdf
Supplier Sourcing Presentation - Gay De La Cruz.pdf
gaydlc2513
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
Larry Smarr
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
dipikamodels1
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
Kieran Kunhya
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
UiPathCommunity
 
Dev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous DiscoveryDev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous Discovery
UiPathCommunity
 
CTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database MigrationCTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database Migration
ScyllaDB
 
Brightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentationBrightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentation
ILC- UK
 
Move Auth, Policy, and Resilience to the Platform
Move Auth, Policy, and Resilience to the PlatformMove Auth, Policy, and Resilience to the Platform
Move Auth, Policy, and Resilience to the Platform
Christian Posta
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
ScyllaDB
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
John Sterrett
 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
ScyllaDB
 

Recently uploaded (20)

Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
 
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My IdentityCNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Don’t Make Me Impersonate My Identity
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
Supplier Sourcing Presentation - Gay De La Cruz.pdf
Supplier Sourcing Presentation - Gay De La Cruz.pdfSupplier Sourcing Presentation - Gay De La Cruz.pdf
Supplier Sourcing Presentation - Gay De La Cruz.pdf
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
 
Dev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous DiscoveryDev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous Discovery
 
CTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database MigrationCTO Insights: Steering a High-Stakes Database Migration
CTO Insights: Steering a High-Stakes Database Migration
 
Brightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentationBrightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentation
 
Move Auth, Policy, and Resilience to the Platform
Move Auth, Policy, and Resilience to the PlatformMove Auth, Policy, and Resilience to the Platform
Move Auth, Policy, and Resilience to the Platform
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
 

Ensemble-oriented programming of self-adaptive systems - Michele Loreti

  • 1. Ensemble-oriented programming of self-adaptive systems Michele Loreti Dipartimento di Statistica, Informatica, Applicazioni Universit`a degli Studi di Firenze AWASS 2013, Lucca, June 24-28, 2013 www.ascens-ist.eu
  • 2. Ensemble-oriented programming of self-adaptive systems: the E-Vehicle Case Study Michele Loreti Dipartimento di Statistica, Informatica, Applicazioni Universit`a degli Studi di Firenze AWASS 2013, Lucca, June 24-28, 2013 www.ascens-ist.eu
  • 5. Outline. . . Motivations; E-Vehicle Case Study: a short overview; Michele Loreti 2
  • 6. Outline. . . Motivations; E-Vehicle Case Study: a short overview; Basic ingredients of: Michele Loreti 2
  • 7. Outline. . . Motivations; E-Vehicle Case Study: a short overview; Basic ingredients of: SCEL, a Service Component Ensemble Langugage; Michele Loreti 2
  • 8. Outline. . . Motivations; E-Vehicle Case Study: a short overview; Basic ingredients of: SCEL, a Service Component Ensemble Langugage; jRESP, a framework for executing SCEL applications in Java; Michele Loreti 2
  • 9. Outline. . . Motivations; E-Vehicle Case Study: a short overview; Basic ingredients of: SCEL, a Service Component Ensemble Langugage; jRESP, a framework for executing SCEL applications in Java; E-Vehicle Case Study in SCEL and jRESP: a tentative roadmap. Michele Loreti 2
  • 10. Challenges of Ensembles Programming Michele Loreti 3
  • 11. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Michele Loreti 3
  • 12. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Challenges for software development for ensembles Michele Loreti 3
  • 13. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Challenges for software development for ensembles the dimension of the systems Michele Loreti 3
  • 14. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Challenges for software development for ensembles the dimension of the systems the need to adapt to changing environments and requirements Michele Loreti 3
  • 15. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Challenges for software development for ensembles the dimension of the systems the need to adapt to changing environments and requirements the emergent behaviour resulting from complex interactions Michele Loreti 3
  • 16. Challenges of Ensembles Programming Ensembles are software-intensive systems featuring massive numbers of components complex interactions among components, and with other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions From the final report of: IST Coordinated Action InterLink [2007]. Challenges for software development for ensembles the dimension of the systems the need to adapt to changing environments and requirements the emergent behaviour resulting from complex interactions the uncertainty during design-time and run-time Michele Loreti 3
  • 17. Component Ensembles and Awareness Michele Loreti 4
  • 18. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Michele Loreti 4
  • 19. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Awareness Awareness of Service Components is achieved by Michele Loreti 4
  • 20. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Awareness Awareness of Service Components is achieved by equipping SCs with information about their own state Michele Loreti 4
  • 21. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Awareness Awareness of Service Components is achieved by equipping SCs with information about their own state enabling SCs to get information on their working environment Michele Loreti 4
  • 22. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Awareness Awareness of Service Components is achieved by equipping SCs with information about their own state enabling SCs to get information on their working environment allowing SCs to use this information for restructuring and adapting Michele Loreti 4
  • 23. Component Ensembles and Awareness Components and Ensembles Service components (SCs) and service-component ensembles (SCEs) permit to dynamically structure independent, distributed entities that can cooperate, with different roles, in open and non-deterministic environments Awareness Awareness of Service Components is achieved by equipping SCs with information about their own state enabling SCs to get information on their working environment allowing SCs to use this information for restructuring and adapting Awareness makes SCs adaptable, connectable and composeable. Michele Loreti 4
  • 24. Case study: E-Vehicle Case Study Michele Loreti 5
  • 25. Case study: E-Vehicle Case Study We consider a car pooling system where motorized mobility for users and privately owned vehicles have to be coordinated in order to satisfy user requirements and to guarantee an (possibly) optimal allocation of resources. Michele Loreti 5
  • 26. Case study: E-Vehicle Case Study We consider a car pooling system where motorized mobility for users and privately owned vehicles have to be coordinated in order to satisfy user requirements and to guarantee an (possibly) optimal allocation of resources. We will use SCEL to specify system behaviour while jRESP, its runtime environment, will be used to develop a prototype implementation in Java. Michele Loreti 5
  • 27. E-Vehicle Case Study. . . Michele Loreti 6
  • 28. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: Michele Loreti 6
  • 29. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; Michele Loreti 6
  • 30. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; User: A user is an active unit of the system. Given its daily calendar of activities a user: plans its journey books parking lots/charging stations Michele Loreti 6
  • 31. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; User: A user is an active unit of the system. Given its daily calendar of activities a user: plans its journey books parking lots/charging stations this task is performed in collaboration with the associated vehicle. Michele Loreti 6
  • 32. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; Michele Loreti 6
  • 33. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; Vehicle: A vehicle can: move towards destinations, use the vehicle travel planner to plan the journey, book parking lots and charging stations. Michele Loreti 6
  • 34. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; A vehicle also monitors: the current traffic and road feasibility, fuel consumption, and parking lot/charging station availability. Michele Loreti 6
  • 35. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; Michele Loreti 6
  • 36. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; Parking lots A parking lot is an infrastructure unit of the system: Michele Loreti 6
  • 37. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; Parking lots A parking lot is an infrastructure unit of the system: It can be booked (and unbooked) by vehicles. Michele Loreti 6
  • 38. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; Parking lots A parking lot is an infrastructure unit of the system: It can be booked (and unbooked) by vehicles. A single parking lot can be booked by a single vehicle at a time. Michele Loreti 6
  • 39. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; charging stations. Michele Loreti 6
  • 40. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; charging stations. Charging stations: A charging station is an infrastructure unit of the system: Michele Loreti 6
  • 41. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; charging stations. Charging stations: A charging station is an infrastructure unit of the system: It is used by electric vehicles in order to recharge their batteries. Michele Loreti 6
  • 42. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; charging stations. Charging stations: A charging station is an infrastructure unit of the system: It is used by electric vehicles in order to recharge their batteries. A single charging station can be booked by a single vehicle at a time. Michele Loreti 6
  • 43. E-Vehicle Case Study. . . In the E-Vehicle Case Study the following entities cooperate: users; vehicles; parking lots; charging stations. Charging stations: A charging station is an infrastructure unit of the system: It is used by electric vehicles in order to recharge their batteries. A single charging station can be booked by a single vehicle at a time. Similar to the booking of parking lots, it is usually possible for vehicles to book a charging station in advance. Michele Loreti 6
  • 44. E-Vehicle Case Study. . . 2 Main Success Scenario P1 P2 P3 P4 P5 POI1 POI2 POI3 POI4 POI2 POI1 POI3 Calendar 9:00 10:00 12:00 14:00 16:00 POIj = j-th point of interest Pi P1 = i-th parking lot Michele Loreti 7
  • 45. Programming Ensembles. . . Michele Loreti 8
  • 46. Programming Ensembles. . . SCEL is a speficiation/programming language equipped with Michele Loreti 8
  • 47. Programming Ensembles. . . SCEL is a speficiation/programming language equipped with programming abstractions necessary for directly representing Knowledge, Behaviors and Aggregations according to specific Policies naturally programming interaction, adaptation and self- and context- awareness Michele Loreti 8
  • 48. Programming Ensembles. . . SCEL is a speficiation/programming language equipped with programming abstractions necessary for directly representing Knowledge, Behaviors and Aggregations according to specific Policies naturally programming interaction, adaptation and self- and context- awareness linguistic primitives with solid semantic grounds To develop logics, tools and methodologies for formal reasoning on systems behavior to establish qualitative and quantitative properties of both the individual components and the ensembles Michele Loreti 8
  • 49. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) currently provides primitives and constructs for dealing with: Michele Loreti 9
  • 50. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) currently provides primitives and constructs for dealing with: 1 Knowledge: to describe how data, information and (local and global) knowledge is managed Michele Loreti 9
  • 51. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) currently provides primitives and constructs for dealing with: 1 Knowledge: to describe how data, information and (local and global) knowledge is managed 2 Behaviours: to describe how systems of components progress Michele Loreti 9
  • 52. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) currently provides primitives and constructs for dealing with: 1 Knowledge: to describe how data, information and (local and global) knowledge is managed 2 Behaviours: to describe how systems of components progress 3 Aggregations: to describe how different entities are brought together to form components, systems and ensembles Michele Loreti 9
  • 53. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) currently provides primitives and constructs for dealing with: 1 Knowledge: to describe how data, information and (local and global) knowledge is managed 2 Behaviours: to describe how systems of components progress 3 Aggregations: to describe how different entities are brought together to form components, systems and ensembles 4 Policies: to model and enforce the wanted evolutions of computations. Michele Loreti 9
  • 54. A SCEL component Knowledge K Processes P I Interface Π Policies Michele Loreti 10
  • 55. A SCEL component Knowledge K Processes P I Interface Π Policies Component interface provides information about the component itself. This information is rendered as a set of attributes whose values can be derived from the knowledge. Michele Loreti 10
  • 56. Predicate-based ensembles In order to guarantee the maximum degree of flexibility, ensembles are rendered in terms of predicate-based communication primitives that select the targets among those enjoying specific properties. Michele Loreti 11
  • 57. Predicate-based ensembles In order to guarantee the maximum degree of flexibility, ensembles are rendered in terms of predicate-based communication primitives that select the targets among those enjoying specific properties. Michele Loreti 11
  • 58. E-Vehicle Case Study (in SCEL). . . Michele Loreti 12
  • 59. E-Vehicle Case Study (in SCEL). . . 9 Parking Lots close to POIs as Ensembles POI1 POI2 POI3 POI2 POI1 POI3 Calendar 9:00 10:00 12:00 14:00 16:00 P1 P2 P3 P5 ATTRIBUTES ● type: parking lot component ● position: position of the park ● ... Michele Loreti 12
  • 60. E-Vehicle Case Study (in SCEL). . . Michele Loreti 13
  • 61. jRESP A Run-time Environment for SCEL Programs Basic design principles. . . 1 no centralized control 2 heavy use of recurrent patterns to simply the development of specific knowledge a single interface that contains basic methods to interact with knowledge policies based on the pattern composite (policies are structured as a stack) . . . 3 use of open technologies to support the integration with other tools/frameworks or with alternative implementations of SCEL Michele Loreti 14
  • 62. SCEL component Hardware/Virtual Machine Networks Input devices/Sensors (GPS, Temperature, Battery level,CPU load. . . ) Output devices/Actuators SCEL Processes (Threads) Policies Knowledge Attr. Ports Michele Loreti 15
  • 63. E-Vehicle Case Study in SCEL A possible roadmap. . . Michele Loreti 16
  • 64. E-Vehicle Case Study in SCEL A possible roadmap. . . 1 Identify basic information elements (attributes) to use for coordinating the interactions among components; Michele Loreti 16
  • 65. E-Vehicle Case Study in SCEL A possible roadmap. . . 1 Identify basic information elements (attributes) to use for coordinating the interactions among components; 2 Design component behaviours in terms of SCEL processes; Michele Loreti 16
  • 66. E-Vehicle Case Study in SCEL A possible roadmap. . . 1 Identify basic information elements (attributes) to use for coordinating the interactions among components; 2 Design component behaviours in terms of SCEL processes; 3 Develop a jRESP application for supporting/controlling activities of involved agents; Michele Loreti 16
  • 67. E-Vehicle Case Study in SCEL A possible roadmap. . . 1 Identify basic information elements (attributes) to use for coordinating the interactions among components; 2 Design component behaviours in terms of SCEL processes; 3 Develop a jRESP application for supporting/controlling activities of involved agents; 4 Present the obtained results in a simulation environment. Michele Loreti 16
  翻译: