collective adaptation in process-based systems

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

Upload: fbk-das

Post on 10-Aug-2015

80 views

Category:

Presentations & Public Speaking


3 download

TRANSCRIPT

Page 1: Collective Adaptation in Process-based Systems

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]  

Page 2: Collective Adaptation in Process-based Systems

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.    

Page 3: Collective Adaptation in Process-based Systems

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  

Page 4: Collective Adaptation in Process-based Systems

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”  

Page 5: Collective Adaptation in Process-based Systems

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  

Page 6: Collective Adaptation in Process-based Systems

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…  

Page 7: Collective Adaptation in Process-based Systems

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  

Page 8: Collective Adaptation in Process-based Systems

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  

Page 9: Collective Adaptation in Process-based Systems

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  

Page 10: Collective Adaptation in Process-based Systems

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.  

Page 11: Collective Adaptation in Process-based Systems

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

Page 12: Collective Adaptation in Process-based Systems

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)    

Page 13: Collective Adaptation in Process-based Systems

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  

Page 14: Collective Adaptation in Process-based Systems

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  

Page 15: Collective Adaptation in Process-based Systems

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  

Page 16: Collective Adaptation in Process-based Systems

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  

Page 17: Collective Adaptation in Process-based Systems

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  

Page 18: Collective Adaptation in Process-based Systems

SASO 2014 Collective Adaptation in Process-based Systems 18

Collective Adaptation: An Example  

Page 19: Collective Adaptation in Process-based Systems

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  

Page 20: Collective Adaptation in Process-based Systems

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.    

Page 21: Collective Adaptation in Process-based Systems

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  

Page 22: Collective Adaptation in Process-based Systems

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

 

Page 23: Collective Adaptation in Process-based Systems

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]