Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Copyright  2005 Symbian Software Ltd. 1 Lars Kurth Technology Architect, Core Toolchain The Template Engine CDT Developer Conference, Oct 2005.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Exmouth House 3–11 Pine Street London EC1R 0JH T F E W ASCE – Railway Hazard Log Technical.
Copyright © Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe Ombredanne.
TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Xactium xDSLs Run Models Not Code Tony Clark
PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University.
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.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
© Fraunhofer IESE Domain-specific Modeling as an Enabling Technology for SMEs Christian Schäfer
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Selected Topics in Software Engineering - Distributed Software Development.
A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
Graphical Modeling Framework (GMF) Creation Review Richard C. Gronback Borland Software Corp. April 13, 2005.
Treasure Hunt - project development overall status - November 2011.
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.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
1 Innovative Solutions For Mission Critical Systems Using EMF Annotations to Drive Program Behavior February 19, 2014.
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.
TOS / TIS Code Architecture Copyright © 2008 Talend. All rights reserved.
Formalizing Material Flow Diagrams Robert-Jan Bijl.
The Unified Modeling Language (UML)
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Copyright © 2010 Obeo, Made available under the Eclipse Public License v SCA Tools (Helios) Release Review Planned Review Date: June 11, 2010.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Graphical Modeling Framework (GMF) Creation Review Richard C. Gronback Borland Software Corp. April 13, 2005.
Automata Editor Tool with GEF and EMF
SysML v2 Formalism: Requirements & Benefits
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Modelling Clinical Information Using UML
Evaluating Compuware OptimalJ as an MDA tool
Constructing MDA-based Application Using Rational XDE for .NET
Towards an Open Meta Modeling Environment
Execute your Processes
Presentation transcript:

Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter

The background Formal models can be expressed by specification techniques specified in Diagrammatic Predicate Logic (DPL) DPL is a proposed formalism for Model- Driven Software Architecture Our focus is on investigating, adapting, evaluating… these proposals

Todays situation Many different editors for modeling languages exists The main problem is that they have no generic way to describe modeling languages … and most of them have semi-formal semantics

The project A graphical editor is to be designed and implemented that allows to specify abstract signatures corresponding to metamodels of modeling languages and also supports the definition of transformations between those signatures. Slogan: Signature ~ Modeling Language

Related work Sketcher95 Incomplete Not fully functional No source code Sketcher v1.0 (.NET) Previous master thesis Also incomplete and not fully functional Tries to recreate Sketcher95

The platform Previous version in C # Eclipse was chosen as the developing platform So why choose Eclipse? Alot of model related projects in the Eclipse community (Eclipse Modeling Framework) You get a lot for free by using Eclispe Eclipse is much more than just a Java IDE Eclipse can be used to create many different types of applications

What Eclipse provides Open source, robust, commercial quality platform Extensible frameworks For this project, the main features are the Eclipse Modeling Framework, the Graphical Editing Framework and the Graphical Modeling Framework

Eclipse Modeling Framework - EMF A modeling framework and code generation facility Model specification described in XMI XMI (XML Metadata Interchange) is OMGs standard for exchanging Metadata information The core of EMF is called Ecore (metamodel of EMF models is Ecore)

The advantages of EMF Serialization Notification Code generation  Low cost entry for/into modeling

Graphical Editing Framework Allows developers to take an existing application model and quickly create a rich graphical editor Many common operations are provided MVC architecture

The advantages of GEF Most of the graphical elements are predefined and can be extended A standard look and feel for all graphical editors in Eclipse

Graphical Modeling Framework - GMF GMF bridges the gap between the model (EMF), the view and the controller (both from GEF) With GMF you can produce graphical editors for Eclipse

GMF Workflow Generator Model (GMFGen) Java code Mapping (GMFMap) Tool Definition (GMFTool) Graphical Definition (GMFGraph) Domain Model (ECore)

Example GMF application Drawing palette View <eStructuralFeature eType=”eReference” name=”orders” eReferenceType=”PurchaseOrder”/> … Domain Model

Summary of the frameworks used EMF provides the model and serialization of it GEF provides the visualization and the controllers GMF maps the model, controllers, the visualization and tools (drawing palette) together and generates a diagram editor

Challenges The biggest challenge is finding out how to do things in Eclipse Eclipse is a prime example of Agile Development Eclipse UI Guideline Eclipse Best Practices ”Ready for Rational Software” -- IBM

Challenges EMF Need additional info for our model EMF supports Extended Meta Data and this gets recorded as annotations in the Ecore model

Challenges GMF The code that GMF generates must often be adapted A lot of code has to be customized to support our additional information

GMF generated code For a simple diagram containing only Nodes and Edges, 90 source files are generated, with most of the classes extending other classes

Modeling and DPL formalism Signatures ~ Modeling languages Signature := collection of predicates Predicate ~ constraints set by modeling languages Diagram Specifications ~ models

Predicates You can compare a predicate to a Design Pattern Want to label elements (nodes, arrows and diagrams) from the model by one or more predicates This must be visualized somehow (next) The predicate information needs to be saved with the model

How are Predicates Visualized? Predicates on arrows  Arrow decorations Predicates on nodes  Node decorations Predicates on diagrams  Diagram decorations Diagram dec. := decoration on a set of nodes and arrows

Arrow decorations in GMF By default, edges generated by GMF are just lines Need to add arrowheads manually, either by setting up a point-path or creating your own

Arrow decorations - Example

Dynamic visualization We want to change visualization based on attributes on the model elements Ex. A predicate has been added to a node This is not default behaviour in GMF, so it needs to be custom made

Changing view based on model attributes Normally, GMF doesn’t change the view of an element once it has been painted But since the view is attached to the model as a listener, we can detect changes in the model via the method handleNotifications()

Example customization – Coloring nodes /** NOT */ protected IFigure createNodeShape() { NodeFigure figure = new NodeFigure(); // checking for red color changeFigureColor(figure); return primaryShape = figure; } private void changeFigureColor(IFigure figure) { Node node = (Node) ((View)getModel()).getElement(); if (node.getNodeTypes().contains(NodeType.RED)) { figure.setBackgroundColor(ColorConstants.red); if (node.getNodeTypes().contains(NodeType.BLUE)) figure.setBackgroundColor(new Color(null, 153, 51, 255)); } else if (node.getNodeTypes().contains(NodeType.BLUE)) figure.setBackgroundColor(ColorConstants.blue); else figure.setBackgroundColor(ColorConstants.white); node = null; }

Coloring nodes – cntd(1) /** * Need to override this to get the colorchanging bit to work protected void handleNotificationEvent(Notification notification) { super.handleNotificationEvent(notification); changeFigureColor(primaryShape); }

Coloring nodes – cntd(2)

Testing Everything in Eclipse is testable The tests may not be straightforward and time-consuming to set up, but doable To test a Plug-in you need a Plug-in test project

Summary This project spans multiple areas Modeling Graphical development Eclipse development / Plug-in development Which means that there is a lot of documentation to go through