Generic State Machine engine (GSMe) L. Andolfato | 10.05.2010.

Slides:



Advertisements
Similar presentations
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
STATEMATE A Working Environment for the Development of Complex Reactive Systems.
CSc 453 Compilers & Systems Software Saumya Debray The University of Arizona Tucson, AZ
CS487 Software Engineering Omar Aldawud
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
On a Literature/Tool Review on Software Metrics Tools Gordana Rakic.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Chapter 1: Preliminaries
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Reuse Building software from reusable components Objectives
CS 425/625 Software Engineering System Models
Programming Languages Structure
Compiler Construction
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
R&D Design Center. Main activities 1. Alpha-Resources R&D Design Center provides: Embedded software development. Drivers development. Low-level programming.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
Principles of Object Technology Module 1: Principles of Modeling.
Chapter 2 The process Process, Methods, and Tools
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
Executable Translatable UML Stephen J. Mellor Chief Scientist.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Chapter 7 System models.
TkSee/SN Experiences with the parser benchmark IWPC 2002, Paris S. Marchenko and T. Lethbridge.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Compressed Abstract Syntax Trees as Mobile Code Christian H. Stork Vivek Haldar University of California, Irvine.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Programming language. Definition Programming language is a formal language designed to communicate instructions to a computer. Programming languages can.
CSc 453 Compilers & Systems Software Saumya Debray The University of Arizona Tucson, AZ
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Compiler Introduction 1 Kavita Patel. Outlines 2  1.1 What Do Compilers Do?  1.2 The Structure of a Compiler  1.3 Compilation Process  1.4 Phases.
 Programming - the process of creating computer programs.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Software Development Introduction
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
ESO - G.Chiozzi ESO Instrumentation Software Workshop VLT Control Software …and beyond.
Design Pattern Support based on principles of model driven development Zihao Zhao.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Workstation Software Framework 2 (WSF2)
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Rhapsody 2003년 3월 12일 배대호.
The language focusses on ease of use
CSc 453 Compilers & Systems Software 00. Background
CMPE419 Mobile Application Development
Advanced Programming Fall 2017.
High Level Programming Languages
Implementing Language Extensions with Model Transformations
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Implementing Language Extensions with Model Transformations
CMPE419 Mobile Application Development
Programming language translators
Presentation transcript:

Generic State Machine engine (GSMe) L. Andolfato |

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 |

Generic State Machine engine WSF Model Dependent Engine L. Andolfato | 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

Generic State Machine engine WSF Model Representation L. Andolfato |

Generic State Machine engine WSF Example L. Andolfato |

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 |

Is there a standard semantic for Statecharts? Is UML Statecharts semantic completely defined? Generic State Machine engine Statecharts Semantic L. Andolfato | 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).

Generic State Machine engine WSF based Applications L. Andolfato | 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

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 | SPARTA State Machine framework Based on Linux, C++, SPARTA Supports limited number of Statecharts features Supports inheritance Does not generate from SM model

Generic State Machine engine Comparison L. Andolfato | 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

Generic State Machine engine Data Flow L. Andolfato |

Interpreted or compiled programming language? Generic State Machine engine Model Independent Engine L. Andolfato | 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

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 | 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

More info: nericStateMachineEnginehttps://websqa.hq.eso.org/sdd/bin/view/MDD/MddGe nericStateMachineEngine Generic State Machine engine Questions? L. Andolfato | Thank you!