A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.

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,
OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Object-Oriented Analysis and Design
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
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.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
UI/UI PROTOTYPE GENERATION Sum Pham. C ONTENTS Framework overview Current approaches Introduce a model-driven user interface generation.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
A Survey of Software Refactoring Tom Mens, Tom Tourwé
UML - Development Process 1 Software Development Process Using UML (2)
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
A Template-Based Model Transformation Approach Using A Simplified Hierarchical Metamodel Ph.D Dissertation Hongming Liu DePaul University.
Introduction to MDA (Model Driven Architecture) CYT.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
SaveUML System design. System overview Possible...
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
A language to describe software texture in abstract design models and implementation.
An Integrated Event-Driven Framework Supporting MDD Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia.
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
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.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
October 1st 2015 Alexis Fouché 1, Florian Noyrit 1, Sébastien Gérard 1, Maged Elaasar 2 SYSTEMATIC GENERATION OF STANDARD COMPLIANT TOOL SUPPORT OF DIAGRAMMATIC.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
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.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
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.
SysML 2.0 Requirements for Visualization
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SysML v2 Formalism: Requirements & Benefits
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Bussines process modeling using BPMN
Object Oriented Analysis and Design
Towards Automatic Model Synchronization from Model Transformation
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Software Architecture & Design
Presentation transcript:

A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003

Agenda Background of MDD A formal foundation for meta-modeling Formal OO Model Tools Support Comparison to other approaches

Model Driven Development(MDD) MDD is the notion of constructing a model that can then be transformed into a real system MDD moves the development focus from code to model Advantages of MDD

Requirements of MDD the models must capture information from three dimensions: – The functional requirements – The architectural requirements – The target environment requirements

Characteristics of MDD we argue that an MDD infrastructure requires models to be – precise – analyzable – transformable – executable

Meta-Modeling meta-model: a model of the modeling language OMG’s MDA(Model Driven Architecture) framework self-defined meta-meta-model: MOF(Meta-Object Facility)

OMG Meta-Modeling Architecture M3: the meta-meta-model level (contains only the MOF) M2: the meta-model level (contains any kind of meta- model, including the UML meta- model. M1: the model level (any model with a corresponding meta- model from M2) M0: the concrete level (any real situation represented by a given model from M1)

A Formal Foundation for Meta-Modeling limitations of MOF need a meta-modeling language that provides both formal syntax and semantics. an alternative approach to MOF that uses the ZOOM as its meta-modeling language

Z-based Object-Oriented Modeling(ZOOM) based on the formal specification notation Z extends Z to support these object-oriented concepts. providing textual and graphical representations of models that are consistent with UML adopts a syntax that is similar to commonly used programming languages such as Java or C++.

Core ZOOM(ZOOM-C) Core ZOOM(ZOOM-C) is based on Z, and can be used to describe UML semantics. Similarly, UML semantics can be formally reduced to ZOOM and thus to Z. This provides a formal foundation to UML meta- modeling.

ZOOM as a Meta-Modeling Language Part of MOF Model Structure from OMG MOF Specification

ZOOM as a Meta-Modeling Language typedef MM = ModelElement ModelElement; //a relationship between ModelElements typedef MN = ModelElement -> NameSpace;//a function map from ModelElement to NameSpace MM Depends_On; //declare a global variable of type MM MN Contain; //declare a global variable of type MN struct ModelElement { //struct definition Public String name, annotation; Public : noaccess String qualifiedName; Set[ModelElement] dependent, provider; NameSpace container; Invariant { //invariant definition dependent == DependsOn.image(this); provider == DependsOn.invert().image(this); container == Contain.invert(this); } struct NameSpace extends ModelElement { Set[modelElement] containElement { containElement == contain.invert(this)} } ZOOM Specification of core structure of MOF model

ZOOM Models Structural ModelUI ModelBehavioral Model Event Model

Structural Model Defines the functional part of the system using object-oriented concepts Consists of a series of diagrams along with the formal specifications described by ZOOM-C module zoom.examples.addressbook; class AddressBook { String title; List[AddressBookEntry] entries; delegates entries; // delegates the operations to entries Set[AddressBookEntry] search(SearchCriterion criterion) { requires { criterion != null; } ensures { search! = { AddressBookEntry entry in entries | entry } }

Behavior Model The central communication mechanism that links the structural models and UI models Uses a formalized state diagram to specify the dynamic aspects of a system fsm MachineserviceStat() { state inService { fsm MachineopStat () { state standingBy; state turningOnMotor; state accelerating; state running; state decelerating; transition standingBy to turningOnMotor : operatorStartsMachine(runSpeed) {safetyBrake.turnOff(), mainMotor.turnOn(runSpeed, out runSpeedOK)}; transition turningOnMotor to standingBy : standBy [runSpeedOK != TRUE] {mainMotor.turnOff(), safetyBrake.turnOn()}; transition turningOnMotor to accelerating : accelarate [runSpeedOK == TRUE]; } }; state inRepair; state waitingForRepair; transition inRepair to inService : returnToService(fixDate); transition waitingForRepair to inRepair : beginMaintenance(maintDate); transition inService to waitingForRepair : removeFromService(reason) {maintShop.notify(self, reason)}; }

UI Model and Event Model UI Model Define a hierarchical description framework containing a set of predefined UI components Designers can specify related visual attributes and the events that can be generated or consumed by the component Event Model Event UI EventFSM Event Standard Event User-Defined Event

Tools Support For Automation Basic Language Support Tools Model Validation Tools Model Verification Tools Transformation Tools

Basic Language Support Tools Lexer Parser Type Checker UML Mapping Tools Model Editing Tools

Model Validation Tools Interpreter – ZOOM-E A subset of ZOOM Provides imperative features similar to those in Java. Not used frequently in ZOOM model. – Be used to exhibit the behavior of implementation specified by ZOOM-E Animator – Provides a way for designers to verify their formal model. – “virtually” executes models without an implementation – Introduces a default model implementation that is consistent with the formal specification using ZOOM-E – Calls interpreter to execute the implementation.

Model Verification Tools Automated Theorem Prover Static Analyzer Unit Test Generator

Transformation Tools Code Generator – Generates the implementation conforming the formal models, for example, a method body based on the formal pre- and post-conditions – Select different target runtime environments – Adjust XFR(Non-functional Reuqirement) parameters, for example, security/performance.

Comparison ZOOM provides a high level of abstraction ZOOM separates views from models ZOOM provides a set of automated tools to support the design and development process

THANK YOU Questions and Comments?