PIM to PSM transformations for an event driven architecture in an - - PowerPoint PPT Presentation

pim to psm transformations for an event driven
SMART_READER_LITE
LIVE PREVIEW

PIM to PSM transformations for an event driven architecture in an - - PowerPoint PPT Presentation

Leuven Institute for Research on Information Systems (LIRIS) PIM to PSM transformations for an event driven architecture in an educational tool Geert Monsieur, Monique Snoeck, Raf Haesen, Wilfried Lemahieu KULeuven Faculty of economics and


slide-1
SLIDE 1

Leuven Institute for Research on Information Systems (LIRIS)

PIM to PSM transformations for an event driven architecture in an educational tool

Geert Monsieur, Monique Snoeck, Raf Haesen, Wilfried Lemahieu KULeuven Faculty of economics and appplied economics Management Information Systems Group (Belgium) Geert.Monsieur@econ.kuleuven.be

slide-2
SLIDE 2

2

Leuven Institute for Research on Information Systems (LIRIS)

Presentation overview

  • Introduction
  • Solution

– Platform Independent Model (PIM) – Platform Specific Model (PSM) – Transformation Rules

  • Conclusion
slide-3
SLIDE 3

3

Leuven Institute for Research on Information Systems (LIRIS)

Presentation overview

  • Introduction
  • Solution

– Platform Independent Model (PIM) – Platform Specific Model (PSM) – Transformation Rules

  • Conclusion
slide-4
SLIDE 4

4

Leuven Institute for Research on Information Systems (LIRIS)

Why do we need MDA in an educational environment?

  • Course on Business Modelling

– understand organisational impact of business model – Requires concrete understanding of abstract domain model (with all behavioural and interaction aspects)

  • Goal of our MDA tool

– create a prototype to improve concretisation

Model (PIM) Prototype

Transformation

student educational Case Tool

slide-5
SLIDE 5

5

Leuven Institute for Research on Information Systems (LIRIS)

Presentation overview

  • Introduction
  • Solution

– Platform Independent Model (PIM) – Platform Specific Model (PSM) – Transformation Rules

  • Conclusion
slide-6
SLIDE 6

7

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

Platform Independent Model (PIM)

Class diagram Object Event Table (OET) Finite State Machines

3 views/diagrams

slide-7
SLIDE 7

8

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

Class diagram

Class diagram Object Event Table (OET) Finite State Machines

running example

slide-8
SLIDE 8

9

Leuven Institute for Research on Information Systems (LIRIS)

Object-Event Table

  • Event = atomic unit of action that can

involve several domain classes

  • Standardised event-based interaction

pattern instead of sequence charts/ collaboration diagrams

  • Motivation = raise abstraction level

PIM Transformation rules PSM

N participants (event consumers) Event

Class diagram Object Event Table (OET) Finite State Machines

slide-9
SLIDE 9

10

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

Object event table (OET)

Class diagram Object Event Table (OET) Finite State Machines

Customer Product Order OrderLine ... cr_order V C cr_orderLine V+M M C .... Different roles in processing of an event V = validation (checking some preconditions) M = modification of the instance C = creation of an instance E = ending of an instance

(for the moment we include V in all roles in our MDA tool)

running example

slide-10
SLIDE 10

11

Leuven Institute for Research on Information Systems (LIRIS)

Finite State Machines (FSM) (1 per class)

PIM Transformation rules PSM

Class diagram Object Event Table (OET) Finite State Machines

running example

slide-11
SLIDE 11

12

Leuven Institute for Research on Information Systems (LIRIS)

Platform specific model

PIM Transformation rules PSM

3 layers

GUI layer Swing Event handling layer Persistence layer Session bean Hibernate

uses uses

slide-12
SLIDE 12

13

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

GUI layer Event handling layer Persistence layer

Generating the persistence layer

  • Transforming the class diagram and
  • perations (columns of OET)
  • Transforming the finite state machines
slide-13
SLIDE 13

14

Leuven Institute for Research on Information Systems (LIRIS)

Transforming the class diagram and

  • perations (columns of OET)
slide-14
SLIDE 14

15

Leuven Institute for Research on Information Systems (LIRIS)

Transforming the finite state machines

slide-15
SLIDE 15

16

Leuven Institute for Research on Information Systems (LIRIS)

Partial generated persistence layer

= transformed class = transformed FSM

