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

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
CIT731: Database Development Object Oriented Modeling (OOM)
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Testing and Quality Assurance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 14 (Web): Object-Oriented Data Modeling
Lecture Eleven Entity-Relationship Modelling
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.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Common Mechanisms in UML
Course Instructor: Aisha Azeem
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Chapter 14: Object-Oriented Data Modeling
Domain-Specific Software Engineering Alex Adamec.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Chapter 13 (Online): Object-Oriented Databases
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
An Introduction to Software Architecture
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,
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Exploring the Intentional Dimension during Software (Architecture) Design adding the “why” and the “who/where” to the “what” and the “how” Daniel Gross.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Chapter 7 System models.
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.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
Chapter 12 Entity-Relationship Modeling Pearson Education © 2009.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Object-Oriented Data Modeling
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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 Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Chapter 2 Database System Concepts and Architecture
Entity-Relationship Modeling
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
An Introduction to Software Architecture
Presented by Denis Dubé Feb 28, 2005
Design Yaodong Bi.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Software Architecture & Design
Presentation transcript:

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

Outline Why not modeling Meta-modeling MetaEdit+ DOME Comparison AToM3 with MetaEdit+ and DOME

Why not modeling? Modeling is the process to build a framework that can reflect systems in the real world, based on certain modeling formalism which defines all the models that can be created using the modeling environment. The modeling formalism contains two parts: Syntax : specify the concepts used to construct models, the relationships existing among these concepts and the rules that govern the construction of models. Semantics: be further divided into several kinds: denotational semantics, operational semantics correctness of semantics is a key issue, usually a form of a separate constraint language, OCL ( Object Constraints Language )

Why not modeling Disadvantages of modeling: This unchangeable feature causes some problems: 1. Fixed model can ’ t specify domains under development adequately 2. Can ’ t satisfy the requirements of users with different culture, education and characteristics Modeling tools usually have a two-level architecture as shown below:

Why not modeling? Solution: to customize the models to the requirements of the domains and the users To come up a general formalism that can satisfy “ everything ” : tricky To allow the users to specify their own models for specific domains, when the domain develop or user ’ s requirements change, the users can update the models. That ’ s what meta-modeling technique provides …

Meta-modeling Meta-modeling provides a modeling environment that is configurable for a wide range of domains : use a higher-level, meta-level modeling language to define a domain-specific modeling language instead of models. specification of the modeling language is a model called meta-model. meta-modeling language should be abstract enough such that it can specify most domains. As a consequence, it can describe itself in the form of meta-meta-model.

Implementation of meta-modeling The key is the lower layer is always defined by the language of the next upper layer.

Meta-modeling tools AToM3 MetaEdit+ DOME GME KOGGE ……. first three, based on Petri Net example

MetaEdit+ A commercial metaCASE tool developed by the company MetaCase Consulting, Finland. Many successful stories: development of mobile phones for NOKIA, development of e-commerce platform for PECUNET Platforms: Windows, Linux, HP, Solaris It consists of two parts: Method Workbench : design your own method (including the modeling formalism, code generators, and other concepts) MetaEdit+ : design your own model in the modeling environment following a given method definition.

MetaEdit+ Meta-modeling language GOPRR: Object: entity in ER formalism: place and transition Property: attribute Relationship: tran2pl, pl2tran Role: specify the components that lie at the end of a relationship connected to an object. Two roles : From and To

MetaEdit+ Graph: connects individual components together to form the modeling technique using some sub-tools: Type tool: what types are visible in the Type menus and Toolbar of editors Binding tool: how the relationships, roles and objects are connected to each other, cardinality attribute. Constraint tool: the number of roles or relationships an object can participate in, no specific constraint language Sub-graph tool: explosion: explode an instance to a new graph: entity in ER -> state transition diagram decomposition: decompose an object type to a new graph in the same diagram.

MetaEdit+ Code generation: has its own report definition language. Document generation : HTML, word document. Source code generation: test cases, simulation. Petri Net example

DOME Under development of Honeywell Technology Center Written in VisualWorks Smalltalk Platforms: Windows, Linux, Sun Solaris Tools: DOME Tool Specification ( DTS): using the meta-modeling language, DOME Tool Specification Language to define the meta-models. ProtoDOME: execute the meta-model and generate the modeling environment. Alter and Projector: two extension languages used for constraint specification, code generation, simulation and test cases, etc.

DOME The DOME Tool Specification Language: Node Specification: entity in ER formalism Connector Specification: relationship in ER formalism Connection Constraint: determine how the connectors can be used to link nodes together, cardinalities. Part/Whole Relationship: containment. token and place Graph Specification: represent the class of object that contains the nodes and connectors in a diagram, to declare graph-level properties, relationships and methods

DOME Tool Palette: the toolbar with the buttons for creating the objects defined in DOME Tool Specification, automatically generated by DOME Custom Button: can only be put in Tool Palette, used to specify test cases and simulation, through defining methods in language Alter. Code generation: Alter Petri Net example

Comparison AToM3 with MetaEdit+ and DOME AspectsAToM3MetaEdit+DOME PlatformsWindows, UnixWindows, Unix, Sun Solaris, HP Windows, Linux, Sun Solaris Meta-modeling language ERGOPRRThe DOME Tool Specification language Graphical specification? YesNo Partly, the graphical appearance can ’ t be edited in a graphical way HierarchyPartly, not implement complete yet Yes, decompositionYes, sub-diagram InheritanceNoYes, ( make dependant )Yes ConstraintPython function or OCLNo specific constraint language Alter language SimulationYes Simulation method and implementation workload Graph Grammar, an intuitive way, less code by hand Report definition language, all code by hand Alter function, all code by hand Code generation and workload Python source code Little code by hand Can be any language Most code by hand Can be any language Most code by hand Report generationNoYesNo

The following work Other meta-modeling tools : GME, KOGGE …