components with symbolic transition
play

Components with Symbolic Transition Fabrcio Fernandes, Systems: a - PowerPoint PPT Presentation

Components with STS : a Java Imple- mentation Components with Symbolic Transition Fabrcio Fernandes, Systems: a Java Implementation Jean-Claude Royer, Robin Passama of Rendezvous Outline Introduction Fabrcio de Alexandria Fernandes


  1. Components with STS : a Java Imple- mentation Components with Symbolic Transition Fabrício Fernandes, Systems: a Java Implementation Jean-Claude Royer, Robin Passama of Rendezvous Outline Introduction Fabrício de Alexandria Fernandes STS-oriented Component Jean-Claude Royer Robin Passama Model Model Imple- mentation Overview École des Mines de Nantes Department of Computer Science – OBASCO Group A Java Imple- mentation of INRIA Research Centre Rennes - Bretagne Atlantique – LINA Rendezvous Conclusions 10-07-2007 / CPA 2007 1 / 34

  2. Components with STS : a Outline Java Imple- mentation Fabrício Fernandes, • Introduction Jean-Claude Royer, Robin • Motivation Passama • Our work Outline • STS-Oriented Component Model Introduction • STS Model STS-oriented Component • Example Model • Model Implementation Overview Model Imple- mentation • Implementation of the STS Overview • Implementation of the Process primitive component A Java Imple- mentation of • A Java Implementation of Rendezvous Rendezvous • Basic Barrier Principles Conclusions • Synchronization Barrier • Evolution of the mechanism development • Conclusions 2 / 34

  3. Components with STS : a Outline Java Imple- mentation Fabrício Fernandes, • Introduction Jean-Claude Royer, Robin • Motivation Passama • Our work Outline • STS-Oriented Component Model Introduction • STS Model Motivation Our work • Example STS-oriented Component • Model Implementation Overview Model • Implementation of the STS Model Imple- mentation • Implementation of the Process primitive component Overview • A Java Implementation of Rendezvous A Java Imple- mentation of • Basic Barrier Principles Rendezvous • Synchronization Barrier Conclusions • Evolution of the mechanism development • Conclusions 3 / 34

  4. Components with STS : a Motivation Java Imple- mentation Fabrício Fernandes, Jean-Claude Royer, Robin • Component Based Software Engineering (CBSE) Passama • Explicit protocols integrated to component interfaces to Outline describe their behaviour in a formal way Introduction Motivation • Need of formal analysis methods to analyze component Our work interactions STS-oriented Component • Behavioural Interface Description Languages (BIDLs): Model Model Imple- • Architectural analysis and verification issues mentation Overview • Relate efficiently design and implementation A Java Imple- • Problem: explicit protocols are often dissociated from mentation of Rendezvous component code (not ensured that component Conclusions execution will respect protocols rules) 4 / 34

  5. Components with STS : a Our work Java Imple- mentation Fabrício Fernandes, Jean-Claude Royer, Robin Passama • Fill the gap between high-level formal models and implementation of protocols Outline Introduction • Ensure consistency between analysis and execution Motivation phases Our work STS-oriented • Link between specification or design models and Component Model programming languages: automated translation of Model Imple- models into programming code mentation Overview • Long term goal: formal component model with A Java Imple- mentation of executable protocols which includes associated tools: Rendezvous an STSLib, a formal ADL and analysis tools Conclusions 5 / 34

  6. Components with STS : a Outline Java Imple- mentation Fabrício Fernandes, • Introduction Jean-Claude Royer, Robin • Motivation Passama • Our work Outline • STS-Oriented Component Model Introduction • STS Model STS-oriented Component • Example Model • Model Implementation Overview Introduction Example • Implementation of the STS Rendezvous principle • Implementation of the Process primitive component Model Imple- mentation • A Java Implementation of Rendezvous Overview • Basic Barrier Principles A Java Imple- mentation of • Synchronization Barrier Rendezvous • Evolution of the mechanism development Conclusions • Conclusions 6 / 34

  7. Components with STS : a STS Model Java Imple- mentation Fabrício • Implementing STS requires to manage different Fernandes, development steps: Jean-Claude Royer, Robin • Implementing the data part Passama • Representing the protocol Outline • Gluing the data part and the protocol into a primitive Introduction component (intra-component composition) STS-oriented • Implementing components synchronization and Component Model communication (inter-component composition) Introduction Example • Primitive component made of ports and a protocol Rendezvous principle described in the STS formalism Model Imple- mentation • STS: states + transitions between states Overview • STS transition general syntax: [guard] event/action A Java Imple- mentation of • guard: condition to trigger the transition Rendezvous • event: dynamic event possibly with emission ! or receipt Conclusions ? (notification of the action execution) • action: action to be performed 7 / 34

  8. Components with STS : a Example of STS component Java Imple- mentation Fabrício Fernandes, Jean-Claude Royer, Robin Passama Outline Introduction STS-oriented Component Model Introduction Example Rendezvous principle Model Imple- mentation Overview A Java Imple- mentation of Rendezvous Conclusions 8 / 34

  9. Components with STS : a Composition architecture Java Imple- mentation Fabrício Fernandes, p1: process Jean-Claude / A:=0:int Royer, Robin Passama I ? think T:int / A:=T activityOut Outline end Introduction E activityIn STS-oriented [A==S] Component T ? use S:int Model use end think Introduction Example s: server Rendezvous givet principle ! givet T:int / S, T, C:=0:int / T:=(T+1)%MAXINT Model Imple- gives mentation [C==0] S Overview ! gives S:int / C:=C+1 end A Java Imple- mentation of end / S:=(S+1)%MAXINT think Rendezvous / C:=C−1 end use Conclusions p2: process Same STS as p1 9 / 34

  10. Components with STS : a Rendezvous principle Java Imple- mentation Fabrício Fernandes, Jean-Claude • Synchronization of several events: triggering them in Royer, Robin Passama any real order but in the same logical time Outline • With communication: sender necessarily initiates a Introduction value computation and communicate it to the receivers STS-oriented Component • Primitive components involved in synchronization Model cannot trigger any other event during this Introduction Example synchronization Rendezvous principle • Provides execution actions of all the participants and 1 Model Imple- mentation to n communications Overview A Java Imple- • Guard with receipt: components can conditionally mentation of Rendezvous receive and synchronize on a value in the same logical Conclusions time 10 / 34

  11. Components with STS : a Outline Java Imple- mentation Fabrício Fernandes, • Introduction Jean-Claude Royer, Robin • Motivation Passama • Our work Outline • STS-Oriented Component Model Introduction • STS Model STS-oriented Component • Example Model • Model Implementation Overview Model Imple- mentation • Implementation of the STS Overview • Implementation of the Process primitive component Implementation of the STS Implementation of • A Java Implementation of Rendezvous the Process Primitive Component • Basic Barrier Principles A Java Imple- mentation of • Synchronization Barrier Rendezvous • Evolution of the mechanism development Conclusions • Conclusions 11 / 34

  12. Components with STS : a Implementation of the STS Java Imple- mentation Fabrício Fernandes, Jean-Claude Royer, Robin Passama • Dynamic part: states, transitions and some names Outline (guards, events, receipt variables, senders and actions) Introduction • Data part: Java class implementing the formal data part STS-oriented Component with a real implementation of the names with methods Model on the state machine part Model Imple- mentation Overview • Emitter: pure function computing the emitted value in a Implementation of the STS given state of the component Implementation of the Process Primitive Component • Guard: boolean function implementing a condition A Java Imple- mentation of Rendezvous Conclusions 12 / 34

  13. Components with STS : a Implementation of the Process Java Imple- mentation Primitive Component Fabrício Fernandes, Jean-Claude Royer, Robin Passama Outline Data Part Introduction STS Protocol Component Interface STS-oriented Component Process.java Model Java Interface I ? think T:int class Process Model Imple- / think extends Data{ mentation activityOut Overview end ... E Implementation of / end the STS activityIn Implementation of } [check] the Process Primitive T Component ? use S:int / use A Java Imple- mentation of Rendezvous Conclusions 13 / 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend