Upload
fbk-das
View
80
Download
3
Embed Size (px)
Citation preview
Service Oriented Applica0ons (SOA) Unit
Collective Adaptation in Process-based Systems
Antonio Bucchiarone, C. Mezzina, M. Pistore, H. Raik, and G. Valetto
SASO 2014 8-12 September 2014, London, UK
Fondazione Bruno Kessler, Trento – Italy [email protected]
SASO 2014 Collective Adaptation in Process-based Systems 2
Collec0ve Adap0ve Systems
Diversity and Autonomicity En00es with diverse goals, preferences and autonomous decision making. Collec4veness and Conflicts § Collabora0on between en00es to fulfill goals. § Conflic0ng goals of en00es at different levels. Dynamicity § System load: number of en00es and their goals. § Context of en00es: u0lity may depend on context. Adaptability and Evolu4on. § Mul0ple solu0ons with different u0lity to accomplish goal § Maximize u0lity for given preferences and context. § U0lity of solu0on for a given context can be learned.
SASO 2014 Collective Adaptation in Process-based Systems 3
Key Concepts
En4ty § Represents a physical or virtual
organiza0onal unit. § Comprises of a set of goals [1] and cells
[2]. § Associated with preferences, u0lity
func0ons and context. Cell § Described as a process consis0ng of
abstract and concrete ac0vi0es. § Specialized by replacing abstract
ac0vi0es with abstract or concrete ac0vi0es.
Cell A B C
Goal 1
Cell
D B G
Goal 2 En0ty
I J H
E
F
OR
Specializa0on of abstract ac0vity G
[1] Antonio Bucchiarone, Claudio Antares Mezzina, Heorhi Raik. A Goal Model for Collec.ve Adap.ve Systems. In FoCAS@SASO 2014, London, UK. [2] V. Andrikopoulos, A. Bucchiarone, S. Saez, D. Karastoyanova C. Mezzina: Towards Modeling and Execu.on of Collec.ve Adap.ve Systems. ICSOC Workshops 2013: 69-‐81
SASO 2014 Collective Adaptation in Process-based Systems 4
Key Concepts
Ensemble § Associated with a goal. § Composi0on of specialized cells
w.r.t. goal and context. § Cells collaborate to achieve
ensemble goal. Cell
D E
Cell
D B
C
Cell
E F G
Ensemble
Goal
“Emergent aggrega.on of autonomous and self-‐adap.ve process-‐based elements”
SASO 2014 Collective Adaptation in Process-based Systems 5
Problem Descrip0on
1 2 6
3
5
4
7 8 9 Train Sta0on
A
B
Travel to A
Travel to A
Travel to B
Travel to B
Travel to Train Sta0on
Arrive by Train and travel to B
SASO 2014 Collective Adaptation in Process-based Systems 6
Problem Descrip0on
1 2 6
3
5
4
7 8 9 Train Sta0on
A
B
Travel to A
Travel to A
Travel to B
Travel to B
Travel to Train Sta0on
Arrive by Train and travel to B
Car accident on the bridge, the bridge is blocked. The first intui0ve solu0on is to change the route and con0nue…
SASO 2014 Collective Adaptation in Process-based Systems 7
Problem Descrip0on
1 2 6
3
5
4
7 8 9 Train Sta0on
A
B
Travel to A
Travel to A
Travel to B
Travel to B
Travel to Train Sta0on
Arrive by Train and travel to B
15 minutes delay
SASO 2014 Collective Adaptation in Process-based Systems 8
Problem Descrip0on
1 2 6
3
5
4
7 8 9 Train Sta0on
A
B
Travel to A
Travel to A
Travel to B
Travel to B
Travel to Train Sta0on
Arrive by Train and travel to B
15 minutes delay
a) 5,6,7 risk to be late for the train b) The bus cannot resolve the situa.on autonomously
SASO 2014 Collective Adaptation in Process-based Systems 9
Problem Description
1 2 6
3
5
4
7 8 9 Train Sta0on
A
B
Travel to A
Travel to A
Travel to B
Travel to B
Travel to Train Sta0on
Arrive by Train and travel to B
The Flexi Bus Company tries to find a solu0on itself, e.g. there is another route that can deviate to collect 5,6,7 introducing a delay of 10 minutes. a) The delay is fine for 5,6,7 but not for 8,9 b) The Flexi Bus Company cannot resolve the situa.on autonomously
SASO 2014 Collective Adaptation in Process-based Systems 10
Requirements
§ Each CAS par0cipant cannot adapt its behavior in complete isola0on
§ Each adapta0on may nega0vely affect the goals of other par0cipants (i.e., conflic4ng goals)
§ Each adapta0on can compromise the whole collabora0on
1. Every adapta.on must be resolved at the scale of the whole Ensemble.
2. Adapta.ons may need to be simultaneously applied to the behavior of mul.ple par.cipants
3. Adapta.ons must respect the specific condi.ons that par.cipa.on to the Ensemble imposes.
SASO 2014 Collective Adaptation in Process-based Systems 11
Entities in a Collective Adaptive System
§ A CAS is modeled as a set of en00es (i.e., flexibus route manager, passengers, buses, etc..).
§ En00es can join and exit the applica0on dynamically. § An En0ty lifecycle consists in execu0ng its process (i.e., cell)
over 0me and exploi0ng fragments of surrounding en00es.
Fragments
Process
Domain Objects
Fragments
Process
Domain Objects
Fragments
Process
Domain Objects
Domain Model
Entity A Entity B Entity C
SASO 2014 Collective Adaptation in Process-based Systems 12
Domain Model
§ Defined through a set of domain objects, each capturing a par0cular aspect of the system and its evolu0on (modeled as state transi0on systems)
§ Shared representa0on of the system opera0on environment used to express goals, precondi3ons and effects on fragments and processes
§ Domain objects evolve as an effect of fragment ac0vity execu0on (normal behavior) or as a result of exogenous changes (improbable behavior)
SASO 2014 Collective Adaptation in Process-based Systems 13
Domain Model
None
Booked
Cancelled
book
cancel
Booking None
Paid
Nonref Refunded
pay
refund
fix
Payment Updated
notUpdated
change
I4neraryStatus
commit
Passenger
None
Assigned
assign
I4nerayStatus
notUpdated
update
AtStop
Driving
start stop
Ok
Nok
damage
repair
Status
FlexiBus
Posi4on
SASO 2014 Collective Adaptation in Process-based Systems 14
Processes and Fragments
Antonio Bucchiarone, Annapaola Marconi, Marco Pistore, Heorhi Raik: Dynamic Adapta3on of Fragment-‐Based and Context-‐Aware Business Processes. ICWS 2012: 33-‐41
register vehicle
get i0nerary
go to next stop
leave/collect passengers X X
G1 G2 P3 G3 P4 G4
+ Precondi0on/Effects used for -‐ detec0ng run-‐0me viola0ons -‐ automa0c reasoning for adapta0on
None
assign
I4nerayStatus
notUpdated
update
Assigned
AtStop
Driving
start stop
Posi4on
+ Abstract ac0vi0es / Goals used for -‐ run-‐0me context-‐aware service composi0on
gps request
gps response
follow direc0ons
E1
SASO 2014 Collective Adaptation in Process-based Systems 15
Collective Adaptation Rules
§ We introduce a mechanism for sharing cri0cal changes between the domain models of various en00es to spread the awareness.
§ We implement this mechanism as a set of collec0ve adapta0on rules that encode casual rela0ons between different domain events.
§ Rules as an integral part of ensemble and provided by the ensemble designer
triggering Events that are triggered
SASO 2014 Collective Adaptation in Process-based Systems 16
Collective Adaptation Rules
∃FB.ItineraryStatus.update→∀Passenger.ItinerayStatus.change
None
Assigned
assign
I0nerayStatus
notUpdated
update
Updated
change
I0neraryStatus
commit
notUpdated
SASO 2014 Collective Adaptation in Process-based Systems 17
Collective Adaptation Rules
notUpdated
∃Passenger.Booking.cancel→∃FB.ItinerayStatus.change∧∀Passenger.ItineraryStatus.change
None
Booked
book
cancel
Booking
Updated
change
I4neraryStatus
commit
None
Assigned
assign
I4nerayStatus
notUpdated
update
Cancelled
SASO 2014 Collective Adaptation in Process-based Systems 18
Collective Adaptation: An Example
SASO 2014 Collective Adaptation in Process-based Systems 19
Ensemble Activity
§ Ensemble as a number of roles that can be played by par0cipants and a set of collec4ve adapta4on rules regula0ng signalling between roles.
§ Collabora4on within an ensemble must be considered as only one of the tasks that belong to the en0ty process.
§ We extend our process model with a new type of ac0vity called ensemble activity
§ It is refined and executed in compliance with the ensemble tules
book seat pay trip go to stop take bus go to des0na0on
Task 1 Task 2 (play passenger in route)
Task 3
SASO 2014 Collective Adaptation in Process-based Systems 20
Implementation
Adapta4on Manager
Process Engine
Domain Manager
En0ty Model
Port
Communica0on Module
CA Rules
§ Process Engine to run en0ty process and monitor viola0ons. § Adapta4on Manager to find a solu0on to each adapta0on
problem by automa0cally composing available fragments. § The adapta0on manager transforms an adapta0on problem
into AI planning problem [3]
§ Domain Manager o maintains the domain model and current state of an en0ty
o checks if any rules in the Collec0ve Adap0ve Rules of the ensemble must be applied
[3] H. Raik, A. Bucchiarone, N. Khurshid, A. Marconi, and M. Pistore. Astro-‐captevo: Dynamic context-‐aware adapta.on for service-‐based systems. In SERVICES, pages 385–392, 2012.
SASO 2014 Collective Adaptation in Process-based Systems 21
Implementation
§ The signaling propaga4on occurs through a publish/subscribe bus.
§ Each en0ty has a communica3on module which manages its Port and governs all exchanges with the Communica3on Manager bus as well as the Fragment Repository
Adapta4on Manager
Process Engine
Domain Manager
Communica0on Manager (P/S)
En0ty Model
Adapta4on Manager
Process Engine
Domain Manager
En0ty Model
Fragments Repository
Port Port
Communica0on Module Communica0on Module
CA Rules
CA Rules
SASO 2014 Collective Adaptation in Process-based Systems 22
Conclusions
§ A conceptualiza0on that enables the collec0ve adapta0on of ensembles composed of process-‐based en00es.
§ We have outlined an architecture that supports the enactment of such collec0ve adapta0on.
Open Points: § Booom-‐up crea0on of Ensembles (i.e., emergent Behavior)
§ Hierarchical Ensembles: mul0ple CASs come into a collabora0on in a larger ensemble (i.e., system of systems, socio-‐technical systems, etc..)
Service Oriented Applica0ons (SOA) Unit
Collective Adaptation in Process-based Systems
Antonio Bucchiarone, C. Mezzina, M. Pistore, H. Raik, and G. Valetto
SASO 2014 8-12 September 2014, London, UK
Fondazione Bruno Kessler, Trento – Italy [email protected]