Presented by Denis Dubé Feb 28, 2005

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
Component Oriented Programming 1 Chapter 2 Theory of Components.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Implementing Petri Net Transformations Tony Modica Implementing Petri Net Transformations using Graph Transformation Tools Enrico Biermann,
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
Introduction to UML Visual modeling Models and its importance
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.
Common Mechanisms in UML
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
Chapter 7 Structuring System Process Requirements
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
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,
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
Selected Topics in Software Engineering - Distributed Software Development.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Tools, Formats, & Solutions.  Survey of literature found 3 interesting ways Petri Nets are used  BioPNML – Petri Nets for Bio  GJobDL – Petri Nets.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
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.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Logical Database Design and the Rational Model
Systems Analysis and Design in a Changing World, Fourth Edition
Business System Development
Director – Engineering
Working in the Forms Developer Environment
SysML 2.0 Requirements for Visualization
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Programming Languages Translator
Chapter 5: MACHINATIONS
SysML v2 Formalism: Requirements & Benefits
Systems Analysis and Design With UML 2
Arab Open University 2nd Semester, M301 Unit 5
Abstract descriptions of systems whose requirements are being analysed
CSC480 Software Engineering
Introduction to UML: Unified Modeling Language
Software Architecture & Design Pattern
CS 174: Server-Side Web Programming February 12 Class Meeting
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Lec 3: Object-Oriented Data Modeling
IMAT5205 Systems Analysis and Design
Internet of Things A Process Calculus Approach
Tutorial 6 Creating Dynamic Pages
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
CS 3304 Comparative Languages
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
CS 3304 Comparative Languages
Analysis models and design models
Modular design of domain-specific languages
Bottom-Up Parsing “Shift-Reduce” Parsing
Creating a Master-Detail Form
Towards an Open Meta Modeling Environment
Teori Bahasa dan Automata Lecture 9: Contex-Free Grammars
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Visual Programming Languages ICS 539 Icon System Visual Languages & Visual Programming, Chapter 1, Editor Chang, 1990 ICS Department KFUPM Sept. 1,
Software Architecture & Design
Presentation transcript:

Presented by Denis Dubé Feb 28, 2005 GenGED vs AToM3 Presented by Denis Dubé Feb 28, 2005 VL = Visual language

Overview Introduction Generating visual languages Simulation & Animation Meta-modeling bootstrapping example 4:17 PM

Overview Introduction Generating visual languages Acronyms Motivations Philosophies Implementations Generating visual languages Simulation & Animation Meta-modeling bootstrapping example 4:17 PM

Acronyms Generation of Graphical Environments for Design A Tool for Multi-formalism and Meta-Modeling

Motivations Visual modeling and specification techniques are extremely useful for a host of domain specific applications Visual modeling environments are expensive to hand-code Therefore it is highly desirable to automatically generate the environment from a meta-model

Philosophies Visual definition of visual languages and VL model manipulation Everything is a model Model everything explicitly GenGED is about modeling everything visual, including the grammar. GRAPH GRAMMARS + GRAPHICAL LAYOUT

Philosophies Realization Emphasis on visuals results in integrated graphical constraints handler, PARCON package All model manipulation done using graph grammars, AGG package Explicit meta-model (ie. Entity Relationship) to create VL environments Graph grammars used to lesser extent, not as visual GenGED is about modeling everything visual, including the grammar. GRAPH GRAMMARS + GRAPHICAL LAYOUT

Implementation Java but the PARCON constraints handler is in Objective C, thus GenGED works only on Linux & Solaris Python 2.3 and Tcl/Tk 8.3 (or better), completely platform independent (in theory) GenGED is about modeling everything visual, including the grammar. GRAPH GRAMMARS + GRAPHICAL LAYOUT

Overview Introduction Generating visual languages The AToM3 way Alphabet editor Alphabet rules Visual language rules Syntax and Parse Grammars Simulation & Animation Meta-modeling bootstrapping example A Generic Graphical Editor for Visual Languages based on Algebraic Graph Grammars 4:17 PM

Generating VL’s Entity Relationship Must use PRE/POST conditions and CARDINALITIES in a very textual way!

Generating VL’s Class diagrams Must use PRE/POST conditions and CARDINALITIES in a very textual way!

Running Example Class diagrams VL Elements: Class diagrams Classes Associations between classes Association classes

