A Template-Based Model Transformation Approach Using A Simplified Hierarchical Metamodel Ph.D Dissertation Hongming Liu DePaul University.

Slides:



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

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
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.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
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.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
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.
2004 Open Forum for eBusiness and Metadata Technology Standardization Metamodel Framework for Ontology Keqing He, Yixin Jing, Yangfan He State Key Laboratory.
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
SaveUML System design. System overview Possible...
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
An Integrated Event-Driven Framework Supporting MDD Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia.
MDA and Security October 12, 2006 FAU Secure Systems Group Patrick Morrison.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
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.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Lab 5 CPIT 250 System Analysis and Design.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
MDD approach for the Design of Context-Aware Applications.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
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.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
An Introduction to Metamodelling Eclipse ECESIS Project An Introduction to Metamodelling Principles & Fundamentals Department of Computer Science,
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Model Driven Architecture MDA SE-548 Lale Doğan
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
A Simple Syntax-Directed Translator
SysML v2 Formalism: Requirements & Benefits
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Daniel Amyot and Jun Biao Yan
Modelling Clinical Information Using UML
Evaluating Compuware OptimalJ as an MDA tool
Data Model.
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Presented by: Jacky Ma Date: 11 Dec 2001
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Software Architecture & Design
Presentation transcript:

A Template-Based Model Transformation Approach Using A Simplified Hierarchical Metamodel Ph.D Dissertation Hongming Liu DePaul University

Agenda Introduction Motivation HRMT Approach Case Study: HIMS Related Work and Evaluation Contributions

MDE Using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification. Transform abstract model into system implementation Benefits of MDE

Model Transformation A core concept to support MDE Transform a Platform Independent Model(PIM) to Platform Specific Model(PSM) A model transformer is similar to a compiler Transformation requires a clear understanding of the abstract syntax and semantics of both the source models and target models

Model Transformation Overview Relational Template EJB Template.NET Template

State of the Art UML as the de facto modeling language  UML 2.2  Object Constrain Language(OCL)  UML 3.0? MDA initiative of OMG  Model Object Facility(MOF)  Query/View/Transformation(QVT)

MDE Obstacles Problems of UML and OCL  Large and complex  Inconsistent  Loose semantics  Difficult syntax of OCL Inadequate tools support Lack of effective transformation mechanism

Proposed Approach A model transformations framework  Based on ZOOM notation  Use Hierarchical Relational Metamodel(HRM)  Template based transformation  Aims to provide a simple, effective, and practical way to define model transformations

HRMT Approach

Source Model Representation Hierarchical Relational Metamodel Transformation Template Transformation Control Algorithm Post Processing

Hierarchical Relational Metamodel A Hierarchical Relational Metamodel HRM = (N, C, R) N a set of nodes: N = {n 1, n 2,... n i } C a relation on N X N, which forms a tree structure that has one root and no unconnected nodes. R a set of relation on N X N

HRM Example

Model Transformation Rules A transformation rule set R = {r 1, r 2, r 3... r n } a set of model transformation rules A transformation rule r = (P --> T pre, T post ) P: pattern to select the elements of source model T pre : mapping before traversing children of selected element T post : mapping after traversing children of selected element

Transformation Control Algorithm

Transformation Process

Development of Transformation CSL Roster Example Basic Classes Classes with associations Generation of EJB Entities Generation of comprehensive EJB applications

CSL Roster Example

Case Study: HIMS Hospital Information Management System Electronic Healthcare Record Functional Requirement Non-Functional Requirement

struct MedicalDataTemplate { int id; String desc; String SecurityLevel; String format; String attachment; } <![CDATA[... Healthcare Information Management System <asp:GridView id="ctrlDataGrid" runat="server"... <asp:SqlDataSource ID="ctrlDataSource" runat="server" ProviderName="System.Data.OleDb" ConnectionString=..."/>

HISM Show all the available medical data <asp:GridView id="ctrlDataGrid" runat="server" DataSourceID="ctrlDataSource" HeaderStyle-BackColor="#CCCCCC" CellSpacing="0" CellPadding="5" Width="400" AutoGenerateColumns="false" > …. <asp:SqlDataSource ID="ctrlDataSource" runat="server" ProviderName="System.Data.OleDb" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\ectserver\jliu\Database\hospital.mdb" SelectCommand="SELECT * FROM [medicaldata]" />

HISM

Features Illustrated by Case Study Multi-platform support Security requirement support Scalability requirement support Performance requirement support

Evaluation Choice of Test case  CSL Roster example Choice of Metrics Choice of transformation tools

CSL Roster Example

Evaluation Metrics Total Line/Token Nesting Depth Cross Reference - Inner cross reference/outer cross reference Reference to Metamodel - reference/unique reference

Evaluation Metrics

Model Transformation Tools Jamda Direct model manipulation using visitor mechanism Stylus Studio Using XSLT stylesheet to describe mapping rules AndroMDA An extensible template-based code generator ATL Comply to the QVT standard(UML,MOF,XMI)

Evaluation Evaluation Result Reflecting Metamodel Complicity

Evaluation Evaluation Result Reflecting Transformation Complicity

Evaluation Evaluation Result of Transformation Tools

Contribution A Template Based Model Transformation Approach Using Simplified Metamodel Benefits of our approach:  Simplicity of source modeling language  Readability of transformation definition  Support of non-functional requirement

Thank You! Questions/Comments?

Our Vision for MDE Our vision for MDE centers on Notations for capturing formal and complete models of all aspects Knowledge-based approaches and tools that transform models into complete applications through a process known as model compilation.

MOF MOF stands for Meta Object Facility  enables meta-metamodeling of UML level metamodels It defines a small set of concepts (such as package, class, method, attribute…) That  allow one to define and manipulate models of metadata (data about data)  are described using a subset UML notation

ZOOM Architecture

Why ZOOM Problems of UML and OCL  Large and complex  Inconsistent  Loose semantics  Difficult syntax of OCL Key features of ZOOM  Simple and consistent  Familiar and easy syntax  Dual visual and textual representations  Extensive libraries

A Simple ZOOM Structural Model Example namespace struct Player { String playerId; String name; String position; double salary; } Lexical elements --Very similar to Java/C#. Types and variables -- Similar to Java, but more extensive. -- All basic Java data types are supported Expressions -- All Java expressions are valid in ZOOM Libraries -- Include common data types, collections (sets, lists, maps), and a lot more.

MOF

HRM

Benefits of MDE Reduced development time and cost Increased portability, platform independence, cross-platform interoperability, and reusability Improved application quality

Model and Metamodel Model A consistent and complete set of formal elements describing a system that is amenable to analysis Metamodel A specification model for a system under study where such system under study is itself a valid model expressed in a certain modeling language

Transformation Control Algorithm 1 Transform(node, RuleSet, Output_Model ) 2 rule <- findMatchingRule(node, RuleSet ) 3 targettext <- instantiate( rule.pre, node ) 4 OutPut_Model. append( targettext ) 5 foreach c is a child of node 6 transform(c, RuleSet, Output_Model ) 7 endforeach 8 targettext <- instantiate( rule.post, node ) 9 OutPut_Model. append( targettext ) Starting point: transform(root, RuleSet, Output_Model)

Transformation Approaches Direct-Manipulation Approach Transformation using XSLT Template-Based Approaches QVT(Queries/Views/Transformations)

Example struct Player { String playerId; String name; String position; double salary; }

Example <![CDATA[ … public class ${name} implements Serializable { } … public class Player implements Serializable Player (String id, String name, String position, double salary) { this.id = id; this.name = name; this.position = position; this.salary = = "id") public String getId() { return id; } …