Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University 3.24.2003.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Component Oriented Programming 1 Chapter 2 Theory of Components.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Database Systems: Design, Implementation, and Management Tenth Edition
Systems Analysis and Design 8th Edition
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Unified Modeling Language
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Jiannong IMC Lab - Department of Computing, Hong Kong Polytechnic Univ. Slide 1 Architecture Description of Distributed Systems using UML and XML.
UML – Class Diagrams.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
BY CHRIS ANDERSON Creating a MIDI Generator Program.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Introduction 01_intro.ppt
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Database Systems: Design, Implementation, and Management Ninth Edition
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,
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
 Platform Independent Petri net Editor 2 (PIPE2) CS2650 Distributed Multimedia Systems Wen Xu November 23 rd, 2010.
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.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Chapter 9 Moving to Design
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
CHAPTER TEN AUTHORING.
Selected Topics in Software Engineering - Distributed Software Development.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
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.
ReNeW Reference Net Workshop Presenter Yao Sun. The ReNeW Features  High-level Petri Nets (Support Predicate)  Place/Transition Nets  Petri Nets with.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Page 1 Renzo Angles and Claudio Gutierrez University of Chile ACM Computing Surveys, 2008 Survey of Graph Database Models.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Systems Analysis and Design in a Changing World, Fourth Edition
Security analysis of COM with Alloy
Object-Oriented Analysis and Design
Unified Modeling Language
Chapter 2 Database Environment.
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
Appendix A Object-Oriented Analysis and Design
Data Model.
Analysis models and design models
An Introduction to Software Architecture
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Presented by Denis Dubé Feb 28, 2005
5.00 Apply procedures to organize content by using Dreamweaver. (22%)
Appendix A Object-Oriented Analysis and Design
Graphical Modeling of INFOD applications
Software Architecture & Design
Presentation transcript:

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University

Outline GME DiaGen Comparison with AToM3 Conclusion

GME GME (Generic Modelling Environment) is under development of Institute for Software Integrated Systems, Vanderbilt University, US It ’ s written in C++, currently only available in Windows OS It ’ s totally free can be downloaded from

GME The meta-model in GME is UML-based. The meta-modelling language is called metaGME2000. The constraint language used is MCL ( MultiGraph Constraint Language), which is a predicate logic language based on the Object Constraint Language. GME uses projects to manage models and meta- models.

GME Meta-types provided in metaGME2000: Entity: atom and model Atom: it can ’ t contain other objects. Model: it can contain other atoms, models and relationships. Relationship: three kinds of relationship. Containment: connect the atom to the model, cardinality attribute can be defined. Inheritance: add an Inheritance object and define its super class and subclass. Association: add a Connector and Connection object, specify the source and the destination object for the Connector, finally connect the Connector to the Connection to define its association class.

GME Aspect : not a meta-type, a unique feature of GME, to view models in a special point of view. Aspects for a meta-model : Class Diagram, Visualization, Constraints and Attributes. Attributes: in the attribute aspect, attributes can be added to the entities and relationships. Constraints: in the Constraint aspect, constraints can be defined using the MCL language for specific event. Visualization: to specify the aspects for your modelling environment.

GME Interfaces to develop users ’ own applications, such as simulation: COM interface High-level C++ component interface Plug-ins A Petri Net example

DiaGen DiaGen is a system for easy developing of diagram editors under development of University of Erlangen, Germany. It ’ s written in Java, platform-independent. DiaGen is a free software, can be download from:

DiaGen DiaGen consists of two parts: A framework of java classes which provides generic functionalities for editing and analyzing diagrams Generator: which can produce Java Source code for most of the functionalities according to the specification of the diagram language.

DiaGen The procedures to specify a diagram editor: Define the formal syntax of the diagram using the specification grammar (meta-modelling language) provided by DiaGen. Generate Java Source code according to the meta-model using the generator provided by DiaGen Revise these source code to implement the functionalities that your modelling environment will have Define appropriate constraints for recognized structural relationships that preserve them when the diagram is modified. Generate the final modelling environment of the diagram using the editor functionality provided by DiaGen

DiaGen The diagram model in DiaGen is divided into three layers Parameter model: simple real numbers that determine the properties of the diagram components. Component model: describes how the graphic representation of the diagram is computed from the parameters and updates the graphic representation when the parameters change. Formal syntax level (SRHG): the representation of those components in the formal hypergraph syntax.

DiaGen The SRHG structure: example

DiaGen

Petri Net example, the specification of the diagram: Build the SRHG, to declare: Components specify what entities will appear: circle, box, arrow, token. Special relations declare the relationships among the components: inside, belongto Transform SRHG to HGM, to declare (reducing) : Terminal edges : place, transition, preArc, postArc Transform HGM to a more simple format (graph parser): Non-terminal edges: Net, places, transitions Operations: complex editing operations The meta-model of Petri Net

DiaGen To build an editor for the diagram (modelling environment) Need to be familiar with the interface of the editor in DiaGen. combine the standard editor provided by DiaGen with the user ’ s customized specifications This part should be coded totally manually. Can add customized functionalities, such as simulation, all code by hand. Petri Net Example

Comparison AToM3 with MetaEdit+ and DOME AspectsAToM3GMEDiaGen PlatformsWindows, UnixWindowsPlatform-independent Meta-modeling language ERmetaGME2000Specification grammar Graphical specification? Yes No HierarchyPartly, not implement complete yet Yes, containment relationship Yes InheritanceNoYes ConstraintPython function or OCLMCL (subset of OCL)No specific constraint language SimulationYes Simulation method and implementation workload Graph Grammar, an intuitive way, less code by hand COM interface, high level C++ component, plug-ins Java, all code by hand Report generationNo

Conclusion The best points for these tools: In AToM3, simulation is easy to implement (Graph Grammar). MetaEdit+ support well the report generation. DOME and GME support the best customization of the modelling environment. DOME and GME implement more clear and complete meta- modelling language. GME implement the constraint language best. DiaGen uses constraints to automatically adjust and manage the graphical appearance of models.