Alphabet editor Graphical Object Editor (draw visual icons) TypiEditor (map icons to semantic objects) ConEditor (connect semantic objects)

Alphabet editor: GOE Primitive objects: rectangles, circles, arrows, etc. Composite of primitive objects linked via graphical constraints Overlapping constraint on the CD, Equal position and same width constraint on Class See board

Alphabet editor: TypiEditor Mapping to graph nodes/edges of: Graphical Objects Place holders (non-visual) Creation of attribute data types by instantiating built-in data types LOS_AL = Attribute list for class, LOS_ML = Method list for class

Alphabet editor: ConEditor Attribution mode: map nodes/edges with one or more data types Link mode: source and target definition for edges Overlapping constraint (top left corner) for Incl_In

Graphical Constraints GenGED provides high level constraints Example: rectangle1 sameBorderwidth rectangle2 These constraints are mapped to one or more low level constraints that PARCON understands Graphical constraints are a key component in GenGED since they are used to: Create graphical objects with multiple primitives Anchor arrow points at object borders Include an object inside an another Overlapping constraint (top left corner) for Incl_In

Overview Introduction Generating visual languages The AToM3 way Alphabet editor Alphabet rules Visual language rules Syntax and Parse Grammars Simulation & Animation Meta-modeling bootstrapping example A generic graphical editor for visual PDF 4:17 PM

Alphabet rules Automatically generated for insertion & deletion Node insertion: LHS = empty  RHS = new node Edge insertion: LHS = 1+ nodes  RHS = new edge Example: Edge Insertion

Alphabet rules Automatically generated for insertion & deletion Data types: LHS = Node/edge  RHS = Attributed Node/edge Example: String attribute insertion

VL Rule Editor Idea: use the basic alphabet rules to create more powerful ‘VL Rules’ Example: insertion of a class Alphabet rule: Class diagram insertion VL rule (not finished): Class insertion

VL Rule Editor End result: VL Rule replaces the automatically generated alphabet rule Example: insertion of a class VL rule (not finished): Class insertion Prompt for unique string CLASS NAME………… TIED together with GRAPHICAL CONSTRAINTS VL rule (finished): Class insertion

VL Rule Editor More VL rules examples: VL rule: Insert association Prompt for unique string CLASS NAME………… TIED together with GRAPHICAL CONSTRAINTS VL rule: Insert association class

VL Rule Application How are these rules applied? Example: automatically generated alphabet rule Example: Edge Insertion

VL Rule Application Illustration of one match morphism for the previous rule Rule Host Graph

Overview Introduction Generating visual languages The AToM3 way Alphabet editor Alphabet rules Visual language rules Syntax and Parse Grammars Simulation & Animation Meta-modeling bootstrapping example A generic graphical editor for visual PDF 4:17 PM

Syntax Grammar Of what benefit are the VL rules? The VL rules form a syntax grammar that ensure that a diagram being constructed or modified is always correct with respect to the VL model Definition: A VL model is the set of all possible diagrams in a given visual language

Syntax Grammar AToM3 emulates a syntax grammar (in some sense) with preconditions and postconditions Caveat: it is nonetheless possible to construct incorrect diagrams Example: delete two nodes, and the edge between them will disappear, preventing the diagram becoming incorrect See board

Parse Grammar What if the syntax grammar is too restrictive for interactive diagram editing? Create a set of rules that work from a simple start diagram and tries to build the current working diagram Or Create a set of rules that removes components of the current working diagram until it reaches a simple end diagram See board

GenGED Overview

Overview Introduction Generating visual languages Simulation & Animation Motivation The AToM3 way Simulation grammar Simulation VS Animation Animation & View transformation Meta-modeling bootstrapping example Scenario Views for Visual Behavior Models in GenGED 4:17 PM

Motivation for simulation Simulation rules give the operational semantics of the underlying system represented by the visual model Example: Petri-nets for the Traffic model

Motivation for animation Intuitive understanding of system behavior (especially for non-experts) cannot be expected in a (semi-) formal modeling language (ie: Petri-nets, Automatons) Desirable to visualize model & behavior in the application domain (ie: want to work with Traffic models not Petri-nets)

