1 / 8

Events, Actions, and Compositions

Events, Actions, and Compositions. Somayeh Malakuti , Christoph Bockisch, Mehmet Aksit Software Engineering Group http://trese.cs.utwente.nl. Definition of Runtime Enforcement. Nowadays, application software is becoming more and more complex, therefore:

giulia
Download Presentation

Events, Actions, and Compositions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group http://trese.cs.utwente.nl

  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.

  3. Elements of a Runtime Enforcement System Events Recovery Components Events Observer Verification Components … Observer Events … Diagnosis Components Events Observer Verification Components Observer Events … Verification Components Events Observer Verification Components Observer Events Application Components Obs.

  4. Everything boils down to Events, Actions and Compositions Events Actions Events Compos. Actions • Actions perform operations and may publish their results as events. • Events are typed data • primitive types and composite types • Composition operatorsfacilitate composition of events and actions based on some constraints. • the compositions must be closed with respect to events. Compos. Events Actions Events Compos. Actions Compos. Events Actions Events Compos. Actions Compos. Events Compos. Actions

  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

  6. Deficiencies in Supporting Events, Actions and Compositions Events Recovery Components • 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. Observer Events Diagnosis Components Observer Events Verification Components Observer Events Obs. Application Components

  7. Filter : Type Filter : Type Filter : Type Filter : Type Filter :Type Application Object Application Object The Extended Compose* to Support Events, Actions and Compositions • 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 messages

  8. Thank you!

More Related