Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Composable Metamodeling Environment Akos Ledeczi Institute for Software Integrated Systems Vanderbilt University
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Object-Oriented Analysis and Design
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Chess Review May 10, 2004 Berkeley, CA Metamodeling Infrastructure for Model-Integrated Computing Matthew J. Emerson, Kai Chen, Andrew D. Dixon, Janos.
Unified Modeling (Part I) Overview of UML & Modeling
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Chess Review, May 10, Multiple Aspect Modeling Well-formedness Rules Semantic Domain A property p is accessible iff: in every well-formed model.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Chess Review May 11, 2005 Berkeley, CA Formal Semantics of Metamodeling Frameworks Ethan Jackson ISIS, Vanderbilt University Semantic Anchoring Infrastructure.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Common Mechanisms in UML
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Coupled Interface Modules for Heterogeneous Composition Ethan Jackson ISIS, Vanderbilt.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
SEG4110 – Advanced Software Design and Reengineering
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Institute for Software Integrated Systems Vanderbilt University Copyright © Vanderbilt University/ISIS 2008 Model Interpreters Janos Mathe based on Peter.
UDM An Infrastructure for Implementing Domain-Specific Modeling Languages Endre Magyari, Arpad Bakay, Andras Lang, Tamas Paka, Attila Vizhanyo, Aditya.
SaveUML System design. System overview Possible...
Generative Programming. Automated Assembly Lines.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
Overview of meta-modeling works for multi-clocked environments Christian Brunette IRISA/INRIA Rennes – ESPRESSO Synchron 2005.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
4 th Workshop for TAO and CIAO July 16, 2004 MOF-Compliant Modeling of Middleware Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
The Movement To Objects
SysML v2 Formalism: Requirements & Benefits
Discussion with Gregor Kiczales at UBC
Recall The Team Skills Analyzing the Problem (with 5 steps)
Logical architecture refinement
Multiple Aspect Modeling of the Synchronous Language Signal
Architecture Description Languages
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Visual Modeling Using Rational Rose
Software Architecture & Design
Presentation transcript:

Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson

Outline  Modeling  Metamodeling and the four-level hierarchy  Library of canonical metamodels  Metamodel patterns and composition  Accessible Properties  Short discussion of Signal

Part I Basic Model Integrated Computing

a b c d Models  A model relates to an execution in the way an interface relates to an implementation  Models have are presented in some way, i.e. they have a concrete syntax. They are stored, parsed, represented with an abstract syntax Mathematical Interpretation d = a+b+c b = d – a – c Discrete Event Interpretation CMOS Interpretation Area Capacitance Resistance Transients ? ? ?  Well-formedness rules capture properties of all the desired models and are properties that hold for all of the targeted interpretations

Modeling Languages  A modeling language is the 5-tuple:  A model is a well-formed instance of the abstract syntax n1 n2 n3

Abstract and Concrete Syntax  Notice that the abstract syntax is the concrete syntax of some other language  The concrete syntax used to describe the abstract syntax of FSMs comes from a language that is more expressive than the modeling language of FSMs.  Traditional modeling approaches take for granted the language in which they express their abstract syntax Instance of

Traditional Approach: UML  A single universal modeling language where all modeling is done in the concrete syntax of UML.  12 standard diagram types ? Expressive enough for all modeling needs Class Object Component Deployment Use-case Activity Sequence Collaboration Statechart Packages Subsystems Models Structural Diagrams Behavioral Diagrams Model Management Diagrams

MIC Approach: Metamodeling  Build modeling languages for specific domains. These languages contain only concepts needed for modeling in that domain.  Create these modeling languages in a formal way that exploits the “chain” of modeling languages. Well-formed instance DS Metamodel Well-formed instance DS Model Interpretation of Model Meta-Metamodel Meta-circular

Four Level Hierarchy MIC uses a four level hierarchy and a set valued- semantics to specify domain specific modeling languages. Self-describing Meta-Metamodel Metamodel describes domain concepts Model instantiates domain concepts Assignment of model data MMM M3: M2: M1: M0: MMM MM MMM MM M MMM MM M Model + Data

MetaGME  Concrete Syntax is UML class diagrams extended with stereotypes + object constraint language (OCL)  Stereotypes extend UML notation in an acceptable manner while affixing concrete syntax information.

Basic Tool Set  GME, the MetaGME Paradigm, partial interpreter generators (BON, MON, UDM, Java BON), model transformers (UDM, GREAT)

Interpreter Generation  GME exports a COM interface and there are several meta- interpreters that can be used to generate an interpreter skeleton from a metamodel: MON, BON, Java BON  UDM dynamically loads a metamodel and can build, modify models in memory, and read from/write to various repositories. GME Custom Interpreter GetFirstAtom(); GetNextAtom (); GME UDM Interpreter

