AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.

Slides:



Advertisements
Similar presentations
Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Advertisements

Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
IELM 511: Information System design
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
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,
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
LANGUAGE TRANSLATORS: WEEK 3 LECTURE: Grammar Theory Introduction to Parsing Parser - Generators TUTORIAL: Questions on grammar theory WEEKLY WORK: Read.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
A Domain-Specific Modeling Language for Scientific Data Composition and Interoperability Hyun ChoUniversity of Alabama at Birmingham Jeff GrayUniversity.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Selected Topics in Software Engineering - Distributed Software Development.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
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.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
Semantics In Text: Chapter 3.
Formalizing Material Flow Diagrams Robert-Jan Bijl.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
© SERG Reverse Engineering (Interconnection Styles) Interconnection Styles.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan 1 A Verification Mechanism for Weaving.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Model Transformations Require Formal Semantics Yu Sun 1, Zekai Demirezen 1, Tomaz Lukman 2, Marjan Mernik 3, Jeff Gray 1 1 Department of Computer and Information.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Transformation By Demonstration Yu Sun, Jules White, Jeff Gray This work funded in part by NSF CAREER award CCF CIS Dept. – University of.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
SysML v2 Formalism: Requirements & Benefits
WELCOME TO COSRI IBADAN
International Research and Development Institute Uyo
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Design of Transmission Pipeline Modelling Language
Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development Yuehua Lin, Jing Zhang, Jeff Gray.
Towards an Open Meta Modeling Environment
Chapter 10: Compilers and Language Translation
Graphical Modeling of INFOD applications
Software Architecture & Design
Presentation transcript:

AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM SE ‘10, Oxford, MS, 4/17/2010 FACULTY OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Maribor, Slovenia Jožef Stefan Institute, Ljubljana, Slovenia

Agenda  Introduction  Research problem  Research objectives  Related work  Proposed approach  Specification of semantics  Model traversal algorithm  Example  Conclusion 2/18

Introduction  Modeling is an important part of software engineering  Model-Driven Engineering (MDE) promotes the systematic and disciplined use of precise models throughout the software lifecycle  Increases productivity and software quality  Domain-Specific Modeling Languages (DSMLs) – use concepts (e.g., terms, symbols and pictures) and abstractions that are common to a specific domain  MDE needs tool support to enable various development tasks with a specific DSML  model editor, model debugger, test suite, interpreters  Without tool support a DSML can become obsolete 3/18

Model-Driven Engineering (MDE)  MDE: specifies and generates software systems based on high-level models  Domain-Specific Modeling (DSM): a paradigm of MDE that uses notations and rules from an application domain  Metamodel: defines a Domain-specific Modeling language (DSML) by specifying the entities and their relationships in an application domain  Model: an instance of the metamodel  Model Transformation: a process that converts one or more models to various levels of software artifacts (e.g., other models, source code) 4/18

Research problem  DSMLs are not defined precisely  The potential benefits of MDE cannot be achieved  Semantics are the most challenging part of a DSML definition  State-of-the-practice: semantics are specified with model interpreters  Low understandability  Model-based tools cannot be automatically generated (e.g., code interpreters, debuggers)  Manual development of model-based tools is time consuming, error prone and expensive  Challenge: How to generate model based tools automatically? 5/18

Research objectives  Analogy: in the field of programming languages, language- based tools can be automatically generated  E.g., attribute grammars -> debuggers, animators, test suites  Broad objective: Development of a formalism for semantics from which model based tools can be automatically generated  Current work: The generation of model interpreters  What is needed for the generation of model interpreters:  A formalism to specify the semantics  An algorithm to traverse the model and generate the parser 6/18

Semantics specification for modeling languages  State-of-the-art: several proposals for specifying the semantics of modeling languages already exist  Translation semantics: semantics are defined trough a mapping into formalism with well-known semantics (e.g., Abstract State Machines)  Drawback: backward mapping of computation results  Weaving behavior: an action language specifies the bodies of the operations in the metamodel  Drawback: action languages are imperative  Semantics based on rewriting systems: operational approach for defining through rewrite rules e.g., graph grammars  Issue: None of the proposed approaches focuses on the automatic generation of model-based tools 7/18

Proposed approach  Idea: extend metamodels with semantic information  Similar to attribute grammars in programming languages  Consists of two parts:  Information about semantics in the metamodel = specification of semantics  Automatic synthesis of this information to generate model based tools = traversal algorithm 8/18

