1 events, actions, and compositions somayeh malakuti, christoph bockisch, mehmet aksit software...
TRANSCRIPT
![Page 1: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/1.jpg)
1
Events, Actions, and Compositions
Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit
Software Engineering Group
http://trese.cs.utwente.nl
![Page 2: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/2.jpg)
2
Definition of Runtime Enforcement
Nowadays, application software is becoming more and more complex, therefore: it is not possible to detect all the failures of the software before its
actual deployment.
Runtime Enforcement (RE) Systems: verify the active execution trace of software against formally
specified properties.
if the properties are violated, RE systems diagnose the cause of failure and take recovery actions accordingly.
![Page 3: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/3.jpg)
3
Ob
s.
Observer
VerificationComponents
Application Components
Events
Observer
DiagnosisComponents
Events
Observer
RecoveryComponents
EventsE
ven
ts
Ob
server
VerificationComponents
Even
ts
Ob
server
VerificationComponents
Even
ts
Ob
server
VerificationComponents
Even
ts
…
…
…
Elements of a Runtime Enforcement System
![Page 4: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/4.jpg)
4
Co
mp
os.
Compos.
Actions
Actions
Events
Compos.
Actions
Events
Compos.
Actions
Events
Eve
nts
Co
mp
os.
Actions
Even
ts
Co
mp
os.
Actions
Even
ts
Co
mp
os.
Actions
Even
ts
Actions perform operations and may publish their results as events.
Events are typed data
primitive types and composite types
Composition operators facilitate composition of events and actions based on some constraints.
the compositions must be closed with respect
to events.
Everything boils down to Events, Actions and Compositions
![Page 5: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/5.jpg)
5
AO Implementation of a Runtime Enforcement System
Events can be identified via pointcuts
primitive pointcuts for identifying primitive events
history-based pointcuts/ join point types/ explicit join points for composite
events
Actions can be defined via advices
Compositions
advices with pointcuts
pointcuts with each other via logical operators
advices (aspects) with each other at shared join points
![Page 6: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/6.jpg)
6
Deficiencies in Supporting Events, Actions and Compositions
Limited expressive power to define composite event types
as a workaround they must be defined as (part of) actions
there is no guarantee for side-effect freeness the such actions.
Lack of support for side-effect free actions
Deficiencies in compositions
deficiency in composing events with each other
deficiency in composing actions with each other
composition constraints are scattered across and tangled with actions.
Ob
s.
Observer
VerificationComponents
Application Components
Events
Observer
DiagnosisComponents
Events
Observer
RecoveryComponents
Events
Eve
nts
![Page 7: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/7.jpg)
7
The Extended Compose* to Support Events, Actions and Compositions
Filter : Type
ApplicationObject
Filter : Type
Filter : Type
ApplicationObject
Filter :Type
Filter : Type
messages
The execution and the invocation of application messages are regarded as primitive event types.
Filters are means to define composite event types, actions and composition constraints.
Two sorts of filters are supported: read-only and read-write.
messages
![Page 8: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group](https://reader036.vdocuments.site/reader036/viewer/2022082512/5514957c550346f06e8b5462/html5/thumbnails/8.jpg)
8
Thank you!