1 events, actions, and compositions somayeh malakuti, christoph bockisch, mehmet aksit software...

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

Upload: arianna-miles

Post on 27-Mar-2015

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group

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

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

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

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

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

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

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

8

Thank you!