Specification of semantics  The semantics is specified with semantic attributes and semantic rules  Semantic attribute – associate with each metaclass  Semantic rules - carry semantic information that specifies how semantic attributes are calculated  Currently specified through Java  The meaning of the model will be obtained by evaluating attribute occurrences  The initial value of the attribute is undefined  Redefined by the traversal algorithm during its execution  They are used to obtain/compute the meaning of the whole model 9/18

Model traversal algorithm  A traversal algorithm over models (graphs) is needed to evaluating semantics attributes based on semantic rules  The algorithm depends on the metamodel and the API (application programming interface) of the model repository  Example of modeling environments:  GME (Generic Modeling Environment)  GMF (Graphical Modeling Framework)  We developed an initial algorithm that works with EMF (Eclipse Modeling Framework)  Optimized and extended to other environments in the future  The development of the traversal algorithm represents the most challenging part of our approach 10/18

Development of the model traversal algorithm (1/3)  The requirements for the model traversal algorithm: i. All model elements should be visited ii. Avoidance of endless loops iii. It must find the start element of the model iv. Executabiltiy on disconnected models (there are some modes that are not connected to other nodes) 11/18

Development of the model traversal algorithm (2/3)  Interpreters are developed based on the metamodel nodes and relationships between them  We specified: what the algorithm should do (i.e., where to navigate) when a specific relationship occurs  The types of relationships in Ecore (EMFs metamodeling language):  Root metaclass – traverse all traversable relationships  Unidirectional metarelationship – traverse into one direction (where arrow is pointing)  Bidirectional metarelationship – traverse in both ways 12/18

Development of the model traversal algorithm (3/3)  To use an algorithm based on these simple rules we have to use metamodels that satisfy this requirements:  The root metaclass should not be connected to each other with any relationship except the composition relationship  Bidirectional metarelationships are not used  Composition metarelationship – traverse away from the composition  Generalization metarelationship – traverse down the inheritance tree  Root metaclass with a self-containing metarelationship – traverse away from the filled diamond until the current instance is the root 13/18

The developed traversal algorithm  Based on the previous design decisions we have defined the following algorithm: modelRoot = findAbsoluteModelRoot(); visit(modelRoot); // recursive visiting function function visit(currentModelElement) // evaluate the current node evaluateInheritedAttributes(); // visit possible generalizations – top down if currentModelElement has subMetaclass subMetaclassOfCurrent = getSubMetaclass(currentModelElement); visit(subMetaclassOfCurrent); end-if // visit possible unidirectional relationships foreach unidirectionalRel in currentModelElement if unidirectionalRel.source == currentModelElement evaluateInheritedAttributes(); foreach modelElement in unidirectionalRel.target visit(modelElement); end-foreach evaluateSynthesizedAttributes(); markPathAsVisited(); end-if end-foreach // visit possible composition relationships foreach compositionRel in currentModelElement if compositionRel.source == currentModelElement evaluateInheritedAttributes(); foreach modelElement in compositionRel.target visit(modelElement); end-foreach evaluateSynthesizedAttributes(); markPathAsVisited(); end-if end-foreach evaluateSynthesizedAttributes(); end-function 14/18

Example (1/2)  We demonstrate our approach on the finite state machine (FSM) modeling language (metamodel below) 15/18

Example (1/2)  According to our algorithm and the semantic specification, the following interpreter can be generated: modelRoot = StateMachine(); modelRoot->TransitionList.envt=new EList(); modelRoot->AbstractState.envs=new EList(); foreach AbstractState in modelRoot->states if notVisited() AbstractState.envs.insert(AbstractState.text); markPathAsVisited(); end-if end-foreach foreach Transition in modelRoot->states if notVisited() Transition.envt.insert(Transition.src, Transition.dst); markPathAsVisited(); end-if end-foreach modelRoot.code = compute(AbstractSate.envs, Transition.envt); 16/18

Conclusion  Identified the need for automatic generation of model- based tools  Proposed a semantics specification, which allows the generation of model interpreters  Consists of a semantics definition and a traversal algorithm  Showed a FSM example that uses our approach  This was our first step towards the theory of generating various model based tools from DSML definitions 17/18

Questions 18/18 Contact me: