Component-Based Behavioural Modelling with High-Level Petri Nets - - PowerPoint PPT Presentation

component based behavioural modelling with high level
SMART_READER_LITE
LIVE PREVIEW

Component-Based Behavioural Modelling with High-Level Petri Nets - - PowerPoint PPT Presentation

Component-Based Behavioural Modelling with High-Level Petri Nets Rmi Bastide, Eric Barboni LIIHS IRIT, University of Toulouse, France {bastide, barboni}@irit.fr Software Components Active domain for industry, commercial success


slide-1
SLIDE 1

Component-Based Behavioural Modelling with High-Level Petri Nets

Rémi Bastide, Eric Barboni LIIHS – IRIT, University of Toulouse, France {bastide, barboni}@irit.fr

slide-2
SLIDE 2

2

Software Components

  • Active domain for industry, commercial

success

  • Several mature component models

competing : .Net, JavaBeans, CCM

  • Common concepts :
  • Component as a black box, accessed through

software interfaces

  • Favor composition over inheritance (white box

reuse)

  • Multicast, event-based communication as well

as unicast method invocation

  • Design-time assembly and configuration of

components to produce an executable system

  • Driven by industry, lack of formal

foundations

slide-3
SLIDE 3

3

Our research goals

  • Define a component model
  • Not specially original, close to CCM
  • Propose a formal notation to specify the

inner behavior of components

  • Petri nets (of course !)
  • Allows for specifying concurrent, event and

time-driven behavior

  • Define a mapping from the constructs of

the component model to the Petri net

  • Provide a formal definition of inter-

components communication

  • Method invocation and event multicast
  • Petri nets (again !)
  • Provide a denotational semantics for an

assembly of components

  • From their internal behavior and inter-

communications

  • Provided as an unstructured high-level Petri net
slide-4
SLIDE 4

4

Outline of the talk

  • Introduction
  • Done
  • The component model
  • Mapping to Petri nets
  • A case study
slide-5
SLIDE 5

5

The Component Model

  • The Envelope of a component is made of a

set of Ports

  • Each port described by a pair (Name, java

interface)

  • Facets
  • Functional features offered
  • May be connected to several receptacles
  • Receptacles
  • Functional features required
  • Requires exactly one facet
  • Event sources*
  • Events the component can emit
  • Each method in the event interface represents an

event

  • Connected to any number of event sinks
  • Event sinks*
  • Events the component is willing to receive
  • Connected to any number of event sources
  • * Some syntactic constraints on interfaces
slide-6
SLIDE 6

6

Example : a 2D gesture recognizer

public interface MouseListener extends EventListener { public void mouseClicked(MouseEvent e); public void mousePressed(MouseEvent e); public void mouseReleased(MouseEvent e); public void mouseEntered(MouseEvent e); public void mouseExited(MouseEvent e); } public interface MouseMotionListener extends EventListener { public void mouseDragged(MouseEvent e); public void mouseMoved(MouseEvent e); } public interface MouseInputListener extends MouseListener,MouseMotionListener { } public interface ActionListener extends EventListener { public void actionPerformed(ActionEvent e); } public interface GestureRecognizer { public void start(); public void stop(); }

slide-7
SLIDE 7

7

Assemblies : wiring components together

slide-8
SLIDE 8

8

Mapping for Facets and Receptacles

public interface Buffer { void put(String m); String get(); }

Consumer

buffer: Buffer myBuffer Consumer buffer: Buffer Producer buffer: Buffer

slide-9
SLIDE 9

9

Specifying Server-side behaviour (myBuffer)

public interface Buffer { void put(String m); String get(); }

buffer: Buffer myBuffer

slide-10
SLIDE 10

10

Specifying client-side behaviour (e.g. Consumer)

Consumer buffer: Buffer

slide-11
SLIDE 11

11

Merging Facets and Receptacles

slide-12
SLIDE 12

12

Mapping for event sources and sinks

public interface ActionListener extends EventListener { void actionPerformed(ActionEvent e); }

Sender action: ActionListener Receiver1 a: ActionListener Receiver2 b: ActionListener

slide-13
SLIDE 13

13

Specifying sender-side behaviour (event source)

Sender action: ActionListener

public interface ActionListener extends EventListener { void actionPerformed(ActionEvent e); }

slide-14
SLIDE 14

14

Expected semantics

  • The event emitter can always

emit event through its event sources whether or not there are connected receivers

  • Event emission is non-blocking

and atomic (for the emitter)

  • Transmission of events from

source to sink may take time

slide-15
SLIDE 15

15

Specifying receiver-side behavior (event sink)

  • Several

synchronized transitions (Moalla et al. 78) may be associated to each event of a sink.

  • Synchronized

transitions fire (if enabled) only when they receive an external signal

  • If a signal occurs

when no transition is enabled, it is lost

Receiver1 a: ActionListener

public interface ActionListener extends EventListener { void actionPerformed(ActionEvent e); }

slide-16
SLIDE 16

16

Merging event sources and sinks

  • Using signal arcs from Signal

nets (Starke & Roch, 2001)

  • Several good analysis techniques

developped for this class of nets

slide-17
SLIDE 17

17

Case study : Head gesture recognition

slide-18
SLIDE 18

18

Assemblies and Hierarchy

slide-19
SLIDE 19

19

Petri net-based behavioral specification

slide-20
SLIDE 20

20

Conclusion

  • A component model close to the practice
  • f Software Engineering, yet provided with

a simple formal semantics in terms of HLPN

  • Connectors ( Facet-Receptacle, Source-

Sink) can be considered as PN composition

  • perators
  • Partially implemented
  • Facet-Receptacle close enough to our previous

work on CORBA

  • Need a proper assembly editor
  • Provide an environment where the

behavior of a component may be seamlessly provided in Java, in PN, or as an assembly of sub-components

  • Perform formal verification on parts of the

system that particularly deserve it