slide-16
SLIDE 16

17

Leuven Institute for Research on Information Systems (LIRIS)

Partial generated persistence layer

= transformed class = transformed FSM

slide-17
SLIDE 17

18

Leuven Institute for Research on Information Systems (LIRIS)

Transformed FSM

slide-18
SLIDE 18

19

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

GUI layer Event handling layer Persistence layer

Generating the event handling layer

  • Transforming the events (rows of OET)
  • Standard collaboration pattern for

generation of an event handler

slide-19
SLIDE 19

20

Leuven Institute for Research on Information Systems (LIRIS)

Transforming the events (rows of OET) into event handlers How do these generated event handlers work? Standard collaboration pattern required! (see next slide)

slide-20
SLIDE 20

21

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern for generation of an event handler

  • Pattern consists of 4 steps

– Step 1 Checking event preconditions in every participating

  • bject

– Step 2 Checking state conditions in every participating object – Step 3 Processing the event in every participating object – Step 4 Changing state in every participating object

slide-21
SLIDE 21

22

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern (step 1)

slide-22
SLIDE 22

23

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern (step 1 and 2)

slide-23
SLIDE 23

24

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern (step 1 and 2)

slide-24
SLIDE 24

25

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern (step 3)

slide-25
SLIDE 25

26

Leuven Institute for Research on Information Systems (LIRIS)

Standard collaboration pattern (step 3 and 4)

slide-26
SLIDE 26

27

Leuven Institute for Research on Information Systems (LIRIS)

PIM Transformation rules PSM

GUI layer Event handling layer Persistence layer

Generating the GUI layer

  • Also strongly based on

the defined events

  • Details are beyond

scope of this presentation…

Main Window: Select Domain Object DO Window:

  • Select Business Event
  • List of Instances

Business Event Window:

  • Event Attributes
  • Select Participating

Instances

slide-27
SLIDE 27

29

Leuven Institute for Research on Information Systems (LIRIS)

  • Generated event

handling layer

SessionBean (all event handlers) Standard collaboration pattern applied for a specific event handler

// checking preconditions (step 1)

  • rderLine.check_preconditions_for_cr_OrderLine()
  • rder.check_preconditions_for_cr_OrderLine()

product.check_preconditions_for_cr_OrderLine()

// checking state conditions (step 2)

  • rderLine.getState().check_state_for_cr_OrderLine()
  • rder.getState().check_state_for_cr_OrderLine()

product.getState().check_state_for_cr_OrderLine()

// event processing (step 3)

  • rderLine.method_for_cr_OrderLine()
  • rder.method_for_cr_OrderLine()

product.method_for_cr_OrderLine()

// state modifications (step 4)

  • rderLine.getState().change_state_for_cr_OrderLine()
  • rder.getState().change_state_for_cr_OrderLine()

product.getState().change_state_for_cr_OrderLine()

handle_cr_OrderLine() Involved object types: OrderLine, Order, Product

slide-28
SLIDE 28

30

Leuven Institute for Research on Information Systems (LIRIS)

Presentation overview

  • Introduction
  • Solution

– Platform Independent Model (PIM) – Platform Specific Model (PSM) – Transformation Rules

  • Conclusion
slide-29
SLIDE 29

31

Leuven Institute for Research on Information Systems (LIRIS)

Conclusions

  • If a generated application doesn’t work as

expected, students are wondering what’s wrong?

Model (PIM) or Transformation rules

  • MDA can only be manageable with

error-free transformation rules

  • How can we support the student’s

process of making a high-quality PIM?

slide-30
SLIDE 30

32

Leuven Institute for Research on Information Systems (LIRIS)

Conclusions (cont.)

  • Realisation of error-free transformation

central role of ‘business events’ in our transformation

  • Supporting students to make a high-quality PIM

advanced consistency techniques implemented in the modelling tool (by construction, monitoring, analysis, etc.)

slide-31
SLIDE 31

33

Leuven Institute for Research on Information Systems (LIRIS)

Conclusions (cont.)

  • Inheritance in OET can yield complex models

hard to translate in PSM in an automated way (future research)

  • Still difficult to discover transformation rules that

are in general robust to arbitrary combinations of PIM concepts

slide-32
SLIDE 32

34

Leuven Institute for Research on Information Systems (LIRIS)

Questions, comments, reflections, …