Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.

Slides:



Advertisements
Similar presentations
McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Advertisements

McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe.
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
A code generator for the CAL actor language Lars Wernli Supervisor: Joern Janneck, UC Berkeley Professor: Lothar Thiele, ETH Zuerich.
ACM SIGPLAN 2001 Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'2001) Jun 22-23, 2001, Snowbird, Utah, USA Embedded Software from.
Process-Based Software Components for Networked Embedded Systems Edward A. Lee, PI UC Berkeley Core Technical Team (Mobies, SEC, and GSRC): Christopher.
Component Technologies for Embedded Systems Johan Eker.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
Mobies Phase 1 UC Berkeley 1 Agenda 8:00-8:30 Continental breakfast 8:30-9:00 Overview of Mobies Phase 1 effort (Edward A. Lee) 9:00-9:40 Introduction.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Behavioral Types for Actor-Oriented Design Edward A. Lee.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
Heterogeneous Modeling and Design in Ptolemy II Johan Eker UC Berkeley with material courtesy of Edward Lee and the Ptolemy group ECE Seminar Series, Carnegie.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Implementing Quantity Managers in Ptolemy II EE 290N Project Haibo Zeng Dec 10 th, 2004.
An Extensible Type System for Component-Based Design
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
MoBIES PI-Meeting, July 2001, Jackson Hole Controller Design Using Multiple Models of Computation Edward Lee Johan Eker with thanks to Paul Griffiths,
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
State of the Art Lecture IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001 Computing for Embedded Systems Edward.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Models of Computation as Program Transformations Chris Chang
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
 Scientific workflow management system based on Ptolemy II  Allows scientists to visually design and execute scientific workflows  Actor-oriented.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Composing Models of Computation in Kepler/Ptolemy II
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Ptolemy & Models of Computation -by Hao Chen, Zhuang Fan, Jin Xiao School of Computer Science University of Waterloo Claudius Ptolemaeus, the second century.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Incremental Checkpointing with Application to Distributed Discrete Event Simulation Thomas Huining Feng and Edward A. Lee {tfeng,
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
PTII Model  VHDL Codegen Verification Project Overview 1.Generate VHDL descriptions for Ptolemy models. 2.Maintain bit and cycle accuracy in implementation.
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
CS223: Software Engineering
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
UML Diagrams By Daniel Damaris Novarianto S..
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
UML Diagrams Jung Woo.
Compiler Lecture 1 CS510.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Model Transformation with Hierarchical Discrete-Event Control
Model Transformation with Hierarchical Discrete-Event Control
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Model Transformation with the Ptera Controller
Presentation transcript:

Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008

Overview Recap: Ptolemy Problem Statement Implementation Testing 30th April 20082

Started at UC Berkeley by Prof. Edward Lee Studies modeling, simulation, and design of concurrent, real-time, and embedded systems Developed using Java and truly free software (GPL) Special features: – Actor Orientation + Domain – Hierarchically Heterogeneous Model 30th April [1] Eker, J., Janneck, J., Lee, E., Liu, J., Liu, X., Ludvig, J., Nuendorffer, S., Sachs, S., Xiong, Y. : Taming Heterogeneity – The Ptolemy Approach. Proceedings of the IEEE 91(1) (Jan 2003) [1]

Actors are concurrent components that communicate through ports by passing messages Actor-oriented view of a system decouples the transmission of data from the transfer of control. Actor Orientation 30th April actor name data (state) ports Input data parameters Output data What flows through an object is streams of data

Domains Domains provide semantic models for component interactions. Domain is realized by: – Director: governs the execution of a composite entity – Receiver: implements the communication semantics 30th April Director D1 Controls the execution order of actors A1 and A2 Director D2 controls the execution of A3 and A4 whenever A2 is executed.

Actor Execution 30th April InitializationExecutionFinalization fire()postfire()prefire() Iterate() The domain of a composite actor determines how the iteration of one actor is related to the iterations of other actors in the same composite Despite computation occurs during the fire() phase, the state of the actor is not updated until postfire()

Hierarchical Heterogeneous Composition 30th April FSM SDF CT Divide a complex model into a tree of nested submodels Each level is composed of a network of interacting components Network at each level is locally homogenous, while allowing different interaction mechanisms to be specified at different levels in the hierarchy

What is Missing? Meta-Modeling! 30th April Meta Model Intermediate Representation Implementation Model Transformation Code Generation The Ultimate Test

The Project Using external tool for Meta-modeling formalisms and automatically synthesize the codes for Ptolemy Specifically: Specify operational semantics using rules and compile these rules into Ptolemy’s code (Java) Tools: AToM 3 and Motif Target Formalism: Finite State Automata / Machine 30th April 20089

Finite State Automata (Example) 30th April PositiveNegative 1/-1 0/0 1/1 Alternate Mark Inversion (AMI) Coder InputOutput

Specifying and Compiling Operational Semantics Rules in AToM 3 30th April Meta-model of domain specific notation Specify operational semantics as graph transformation rule Compiled rule-based operational semantics Finite State Automata Meta- Model Graph Grammar Rule defining FSM execution transformation Compiled GGRule in Java

Finite State Automata Meta Model 30th April * This can be transformed to UML class diagram which eventually can be used to generate the code

Initialization Rule 30th April

Update Rule 30th April

Motif [2] GG Compiler Used Motif GG compiler to extract and compile rule defined in AToM 3 Modified to produce Java code suitable for Ptolemy Logic is mainly based on AToM 3 graph representation – Ptolemy data structure is modified to support this 30th April [2] Eugène Syriani and Hans Vangheluwe. Programmed Graph Rewriting with DEVS. In Manfred Nagl and Andy Schür, editors, Applications of Graph Transformations with Industrial Relevance (AGTIVE 2007), Lecture Notes in Computer Science (LNCS). Springer-Verlag, October Kassel, Germany. Rule + checkCondition() + executeAction() + executeLHS(ASG) + executeRHS()

Modifications in Ptolemy (1) 30th April ASG + getNodeTypes() + getListNodes() ASGNode > + getInConnection() + getOutConnection() StateTransitionCurrent Points_To Existing Ptolemy ClassesNew Classes Legend :

Modifications in Ptolemy (2) 30th April ExecutionFinalization prefire() Initialization fire()postfire() ComputationUpdate State FSM Actor

Modifications in Ptolemy (2) 30th April UpdateRule + executeLHS(ASG) + executeRHS() InitRule + executeLHS(ASG) + executeRHS() ExecutionFinalization prefire() Initialization executeLHS() executeRHS() fire()postfire() executeLHS()executeRHS() FSM Actor fire() corresponds to the left hand side matching, and postfire() corresponds to transforming the matched sub-graph to right hand side of the transformation rule

Testing – AMI Coder 30th April

Testing – AMI Coder 30th April

Testing – AMI Coder 30th April InputOutput Expected Result

Thank You 30th April