Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
A Tour of Visual Basic BACS 287. Early History of Basic Beginners All-Purpose Symbolic Instruction Code An “Interpreted” teaching language English-like.
Research in Compilers and How it Relates to Software Engineering Part III: Relation to SE Tomofumi Yuki EJCP 2015 June 22, Nancy.
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
UNIT-V The MVC architecture and Struts Framework.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Xactium xDSLs Run Models Not Code Tony Clark
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Towards Human-Executable Business Process Modeling Janis Barzdins, Edgars Rencis, Agris Sostaks Institute of Mathematics and Computer Science, University.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs
WP 3.3 © Copyright Xactium, TUBS & TUD How to build a set of DSLs: from Theory to Practise Xactium, TUBS, Jendrik Johannes (TUD)
Selected Topics in Software Engineering - Distributed Software Development.
STASIS Technical Innovations - Simplifying e-Business Collaboration by providing a Semantic Mapping Platform - Dr. Sven Abels - TIE -
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
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.
INFORMATION NETWORKING MODEL DSL James McAvoy and Yifeng Li CSI Information Networking Model DSL 1 Winter Term
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
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,
LanguageLab A Meta-modelling Environment Terje Gjøsæter and Andreas Prinz, University of Agder, Norway SDL Forum 2015, Berlin, Germany.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
The Transformation-Driven Architecture Janis Barzdins, Sergejs Kozlovics, Edgars Rencis.
Chapter – 8 Software Tools.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs Ulyana Tikhonova St. Petersburg State Polytechnical University,
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
SysML v2 Formalism: Requirements & Benefits
COSC-4840 Software Engineering
Daniel Amyot and Jun Biao Yan
CIS16 Application Development – Programming with Visual Basic
Analysis models and design models
Towards an Open Meta Modeling Environment
Presentation transcript:

Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute of Mathematics and Computer Science, University of Latvia October 21, 2007

Metamodel-Based Graphical Tool Building Platforms Main applicability area of the metamodel-based tool building platforms is the support of the domain specific modeling (DSM). Such platforms provide a convenient set of tools for the implementation of DSL editors. Our focus is on the graphical domain-specific languages and the platform for creation of graphical DSL editors. General characteristics, common to most of the graphical tool building platforms include: Metamodels that are used for the definition of the tools consist of two parts. Domain part (abstract syntax) contains DSL domain classes. Presentation part (concrete syntax) contains classes representing the user interface elements; Some kind of a mechanism is introduced to define the relation between the domain and presentation metamodels. Typical solutions include: Static mapping approach; Transformation-driven approach.

Static Mapping Approach General characteristics: Correspondence between domain and presentation metamodels is expressed through static mappings. In some cases extra constraints are introduced (possibly OCL); If domain and presentation metamodels are isomorphic (have a similar structure), relatively simple editors can be built with a small effort; Mostly tools defined by the static mapping approach are compiled (generation step is used) with some rare exceptions, which are interpreted; Functionality that cannot be achieved through the static mappings can be implemented by using traditional programming languages. Some tools that use the static mapping approach: Graphical Modeling Framework GMF; MetaEdit+; Microsoft DSL Tools;  GME;  UL IMCS GMT.

Transformation-Driven Approach General characteristics: Correspondence between domain and presentation models is defined through model transformations; Most appropriate for complicated DSLs, where the mapping between domain and presentation metamodels is not obvious; Allows advanced integrity, syntax and semantics checking, as well as model validation on user actions; Permits execution of complex model-oriented tasks (generation, transformation, simulation, etc.) by the use of transformations. Prerequisite – appropriate, convenient and efficient transformation language. Some tools that use the transformation-driven approach: Tiger GMF Transformation Project; ViatraDSM Framework; METAclipse.

Transformation-Driven Tool Platform METAclipse Being developed within the project "New Generation Modeling Tool Framework" within Latvian state research program in IT - Sept Based on Eclipse open-source technologies: Eclipse core platform EMF – eclipse modeling framework, extended with the possibility to synchronize with an external repository, however keeping the strict implementation of original EMF interfaces; Tabbed properties framework (latest release with dynamic properties support); Common navigator framework; Graphical editing framework (GEF); Parts of Graphical Modeling Framework (GMF) runtime. Uses model transformation language MOLA and efficient external repository MIIREP (both developed at UL IMCS). Allows switching to any other implementations of repository and transformations (even clean EMF implementation).

Basic Principles of the METAclipse Framework Data flow between the repository and presentation engines (data flow 1, 4) is defined through the presentation metamodel, which forms the engine interface exposed to the transformations. Presentation metamodel instances are the only information understood by engines. Transformation library, on the other hand, works not only with (potentially augmented) presentation metamodel, but also with domain metamodel (data flow 3).

Presentation Engines Main presentation engines are: Project Explorer Engine; Property Engine; Graph Diagram Engine; Context Menu Engine. All engines are responsible only for managing the user interface and handle only purely presentation tasks (element position, size, graphical window, zoom, etc.); visually display the graphical elements that correspond to the presentation metamodel instances created by transformations; intercept all user activities that influence the model and pass corresponding commands to the transformation engine to execute the corresponding transformations.

METAclipse In Action – MOLA editor

Fragment of Presentation Metamodel (1) Presentation classes (together with some constraints) serve as a semantic contract between Presentation engines and transformations. Presentation metamodel is the fixed part that is not changing from tool to tool. Graph diagram engine’s presentation metamodel fragment: main classes

Fragment of Presentation Metamodel (2) Commands are written to the repository after each semantic user action. After the execution of the transformation, the result of the execution is read from the repository by the engines. Graph diagram engine’s presentation metamodel fragment: command classes

Transformations Manage the domain model (it is completely in the competence of transformations). Build or modify presentation model elements (tree and diagram) upon request by commands. Always keep the presentation model in synch with the domain. Build property dialogs and process related commands which represent the modifications done by the user. Transformation example in MOLA: build new class in a diagram (with a default name set).

Conclusions MOLA editor itself is implemented with the METAclipse platform using bootstrapping. It is being successfully used in the European IST 6 th framework project ReDSeeDS. The developed technology has reached maturity to be used practically. MOLA editor incorporates a compiler built by the facilities provided by METAclipse. It proves the ability to use METAclipse for definition of complete DSL solutions. It is relatively easy to implement logically complicated DSL editors. Even the developed MOLA editor contains non- trivial mappings and checks. It has been proven experimentally that the effort for building a typical DSL editor is relatively small. Currently there is a work going on to incorporate the static mapping ideas in METAclipse in order to ease the definition of simple DSL fragments and gain the productivity that is offered in simple cases by static mapping based platforms.

Building Tools by Model Transformations in Eclipse Paper is prepared with a support of the European Social Fund Thank You! Questions?