Simulation & Animation AToM3 handles model simulation by: Graph grammars (lack of negative application conditions means some coding is required) Hard-coded simulator AToM3 handles model animation by: Graph grammars (currently broken in version 0.3) Hard-coded animation Must use PRE/POST conditions and CARDINALITIES in a very textual way!

Running example Producer Consumer VL Legend: Edges/Nodes Data types Alphabet for producer consumer VL

Running example Producer Consumer VL Legend: Edges/Nodes Data types Example visual model

Simulation Describe behavior of the VL model using graph grammars (aka: a simulation grammar) Rules represent model modification steps As usual LHS must be matched for the host graph to be transformed to the RHS of the rule Moreover, NAC’s can be specified to specify when the rule should not be applied even though the LHS was matched Definition: a NAC is a negative application condition

Simulation Simulation Rule 1: Production of a good at a ‘Producer’ component Note: Data types not shown explicitly in the abstract layer

Simulation Simulation Rule 2: Delivery of a good from a Producer to a Buffer Note: Data types not shown explicitly in the abstract layer

Simulation Simulation Rule 3: Removal of a good from the Buffer to the Consumer Note: Data types not shown explicitly in the abstract layer

Simulation Simulation Rule 4: Consumption of a good by the Consumer Note: Data types not shown explicitly in the abstract layer

Simulation Each rule application/derivation is a simulation step Note: Data types not shown explicitly in the abstract layer

GenGED Overview

Overview Introduction Generating visual languages Simulation & Animation Motivation The AToM3 way Simulation grammar Simulation VS Animation Animation & View transformation Meta-modeling bootstrapping example Scenario Views for Visual Behavior Models in GenGED 4:17 PM

Simulation VS Animation Simulation visualizes discrete state changes within the VL model itself Animation visualizes continuous state changes in a domain-oriented layout Example: A traffic system with cars that move along a road and traffic lights that change colors

Animation Transformation from VL model and the associated simulation rules to an animation view must be done with care Must avoid deviations between the two or worse, contradictions! In particular: we want to preserve the precision of the (semi-) formal model in the animation view Therefore: generate the animation view systematically from the VL model with a formal view transformation grammar

View Transformation The view transformation grammar: Transforms the VL model to a domain specific layout Transforms the simulation grammar into an animation grammar Permits the addition of attributes to the simulation grammar that allow for continuously changing objects (ie: position, size, color, of objects can change continuously between specified time intervals)

View Transformation Producer consumer model & two animation views

Transformation Grammar Idle Producer transformation

Transformation Grammar Busy Producer transformation

Transformation Grammar Empty Buffer transformation

Transformation Grammar Full Buffer transformation

Transformation Grammar Empty Consumer transformation

Transformation Grammar Full Consumer transformation

Animation Grammar Automatic transformation of Simulation rule to Animation rule

Overview Introduction Generating visual languages Simulation & Animation Meta-modeling bootstrapping example Scenario Views for Visual Behavior Models in GenGED 4:17 PM

Sources Scenario Views for Visual Behavior Models in GenGED by C. Ermel and R. Bardohl http://www.tfs.cs.tu-berlin.de/~rosi/publications/EB02_gtVMT.ps.gz A Generic Graphical Editor for Visual Languages based on Algebraic Graph Grammars by Roswitha Bardohl http://www.tfs.cs.tu-berlin.de/~rosi/publications/Bar98_VL98.ps.gz GenGED - A visual definition tool for visual modeling environments by Bardohl,R., Ermel,C., and Weinhold,I. http://www.tfs.cs.tu-berlin.de/~rosi/publications/BEW03_AGTIVE03.ps.gz Conceptual Model of the Generic Graphical Editor GenGEd for the Visual Definition of Visual Languages by Bardohl,R. and Ehrig,H. http://www.tfs.cs.tu-berlin.de/~rosi/publications/BE99_TAGT98_Lncs.ps.gz Scenario Animation for Visual Behavior Models: A Generic Approach Applied to Petri Nets by Bardohl,R. and Ermel,C. http://www.tfs.cs.tu-berlin.de/~rosi/publications/BE03_AWPN.ps.gz Specifying Visual Languages with GenGED by Bardohl,R., Ehrig,K., Ermel,C., Qemali,A. and Weinhold,I. http://www.tfs.cs.tu-berlin.de/~rosi/publications/BEEQW02_AGT.ps.gz