A	  Rule-­‐based	  Calculus	  	  and	  Processing	  of	  Complex	  Events	  	  Stefano	  Bragaglia,	  Federico	  Chesani,	...
2	        Outline	        ¡  IntroducEon	  and	  MoEvaEons	        ¡  Technical	  Choices	  and	  Non-­‐funcEonal	  Requ...
IntroducEon	  	                       and	  MoEvaEons	  RuleML	  2012	               Montpellier,	  28	  August	  2012	  
3	        IntroducEon	  and	  MoEvaEons	        ¡  Problem:	  asserEng/enforcing	  the	  online	  compliance	  of	       ...
4	        IntroducEon	  and	  MoEvaEons	        ¡  Formalism	  to	  describe	  and	  reason	  about	  domains	           ...
Technical	  Choices	  	                       and	  Non-­‐funcEonal	                                   Requisites	  RuleML...
5	        The	  Event	  Calculus	        ¡  Event:	                         ¡  Fluent:	                ¡  Domain’s	  st...
6	        Axioms	  of	  Event	  Calculus	        ¡  Core	  Axiom:	  	            a	  fluent	  is	  true	  in	  a	  given	 ...
7	        Example:	  	        the	  Torchlight	  Problem	      ¡  Fluents:	  	                                         ¡...
7	        Example:	  	        the	  Torchlight	  Problem	                                   pwrAvail	               switch...
7	        Example:	  	        the	  Torchlight	  Problem	                                  pwrAvail	                switch...
7	        Example:	  	        the	  Torchlight	  Problem	                                 pwrAvail	                switchO...
7	        Example:	  	        the	  Torchlight	  Problem	                                 pwrAvail	                switchO...
7	        Example:	  	        the	  Torchlight	  Problem	                                 pwrAvail	                switchO...
7	        Example:	  	        the	  Torchlight	  Problem	                                 pwrAvail	                switchO...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
8	        Families	  of	  	        Event	  Calculus	  variants	                                                           ...
9	        The	  StraEficaEon	  Problem	                                        The	  Event	  Calculus	  ontology	        cl...
10	        The	  StraEficaEon	  Problem	  RuleML	  2012	                          Montpellier,	  28	  August	  2012	  
Architecture	  	                       and	  Modes	  of	                         FuncEoning	  RuleML	  2012	             M...
11	        Architectural	  Paaern	  of	  a	  Module	                       Model                             module’s	    ...
11	        Architectural	  Paaern	  of	  a	  Module	                       Model   1st	  stage	                        Dat...
11	        Architectural	  Paaern	  of	  a	  Module	                       Model   1st	  stage	     rewriting             ...
11	        Architectural	  Paaern	  of	  a	  Module	                       Model   1st	  stage	     rewriting             ...
11	        Architectural	  Paaern	  of	  a	  Module	                       Model   1st	  stage	     rewriting             ...
11	        The	  StraEficaEon	  Problem	                       Model   1st	  stage	                        Data   2nd	  sta...
11	        The	  StraEficaEon	  Problem	                       Model   1st	  stage	                        Data   2nd	  sta...
12	        Modes	  of	  OperaEon	                       Lite	  mode:	  REC-­‐like	                        Full	  mode:	  C...
13	        Full	  Mode	  rules	  (1/2)	        query	  holdsAt(	  Fluent	  $f,	  long	  $t	  )	                           ...
13	        Full	  Mode	  rules	  (2/2)	        rule	  "3.	  A	  declip	  out	  of	  any	  MVI	  preceeding	   then	       ...
Experiments	  	                       and	  Use	  Case	  RuleML	  2012	              Montpellier,	  28	  August	  2012	  
14	        Experiments	  and	  Use	  Cases	                        ¡  Test	  case:	                           ¡  4284	  ...
15	        Experiments	  and	  Use	  Cases	      ¡  Experiments:	           ¡  Torchlight	  Problem	           ¡  A	  t...
16	        Experiments	  and	  Use	  Cases	  RuleML	  2012	                               Montpellier,	  28	  August	  201...
17	        Experiments	  and	  Use	  Cases	  RuleML	  2012	                               Montpellier,	  28	  August	  201...
18	        Experiments	  and	  Use	  Cases	  RuleML	  2012	                               Montpellier,	  28	  August	  201...
19	        Experiments	  and	  Use	  Cases	        ¡  Use	  Case:	             ¡  Jolie:	  language	  and	  plaxorm	  fo...
Conclusions	  and	                          Future	  Work	  RuleML	  2012	                 Montpellier,	  28	  August	  20...
20	        Conclusions	        ¡  ImplementaEon	  of	  Event	  Calculus	             ¡  DeclaraEve	  approach	  (forward...
21	        Future	  Work	        ¡  Extensions:	             ¡  Generic	  Fluents	             ¡  Fuzzy	  Fluents	     ...
Montpellier,	  28	  August	  2012	  Thanks	  for	  your	  aaenEon!	  Any	  quesEon?	                                      ...
Upcoming SlideShare
Loading in …5
×

A Rule-­‐based Calculus and Processing of Complex Events

746 views

Published on

cep, rules,

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
746
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

A Rule-­‐based Calculus and Processing of Complex Events

  1. 1. A  Rule-­‐based  Calculus    and  Processing  of  Complex  Events    Stefano  Bragaglia,  Federico  Chesani,  Paola  Mello,  and  Davide  So9ara    DEIS,  University  of  Bologna    RuleML  2012  –  Montpellier,  28  August  2012    
  2. 2. 2   Outline   ¡  IntroducEon  and  MoEvaEons   ¡  Technical  Choices  and  Non-­‐funcEonal  Requisites   ¡  Architecture  and  Modes  of  FuncEoning   ¡  Experiments  and  Use  Case   ¡  Conclusions  and  Future  Work  RuleML  2012   Montpellier,  28  August  2012  
  3. 3. IntroducEon     and  MoEvaEons  RuleML  2012   Montpellier,  28  August  2012  
  4. 4. 3   IntroducEon  and  MoEvaEons   ¡  Problem:  asserEng/enforcing  the  online  compliance  of   complex  domains’  processes  with  respect  to  the   descripEon  of  a  desired/expected  behaviour   ¡  Example:  Business  Process  Management,  (Computerised   Clinical  Guidelines,  Service-­‐Oriented  CompuEng,  MulE-­‐ Agent  Systems,  etc.   ¡  SoluHon:  descripEon  +  monitoring  +  compliance  check     ¡  Requirements:  efficient  declaraEve  approach,  natural  and   rich  descripEve  capabiliEes,  versaEle  matching  funcEon  RuleML  2012   Montpellier,  28  August  2012  
  5. 5. 4   IntroducEon  and  MoEvaEons   ¡  Formalism  to  describe  and  reason  about  domains   ¡  Generic,  easily  understandable  and  customisable   ¡  Domains  are  complex,  chaoEc  and  dense  of  acEons   ¡  Efficient   ¡  ImplementaEon  should  be   ¡  Self-­‐contained,  modular,  extensible  RuleML  2012   Montpellier,  28  August  2012  
  6. 6. Technical  Choices     and  Non-­‐funcEonal   Requisites  RuleML  2012   Montpellier,  28  August  2012  
  7. 7. 5   The  Event  Calculus   ¡  Event:   ¡  Fluent:   ¡  Domain’s  state   ¡  Anything   ¡  Any  measurable   (in  a  given  Hme):     occurring  on  a   aspect  of  a   ¡  the  set  of  values   domain  in  a  given   domain   of  all  its  fluents   Eme   ¡  Subject  to   ¡  Causing  at  least  a   changes  over   parEal  change  in   Eme   its  state  RuleML  2012   Montpellier,  28  August  2012  
  8. 8. 6   Axioms  of  Event  Calculus   ¡  Core  Axiom:     a  fluent  is  true  in  a  given  8me  iff     it  was  ini8ally  true  or  it  has  been  made  true  in  the  past   and  it  has  not  been  made  false  in  the  mean8me   ¡  Auxiliary  Domain-­‐dependent  Axioms  and  Knowledge:   ¡  Full  list  of  domain’s  fluents  and  events   ¡  Full  list  of  causal  informa8on  on  who  ini/ates  or  terminates   what  (and  under  which  circumstances)   ¡  Full  knowledge  on  fluents’  ini/al  state   ¡  Full  no8fica8on  of  events’  occurance  RuleML  2012   Montpellier,  28  August  2012  
  9. 9. 7   Example:     the  Torchlight  Problem   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡   ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  10. 10. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡   ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  11. 11. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   pwrFail   pwrRest   turnOff   turnOn   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡   ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  12. 12. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   pwrFail   pwrRest   turnOff   turnOn   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡  ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  13. 13. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   pwrFail   pwrRest   turnOff   turnOn   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡  ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  14. 14. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   pwrFail   pwrRest   turnOff   turnOn   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡  ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  15. 15. 7   Example:     the  Torchlight  Problem   pwrAvail   switchOn   pwrFail   pwrRest   turnOff   turnOn   CLIK!   lightOn   ¡  Fluents:     ¡  Events:     ¡  lightOn,  pwrAvail,  switchOn   ¡  turnOn,  turnOff,  pwrRest,  pwrFail   ¡  Causal  InformaHon:   ¡  ini8ates(turnOn,  switchOn)   ¡  terminates(turnOff,  switchOn)   ¡  ini8ates(pwrRest,  pwrAvail)   ¡  terminates(prwFail,  pwrAvail)   ¡  ini8ates(turnOn,  lightOn,  pwrAvail)   ¡  terminates(turnOff,  lightOn)   ¡  ini8ates(pwrRest,  lightOn,   ¡  terminates(pwrFail,  lightOn)   switchOn)   ¡  IniHal  state:   ¡  AcHons:   ¡  Ini8ally(pwrAvail)   ¡  pwrRest    @  5          nothing  happens   ¡  turnOn        @  10    the  light  bulb  is  on  RuleML  2012   Montpellier,  28  August  2012  
  16. 16. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  17. 17. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  18. 18. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  19. 19. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  20. 20. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  21. 21. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  22. 22. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  23. 23. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  24. 24. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  25. 25. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  26. 26. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  27. 27. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  28. 28. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  29. 29. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  30. 30. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  31. 31. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  32. 32. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  33. 33. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  34. 34. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  35. 35. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  36. 36. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  37. 37. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  38. 38. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  39. 39. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  40. 40. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  41. 41. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  42. 42. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  43. 43. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  44. 44. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  45. 45. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  46. 46. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  47. 47. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  48. 48. 8   Families  of     Event  Calculus  variants   OEC  /  BEC   (Kowalski  -­‐  Sergot,  1986)   EEC   FEC   SEC  /  BEC   (Miller  –  Shanahan,  late  90’s)   (Miller  –  Shanahan,  late  90’s)   (Kowalski,  1992)   CEC   REC   (Chiaaro  -­‐  Montanari,  1994)   (UniBO,  2010)  RuleML  2012   Montpellier,  28  August  2012  
  49. 49. 9   The  StraEficaEon  Problem   The  Event  Calculus  ontology   clipped(F,  T1,  T2)   Fluent  F  is  terminated  by  an  event  in  (T1,T2)   happens_at(E,  T)   Event  E  happens  at  Eme  T   holds_at(F,  T)   Fluent  F  holds  at  Eme  T   ini8ally(F)   Fluent  F  holds  from  the  iniEal  Eme   ini8ates(E,  F,  T)   Event  E  iniEates  fluent  F  at  Eme  T   terminates(E,  F,  T)   Event  E  terminated  fluent  F  at  Eme  T   mvi(F,  [T1,  T2])   (T1,  T2]  is  a  maximal  validity  interval  for  F  RuleML  2012   Montpellier,  28  August  2012  
  50. 50. 10   The  StraEficaEon  Problem  RuleML  2012   Montpellier,  28  August  2012  
  51. 51. Architecture     and  Modes  of   FuncEoning  RuleML  2012   Montpellier,  28  August  2012  
  52. 52. 11   Architectural  Paaern  of  a  Module   Model module’s   logic   Data OutcomeRuleML  2012   Montpellier,  28  August  2012  
  53. 53. 11   Architectural  Paaern  of  a  Module   Model 1st  stage   Data 2nd  stage   OutcomeRuleML  2012   Montpellier,  28  August  2012  
  54. 54. 11   Architectural  Paaern  of  a  Module   Model 1st  stage   rewriting Data 2nd  stage   OutcomeRuleML  2012   Montpellier,  28  August  2012  
  55. 55. 11   Architectural  Paaern  of  a  Module   Model 1st  stage   rewriting Data 2nd  stage   OutcomeRuleML  2012   Montpellier,  28  August  2012  
  56. 56. 11   Architectural  Paaern  of  a  Module   Model 1st  stage   rewriting Data 2nd  stage   OutcomeRuleML  2012   Montpellier,  28  August  2012  
  57. 57. 11   The  StraEficaEon  Problem   Model 1st  stage   Data 2nd  stage   OutcomeRuleML  2012   Montpellier,  28  August  2012  
  58. 58. 11   The  StraEficaEon  Problem   Model 1st  stage   Data 2nd  stage   Outcome Two modes of operation: - full: CEC-like - lite: REC-like, inline events only!!!RuleML  2012   Montpellier,  28  August  2012  
  59. 59. 12   Modes  of  OperaEon   Lite  mode:  REC-­‐like   Full  mode:  CEC-­‐like   ¡  Requires  less  resources   1st  stage   Model ¡  Requires  MVIs   ¡  Simpler  module   ¡  More  complex  module   ¡  Fast  but  “with  limitaEons”   ¡  Slower  but  “complete”   Data 2nd  stage   Outcome ¡  Ordered  events   ¡  Events  in  any  order   ¡  Predicates  on  current  Eme   Two Predicates  on  any  Eme   ¡  modes of operation: - full: CEC-like - lite: REC-like, inline events only!!!RuleML  2012   Montpellier,  28  August  2012  
  60. 60. 13   Full  Mode  rules  (1/2)   query  holdsAt(  Fluent  $f,  long  $t  )   rule  "2.  A  declip  out  of  any  MVI  preceeding          MVI(  fluent  ==  $f,  start  <  $t,  stop  >=  $t  )   a  Clip  -­‐-­‐>  new  closed  MVI"   end   when            Declip(  $f:  fluent,  $i:  Eme  )   rule  "1.  A  declip  out  of  any  MVI  with          not  MVI(  fluent  ==  $f,  init  <=  $i,  term  >=   nothing  next  -­‐-­‐>  new  open  MVI"   $i  )   when          exists  Sample(  fluent  ==  $f,  Eme  >  $i  )          Declip(  $f:  fluent,  $i:  Eme  )                  accumulate  (          not  MVI(  fluent  ==  $f,  init  <=  $i,  term  >=                            Sample(  fluent  ==  $f,  $p:  Eme  >  $i  ),   $i  )                            $t:  min($p)          not  Sample(  fluent  ==  $f,  Eme  >  $i  )                  )   then          exists  Clip(  fluent  ==  $f,  Eme  ==          insert(  new  MVI($f,  $i,      $t.longValue()  )    Long.MAX_VALUE)  );   then   end          insert(  new  MVI($f,  $i,  $t.longValue())  );   end  RuleML  2012   Montpellier,  28  August  2012  
  61. 61. 13   Full  Mode  rules  (2/2)   rule  "3.  A  declip  out  of  any  MVI  preceeding   then   a  Declip/MVI  -­‐-­‐>  extend  current  MVI  leo"          modify(  $m  )  {  setInit($i);  }     when   end          Declip(  $f:  fluent,  $i:  Eme  )            not  MVI(  fluent  ==  $f,  init  <=  $i,  term  >=   rule  "4.  A  clip  in  a  MVI  -­‐-­‐>  cut  MVIs  tail”   $i  )   when          exists  Sample(  fluent  ==  $f,  Eme  >  $i  )          Clip(  $f:  fluent,  $t:  Eme  )          accumulate  (          $m:  MVI(  fluent  ==  $f,  init  <  $t,  $t  <                  Sample(  fluent  ==  $f,  $p:  Eme  >  $i  ),   term  )                    $v:  min($p)   then          )          modify(  $m  )  {  setTerm($t);  }          $m:  MVI(  fluent  ==  $f,  init  ==   end   $v.longValue()  )  RuleML  2012   Montpellier,  28  August  2012  
  62. 62. Experiments     and  Use  Case  RuleML  2012   Montpellier,  28  August  2012  
  63. 63. 14   Experiments  and  Use  Cases   ¡  Test  case:   ¡  4284  single  tests   ¡  NarraEves  of  up  to  6  events   ¡  All  the  combinaEon  of  clipping/ declipping  events   ¡  For  each  combinaEon,  all  the   permutaEons  of  events  (delay)   ¡  The  memory  content  was  verified   aUer  each  test  to  be  consistent  with   the  expected  evolu8on  of  the  fluents  RuleML  2012   Montpellier,  28  August  2012  
  64. 64. 15   Experiments  and  Use  Cases   ¡  Experiments:   ¡  Torchlight  Problem   ¡  A  trace  of  600  events:     ¡  Ordered   ¡  Inverted  order   ¡  Delayed   ¡  Survey  for  a  Prolog  comparison   ¡  YAP  Prolog  6.2  and  Drools  5.3  on  an  Intel  i5  @  2,4  GHz  with  4GB  RuleML  2012   Montpellier,  28  August  2012  
  65. 65. 16   Experiments  and  Use  Cases  RuleML  2012   Montpellier,  28  August  2012  
  66. 66. 17   Experiments  and  Use  Cases  RuleML  2012   Montpellier,  28  August  2012  
  67. 67. 18   Experiments  and  Use  Cases  RuleML  2012   Montpellier,  28  August  2012  
  68. 68. 19   Experiments  and  Use  Cases   ¡  Use  Case:   ¡  Jolie:  language  and  plaxorm  for  the   rapid  prototyping  of  SOA  services   ¡  Simple  scripted  local  orchestraEon:   ¡  Session  start/end   ¡  Service  start/end   ¡  Free  memory  (not  used  yet)   ¡  SessionOn,  ServiceOn   ¡  Outcome  forwarded  to  a  Jolie’s  Java   service  for  displaying  the  results  RuleML  2012   Montpellier,  28  August  2012  
  69. 69. Conclusions  and   Future  Work  RuleML  2012   Montpellier,  28  August  2012  
  70. 70. 20   Conclusions   ¡  ImplementaEon  of  Event  Calculus   ¡  DeclaraEve  approach  (forward  producEon  rules)   ¡  Incremental  efficient  calculus  (complex  event  processing)   ¡  Safe  by  straEficaEon   ¡  Two  modes  of  operaEons   ¡  Experiment  Evidences   ¡  Use  Case  RuleML  2012   Montpellier,  28  August  2012  
  71. 71. 21   Future  Work   ¡  Extensions:   ¡  Generic  Fluents   ¡  Fuzzy  Fluents   ¡  Simultaneous  Events  (EEC?)   ¡  Augmented  Reasoning:   ¡  Contextual  DeducEve,  AbducEve  and  InducEve  Reasoning   ¡  Domains:   ¡  Compliance  checking   ¡  Knowledge  reviewing  RuleML  2012   Montpellier,  28  August  2012  
  72. 72. Montpellier,  28  August  2012  Thanks  for  your  aaenEon!  Any  quesEon?   Contacts:   stefano.bragaglia@unibo.it  RuleML  2012   72  

×