Download presentation
Presentation is loading. Please wait.
Published byPatrick Carson Modified over 8 years ago
1
Generic State Machine engine (GSMe) L. Andolfato | 10.05.2010
2
PRIMA project for the VLT Interferometer VLT SW Platform (Linux, GNU C/C++, CCS/EVH) Workstation Software Framework (WSF): State Machine framework for the development of workstation applications Generic State Machine engine WSF Experience L. Andolfato | 10.05.2010
3
Generic State Machine engine WSF Model Dependent Engine L. Andolfato | 10.05.2010 In a model dependent engine the SM is embedded in the engine. Examples: State Pattern, switch, etc. Changing the model -> recompile the application Application size depends on the model size
4
Generic State Machine engine WSF Model Representation L. Andolfato | 10.05.2010
5
Generic State Machine engine WSF Example L. Andolfato | 10.05.2010
6
UML Tools -> Statecharts Statecharts reduce the visual complexity of a SM Important features: Composite (Compound) States Orthogonal Regions Initial/Final pseudo-states History State Entry/Exit/Trans/Do Actions State Pattern architecture supports very few of them Generic State Machine engine Statechart Features L. Andolfato | 10.05.2010
7
Is there a standard semantic for Statecharts? Is UML Statecharts semantic completely defined? Generic State Machine engine Statecharts Semantic L. Andolfato | 10.05.2010 No, Statecharts syntax was defined in the famous paper by D. Harel “Statecharts: A Visual Formalist For Complex Systems” The semantic was not completely specified. Different tools/standards introduced different semantics: Statemate, Rhapsody, UML. UML Statecharts semantic is NOT completely specified. SCXML semantic is specified (the algorithm is provided with the standard).
8
Generic State Machine engine WSF based Applications L. Andolfato | 10.05.2010 Despite all these architectural issues, WSF helped in the development of several control applications: ProjectNumber of Applications PRIMA12 APE12 NGC6 DL1 AO Instrument(s)In progress E-ELT Enclosure prototype for VLTIn progress > 31
9
ACS State Machine generator Based on Linux, Java, ACS Generates from Rational ROSE/MagicDraw models using oAW Supports limited number of Statecharts features Only one application generated Generic State Machine engine Others SM based tools L. Andolfato | 10.05.2010 SPARTA State Machine framework Based on Linux, C++, SPARTA Supports limited number of Statecharts features Supports inheritance Does not generate from SM model
10
Generic State Machine engine Comparison L. Andolfato | 10.05.2010 EngineWSFACSSPARTAGSMe Model Independent Engine No Yes Statecharts Features 60%40%30%90% Standard Semantic~~UML~UML SCXML InheritanceNo Yes Graphical/Text model representation Yes/Yes ROSE,EA,MD/txt Yes/No ROSE,MD No/NoYes/Yes MD/SCXML MultiplatformNo VLT No ACS No SPARTA Yes VLT, ACS
11
Generic State Machine engine Data Flow L. Andolfato | 10.05.2010
12
Interpreted or compiled programming language? Generic State Machine engine Model Independent Engine L. Andolfato | 10.05.2010 Examples: VLT: TCL and C/C++ ACS: Python and Java/C++ Qt: ECMAScript and C++ Both! SCXML Engines: Fully interpreted: SM logic (states, transitions) and actions/data Partially interpreted: SM logic only, actions/data are compiled
13
At the moment we are iterating on Requirements analysis Design Java Prototype for the SCXML Engine and Parser Generic State Machine engine Current Status / Planning L. Andolfato | 10.05.2010 Planning for this year UML to SCXML transformation (definition and implementation) Development of Java adapters for ACS Finalize the Java Engine and Parser Code Generator for ACS
14
More info: https://websqa.hq.eso.org/sdd/bin/view/MDD/MddGe nericStateMachineEnginehttps://websqa.hq.eso.org/sdd/bin/view/MDD/MddGe nericStateMachineEngine https://websqa.hq.eso.org/sdd/bin/view/VLTSW/Wsf Generic State Machine engine Questions? L. Andolfato | 10.05.2010 Thank you!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.