the aesop fp7 project
play

The AESOP FP7 project Jerker Delsing, Jens Eliasson, Per Lindgren, - PowerPoint PPT Presentation

The AESOP FP7 project Jerker Delsing, Jens Eliasson, Per Lindgren, Pawe Pietrzak, Rumen Kyusakov, Henrik Mkitaavola, +Jonas Gustafsson, etc. 1 The AESOP FP7 project Swedish partners LKAB, MIDROC,LTU/EISLAB + ProcessIT


  1. The AESOP FP7 project Jerker Delsing, Jens Eliasson, Per Lindgren, Pawe ł Pietrzak, Rumen Kyusakov, Henrik Mäkitaavola, +Jonas Gustafsson, etc. 1

  2. The AESOP FP7 project • Swedish partners – LKAB, MIDROC,LTU/EISLAB + ProcessIT • European partners – Large companies • Schneider • SAP • Honeywell • Microsoft-EMIC – Research Organizations • Fho-Embden • IFAK • TUT (Tampere) 2

  3. The AESOP FP7 project • SOA Architecture – E.g., described in Technologies for SOA-based Distributed Large Scale Process Monitoring and Control Systems (Schneider/Fr, Fho-Emden/De, LTU/Se, SAP/De, Honeywell/Cz, Microsoft-Emic/De) • EISLAB – Lightweight SOA • 6LoWPAN, CoAP, EXI (LTU + Schneider + Ifak) • TinyOS+CRO -> TOSPRO scheduling (LTU) – Complex event processing for SOA • CRO + CEP (LTU + Microsoft-Emic) 3

  4. Motivation Sensors ¡ • Pushing monitoring & control Web ¡servers ¡ down to embedded devices CEP CEP Feeds ¡ Local “intelligence” CEP • Inherently event-based Control systems traditionally scan-based CEP CEP current trend towards event-based • Better responsiveness Can act directly when an event occurs CEP CEP CEP independent of scan time Complex Analytics & Data Mining • Minimize network traffic, save bandwidth, etc. A. Colombo and S. Karnouskos, Towards the factory of the future: A service-oriented cross-layer infrastructure, in ICT Shaping The World - A Scientific View, The European Telecommunications Standards Institute (ETSI) . John Wiley and Sons Ed., April 2009, ch. 6. 4

  5. Complex | Event | Processing • Complex – Made up of multiple detailed parts. • Event – Something that happens • Processing – A series of events to produce a result Source: Wiktionary.org 5

  6. Events and Complex Events • Basic (atomic) events – A: church bells ringing, – B: the appearance of a man in a tuxedo with a woman in a flowing white gown, – C: rice flying through the air – Complex event: wedding? W = WHEN ALL (A, B, C) 6

  7. Events and Complex Events Events may have a Duration (start/stop) A B C W = WHEN ALL (A, B, C) W Time 7

  8. Complex Event Processing • Most applications today in Business world – Algorithmic stock-trading – Detection of credit-card fraud. • Etc. Business aspects, e.g., Microsoft R. Barga, H. Caituiro-Monge, …, Event Correlation and Pattern Detection in CEDR. Springer Berlin / Heidelberg, 2006, vol. 4254, pp. Theoretical aspects, e.g., MDH J. Carlson and B. Lisper, A resource-efficient event algebra Science of Computer Programming , vol. 75, no. 12, pp. 1215–1234, December 2010. 8

  9. CEP vs SQL SQL queries typically • “one shot” (new queries created dynamically) • return a result • operate on database (relatively static) CEP queries typically • typically act as a filter (standing query) • produce event when matching • operate on streaming data (dynamic) 9

  10. Complex Event Processing in “Our World” • Combines data from multiple sources • Infer events or patterns that suggest more complicated circumstances. The goal: - Identify meaningful events (such as opportunities or threats) - Respond , either by emitting new events or taking some action. 10

  11. Embedded System • Designed for specific purpose • Often operating under real-time constraints • Limited resources – CPU – Memory – Communication bandwidth 11

  12. CEDR - CRO • CEDR : Complex Event Detection and Response – Query language used commercially (Microsoft) – Capture event types and order • CRO : Concurrent Reactive Objects – Execution and concurrency model – React to atomic events – Between events: idle – Built in notion of time 12

  13. CEDR EVENT < query name > WHEN < event expression > WHERE < correlation expression > OUTPUT< instance transformation conditions > 13

  14. CEDR - WHEN • ALL(E1 , . . . , Ek ) • ANY(E1 , . . . , Ek ) • SEQUENCE(E1 , . . . , Ek ) • UNLESS(E1 , E2 , t) • etc. 14

  15. CEDR (Cont’d) WHERE • Correlation between values in events payload Example: EVENT Temperature_alarm WHEN Any(Water_temp, Air_temp) AS x WHERE x.temperature > 100 OUTPUT Alarm x.ID 15

  16. Concurrent Reactive Objects • Reactivity – React to external stimuli or internal events • Objects and state encapsulation – All states are encapsulated in objects O1, … , On • Message passing and specification of timing behavior – ASYNC(O, m, t) : Asynchronous (may be delayed) – SYNC(O,m) : Synchronous call returns with a result • Execution model behind the Timber language and the TinyTimber C-code API. 16

  17. CRO/Timber - Example 17

  18. Event Processing in CRO CEDR query into a CRO program EVENT Master_alarm WHEN UNLESS(ANY(High_temp,High_press) AS x, Button pressed , 10 seconds) (for the working example we omit payload) 18

  19. An Event Expression Tree WHEN UNLESS ( ANY ( High_temp , High_press ) AS x, Button pressed , 10 seconds) 19

  20. CEDR - CRO WHEN UNLESS ( ANY ( High_temp , High_press ), Button pressed , 10 seconds) O 5 UNLESS 10 seconds O 3 O 4 ANY Button_Pressed O 1 O 2 High_Temp High_Temp 20

  21. CEDR - CRO 21

  22. Towards a Lightweight Complex Event Processing Engine for Embedded Systems IECON 2012 : 38th Annual Conference of the IEEE Industrial Electronics Society Pawel Pietrzak, Per Lindgren, Henrik Mäkitaavola • Lightweight and efficient implementation in TinyTimber (C-Code API to CRO kernel) – Simple states, no queues (besides inside kernel) – Static structure facilitates analysis • Subset of CEDR rules (easily extendable) Future work • Support dynamic queries • Support re-occurring/overlapping events • Support real-time constraints 22

  23. CEP in Monitoring and Control Systems • CEP for Monitoring and Control – Powerful mechanism to process streaming data (events can be time triggered, similar to scan-based) – Inherent support for event based control – Can connect loosely coupled Systems of Systems • Requirements (quality) – Accurate time of event occurrence – Bound & small delay of delivery • processing and communication, boils down to • scheduling of nodes and channels • data representation 23

  24. Challenges to solve • Traditional CEP only deals with time in order to correlate events, not the time to process and deliver • Scheduling (prioritizing) is at best achieved through assigning priority to a thread that process the query – Time separated from query – Non compositional D. Anicic, P. Fodor, S. …, Ep-sparql: a unified language for event processing and stream reasoning in Proceedings of the 20th international conference on World wide web , ser. WWW ’11. New York, NY, USA: ACM, 2011, pp. 635–644. R. Barga, H. Caituiro-Monge, …, Event Correlation and Pattern Detection in CEDR . Springer Berlin / Heidelberg, 2006, vol. 4254, pp. 919–930 24

  25. Real-Time Complex Event Processing using Concurrent Reactive Objects Extends our prior work to address – non-deterministic (out of order) execution improves schedulability – reoccurring events and overlapping timing windows relaxes the assumption that a query must be restarted after completion, multiple overlapping matches can now be handled – real-time properties allows CEP processing under hard real-time requirements 25

  26. Our approach • CRO Timing model permissible execution window execution time event baseline deadline t after t before Message should be processed within execution window Each clause (sub-expression) is associated with a message UNLESS 5 10s Button pressed 4 ANY 3 , High temp 1 High press 2 26

  27. CEP encoding of unless in CRO-model • w is the window size (in this example 10s) • Button_pressed operate under the deadline d1 UNLESS 5 • d2 is the deadline for processing the unless query • by schdeuling the accept at w+d1 we can ensure 10s that outstanding Button_pressed events inside w have ANY 3 , Button pressed 4 been processed. • a triggering event (ANY) will be processed within w+d1+d2 (end-end deadline for the processing) High temp 1 High press 2 Deadlines can be either synthesized (from top level quieries) or derived (i.e., allowing timing of external hard-/software to be accounted for.) The notion of deadlines allows timing requirements to be fully compositional. 27

  28. CEP encoding of unless in Timber unless e w d1 d2 = class tmr = new timer abortT := [] start = before w + d1 action after w + d1 send accept drop = before d1 action UNLESS 5 abortT := (<- tmr.sample) : abortT 10s accept = before d2 action t = <-tmr.sample ANY 3 , Button pressed 4 if elem True (map (inW t) abortT) then send e.drop else High temp 1 High press 2 send e.accept abortT := (filter (inWOrL t) abortT) where inW t at = (at > t-w-d1) && (at < t-d1) inWOrL t at = at > t-w-d1-d2 result Cep {..} 28

  29. CEP encoding of unless in Timber unless e w d1 d2 = class tmr = new timer • w d1 and d2 are parameters to the class abortT := [] • timing specification directly in the language, before and after constructs start = before w + d1 action • … rest is just implementation …. after w + d1 send accept drop = before d1 action abortT := (<- tmr.sample) : abortT accept = before d2 action t = <-tmr.sample if elem True (map (inW t) abortT) then send e.drop else send e.accept abortT := (filter (inWOrL t) abortT) where inW t at = (at > t-w-d1) && (at < t-d1) inWOrL t at = at > t-w-d1-d2 result Cep {..} 29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend