towards complex actions for complex event processing · complexactionsindura for smoke-extraction{...
TRANSCRIPT
![Page 1: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/1.jpg)
Towards Complex Actions for Complex EventProcessing
Steffen Hausmann and François Bry
Institute for Informatics,University of Munich
July 2, 2013
1 / 11
![Page 2: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/2.jpg)
Motivating Use Case
Fire in a metro station:smoke is the most dangerous thread for passengersevacuation needs to be carried out quickly (~ within 15 min)operators need to focus on important decisions
Emergency management requirements:reliable situation assessment based on simulationsexecution of predefined dynamic reactionsactions suited for external actuators
2 / 11
![Page 3: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/3.jpg)
Particularities of External Actions
External actions significantly differ from internal actions:executed by isolated external actuatorsmay fail to achieve their goalsubject to runtime effectsoften irreversible
3 / 11
![Page 4: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/4.jpg)
Complex Actions in Dura
FORsmoke-extraction{ var Area }
DOcompound {action a: open-fire-dampers{ var Area },action b: activate-ventilators{ var Area }
} where { succ(a) <= init(b) }hence { succ(b)-init(a) <= 30 sec }succeeds on {event e: smoke{ area{var Area}, amount{var C} }where { var C < 0.2, end(e)-init(b) < 60 sec }
}END
4 / 11
![Page 5: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/5.jpg)
Complex Actions in Dura
FORsmoke-extraction{ var Area }
DOcompound {action a: open-fire-dampers{ var Area },action b: activate-ventilators{ var Area }
} where { succ(a) <= init(b) }hence { succ(b)-init(a) <= 30 sec }succeeds on {event e: smoke{ area{var Area}, amount{var C} }where { var C < 0.2, end(e)-init(b) < 60 sec }
}END
4 / 11
![Page 6: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/6.jpg)
Complex Actions in Dura
FORsmoke-extraction{ var Area }
DOcompound {action a: open-fire-dampers{ var Area },action b: activate-ventilators{ var Area }
} where { succ(a) <= init(b) }hence { succ(b)-init(a) <= 30 sec }succeeds on {event e: smoke{ area{var Area}, amount{var C} }where { var C < 0.2, end(e)-init(b) < 60 sec }
}END
4 / 11
![Page 7: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/7.jpg)
Complex Actions in Dura
FORsmoke-extraction{ var Area }
DOcompound {action a: open-fire-dampers{ var Area },action b: activate-ventilators{ var Area }
} where { succ(a) <= init(b) }hence { succ(b)-init(a) <= 30 sec }succeeds on {event e: smoke{ area{var Area}, amount{var C} }where { var C < 0.2, end(e)-init(b) < 60 sec }
}END
4 / 11
![Page 8: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/8.jpg)
Complex Actions in Dura
FORsmoke-extraction{ var Area }
DOcompound {action a: open-fire-dampers{ var Area },action b: activate-ventilators{ var Area }
} where { succ(a) <= init(b) }hence { succ(b)-init(a) <= 30 sec }succeeds on {event e: smoke{ area{var Area}, amount{var C} }where { var C < 0.2, end(e)-init(b) < 60 sec }
}END
4 / 11
![Page 9: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/9.jpg)
Dimension of Complex Actions
There are four desirable dimensions of complex actions:action compositiontemporal dependenciesexecution resulttemporal assertions
Four orthogonal dimensions that should be kept separate.
5 / 11
![Page 10: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/10.jpg)
Dimension of Complex Actions
There are four desirable dimensions of complex actions:action compositiontemporal dependenciesexecution resulttemporal assertions
Four orthogonal dimensions that should be kept separate.
5 / 11
![Page 11: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/11.jpg)
Need for Static Temporal Analysis
Desirable properties of complex actions:viability execution according to temp. dependencies is feasiblefairness each sub-action may be actually executed at runtime
entailment the temporal assertions hold during runtime
Some complex actions do not fulfill these properties:... where { init(a) = init(b) }
... where { succ(a) <= init(b), succ(b) <= init(a) }
... where { succ(a) <= init(b) }
hence { succ(b)-init(a) <= 30 sec }
6 / 11
![Page 12: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/12.jpg)
Need for Static Temporal Analysis
Desirable properties of complex actions:viability execution according to temp. dependencies is feasiblefairness each sub-action may be actually executed at runtime
entailment the temporal assertions hold during runtime
Some complex actions do not fulfill these properties:... where { init(a) = init(b) }
... where { succ(a) <= init(b), succ(b) <= init(a) }
... where { succ(a) <= init(b) }
hence { succ(b)-init(a) <= 30 sec }
6 / 11
![Page 13: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/13.jpg)
Static Temporal Analysis of Complex Actions
Formal Specification of Complex Actions:temporal dependencies: a conjunction of inequalities (C)temporal assertions: a formula built from inequalities (H)
Predict the execution of a complex action:predict runtime delays (scenario ∆)determine how the action would be executed (trace τ∆)verify properties of the action for the predicted trace τ∆
A complete analysis needs to consider all possible traces.
7 / 11
![Page 14: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/14.jpg)
Static Temporal Analysis of Complex Actions
Formal Specification of Complex Actions:temporal dependencies: a conjunction of inequalities (C)temporal assertions: a formula built from inequalities (H)
Predict the execution of a complex action:predict runtime delays (scenario ∆)determine how the action would be executed (trace τ∆)verify properties of the action for the predicted trace τ∆
A complete analysis needs to consider all possible traces.
7 / 11
![Page 15: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/15.jpg)
Static Temporal Analysis of Complex Actions
Definition (viability)All atomic temporal dependencies have the form
variable + duration ≤ identifierinit
Definition (fairness)For all sub-actions a there is a predicted trace τ∆: τ∆(ainit) <∞
Definition (entailment)For all predicted traces τ∆ the variable free formula τ∆(H) holds
These properties are statically decidable, that is, at compile time.
8 / 11
![Page 16: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/16.jpg)
Static Temporal Analysis of Complex Actions
Definition (viability)All atomic temporal dependencies have the form
variable + duration ≤ identifierinit
Definition (fairness)For all sub-actions a there is a predicted trace τ∆: τ∆(ainit) <∞
Definition (entailment)For all predicted traces τ∆ the variable free formula τ∆(H) holds
These properties are statically decidable, that is, at compile time.
8 / 11
![Page 17: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/17.jpg)
Translating Complex Actions to Deductive Rules
Basic ideas of the translation:actions → events for request, initiation, success and failureparameters and time of actions → payload of the eventsaction invocations → declarative rules
FORextract{ ... }DOcompound{action a: damper{ ... },action b: ventilator{ ... }} where {succ(a) <= init(b)}END
DETECTventilator$request{ payload{var P} }ONand{event: extract$initiated{
payload{var P}, id{var Id} },event: damper$success{ ref{var Id} }}END
9 / 11
![Page 18: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/18.jpg)
Translating Complex Actions to Deductive Rules
Basic ideas of the translation:actions → events for request, initiation, success and failureparameters and time of actions → payload of the eventsaction invocations → declarative rules
FORextract{ ... }DOcompound{action a: damper{ ... },action b: ventilator{ ... }} where {succ(a) <= init(b)}END
DETECTventilator$request{ payload{var P} }ONand{event: extract$initiated{
payload{var P}, id{var Id} },event: damper$success{ ref{var Id} }}END
9 / 11
![Page 19: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/19.jpg)
Translating Complex Actions to Deductive Rules
Basic ideas of the translation:actions → events for request, initiation, success and failureparameters and time of actions → payload of the eventsaction invocations → declarative rules
FORextract{ ... }DOcompound{action a: damper{ ... },action b: ventilator{ ... }} where {succ(a) <= init(b)}END
DETECTventilator$request{ payload{var P} }ONand{event: extract$initiated{
payload{var P}, id{var Id} },event: damper$success{ ref{var Id} }}END
9 / 11
![Page 20: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/20.jpg)
Translating Complex Actions to Deductive Rules
Basic ideas of the translation:actions → events for request, initiation, success and failureparameters and time of actions → payload of the eventsaction invocations → declarative rules
FORextract{ ... }DOcompound{action a: damper{ ... },action b: ventilator{ ... }} where {succ(a) <= init(b)}END
DETECTventilator$request{ payload{var P} }ONand{event: extract$initiated{
payload{var P}, id{var Id} },event: damper$success{ ref{var Id} }}END
9 / 11
![Page 21: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/21.jpg)
Conclusions
Complex actions for emergency management:dynamic reactions that adopt to the ongoing situationapplied to three emergency management use cases
metroairportpower grid
subject to a static temporal analysissuited for various domainstransferable to other event processing languages
10 / 11
![Page 22: Towards Complex Actions for Complex Event Processing · ComplexActionsinDura FOR smoke-extraction{ var Area } DO compound { action a: open-fire-dampers{ var Area }, action b: activate-ventilators{](https://reader034.vdocument.in/reader034/viewer/2022050520/5fa357577fe80462e824b553/html5/thumbnails/22.jpg)
Towards Complex Actions for Complex EventProcessing
Steffen Hausmann and François Bry
Institute for Informatics,University of Munich
July 2, 2013
11 / 11