Interpretation as Graph Transformations  The Graph Rewriting And Transformation (GReAT) language is language for translating between metamodels.  A formal way to describe interpreters GReAT metamodel GReAT model GReAT interpreter transformer Source Model Target Model

Demo

Part II Selected Research Directions

Library of Canonical Metamodels Meta-metamodel Metamodel Semantic Domain Semantic Mapping MetaFSM FSM MetaDE DE MetaSignal Signal … Meta a Meta b GReAT

Library of Canonical Metamodels These metamodels along with their semantic mappings become standard semantic units. The interface to these semantic units, a transformation of metamodels, is grounded in the MIC methodology. Used when a DSML has an interpretation in a standard semantic unit, but is not naturally represented with the concepts of that unit. Example: Boldstroke to Timed-Automata

Metamodel Design Patterns and Composition Mapping to canonical metamodels is one approach to utilize an already existing semantic domain. However, one may wish to build DSMLs by composing well- understood metamodel design patterns, or by specializing already existing metamodels. MM Hierarchy SD Hierarchy Semantic Mapping MM scoping SD scoping Semantic Mapping MM DSML SD hierarchy M hierarchy M DSML M scoping SD DSML SD scoping

Metamodel Design Patterns and Composition Build standard metamodel patterns that come with a semantic mapping Create new metamodels by composing existing design patterns with specialization, class equivalence, package import Guarantee that if this composition adheres to certain rules, then the semantic mappings of the constituent metamodels can be reused. Used when DSML directly instantiates standard concepts in the abstract syntax Example: Add hierarchy to a FSM

Important Points A “good” metamodel (abstract syntax) is important for a canonical metamodel because the metamodel is an essential part of the interface to the semantic unit. int statevar = 0; switch (statevar) { case 0: … statevar = 1; case 1: … statevar = 2; case 2: … statevar = 0; } int statevar = 0; switch (statevar) { case 0: … statevar = 1; case 1: … statevar = 2; case 2: … statevar = 0; }

Bad Example “Standard” representation

Bad Example Translation from this DSML to an executable model is trivial, however this metamodel seems to “muddle” key aspects of the FSM semantic domain. Consider: What is the start state? What is the topology of the FSM Is there are directed path between two states? These issues of abstract syntax design are only magnified when creating metamodel design patterns: Reuse of a poor design pattern will only perpetuate poor metamodel designs.

Development Cycle We need a definition that articulates the important properties of an abstract syntax. This definition follows naturally if one considers the hard part of model development MMM MM Semantic Domain Error Well-formed 1. Consider intended behavior in semantic domain 2. Mentally map backward to a modified model of the system 3. Check well-formedness rules and map back into semantic domain Debug Cycle Need to be able to correlate well-formedness rules to semantic properties

Accessible Properties  An accessible property allows a modeler to formally reason about semantic issues with out interpretation A property is accessible iff: for every well-formed model that has an error in property p, a semantically equivalent model can be found where that model is not well- formed. Well-formedness Rules Computable Properties Abstract Syntax Semantic Domain

Simple Example Consider the well-formedness rules: 1) Length of state name < 40 2) There must be a start state  Rule 1 is an idiosyncrasy of the abstract syntax while Rule 2 is a property of FSM semantic domains

Multiple Aspect Modeling  Claim: An abstract syntax should be designed carefully so that accessible properties exist  Then a multiple aspect approach so not just partition abstract syntax, but should simultaneously partition accessible properties  Claim: A multiple aspect approach modularizes reasoning about the system

Bad Aspects  These are bad aspects because an important accessible property is not modularized w.r.t the aspects  Consider the generative constraint that every data element causes the production of a memory element in the storage aspect. Data Issues Storage Issues Is enough? Data AspectStorage Aspect Data Issues Storage Issues Is enough? Data Aspect Is enough? Storage Aspect

Part III Brief Discussion of Applying MIC to Signal

Application of MIC to Signal  Signal has already been described as a DSML in GME with an interpreter for generating Signal code. Binding sub-process result to local Sub-process invocation Passing result up hierarchy Sub-process invocation with local Passing constant parameters Instantiating parameters Can only check properties relating to hierarchy and interconnects

Two Orthogonal Aspects start := true when go default start$ start := true when go default start$ Equations like this are stored in the model, but the static semantics does not give them any meaning during design time.  The structure aspect shows all AS having to do with program structure.  The implementation aspect shows the equations that implement the process

Interpretation is Easy  Interpretation is an simple DFS traversal of the model that collects all of the equations and process interface definitions Interpretation is done on an AST build from these nodes

Problems  The concepts contained in the dataflow equations are not modeled, hence no accessible properties for program behavior  Not a suitable abstract syntax for a canonical metamodel; metamodel translation equivalent to generating Signal code  Does not capture behavioral concepts that could be used as metamodel design patterns  Developing new abstract syntax and operational semantics that may have behavioral accessible properties  Tool set: TinyModes, SigVerify, SigGen, uModeCharts Current Work

Questions Thank You