Table of Contents. Preface...viii. Acknowledgment... xiv. Section 1 Basics

Similar documents
A Formal Approach to Modeling and Model Transformations in Software Engineering

Formal Analysis of UML/OCL Models

A Formal Approach to Modeling and Model Transformations in Software Engineering

Change Management within SysML Requirements Models

Towards a traceability framework for model transformations in Kermeta

What do metamodels really look like?

Ensuring Structural Constraints in Graph-Based Models with Type Inheritance

RESEARCG ON THE MDA-BASED GIS INTEROPERABILITY Qi,LI *, Lingling,GUO *, Yuqi,BAI **

The Life Cycle of Grammarware. CWI Scientific Meeting Vadim Zaytsev, SWAT, CWI 2012

Towards a Mechanised Denotational Semantics for Modelica

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

Methodology. François Terrier, Sébastien Gérard

Applying the model driven architecture approach for geographic database design using a UML profile and ISO standards

COURSE CONTENT for Computer Science & Engineering [CSE]

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML)

UML Model Refactoring

Thesis Title Second Line if Necessary

Design Patterns for Metamodel Design

The Montana Toolset: Formal Analysis of AADL Specifications

Christian Benjamin Ries. Professor Vic Grout. Prof. Dr. rer. nat. Christian Schröder

MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra. Iliano Cervesato. ITT Industries, NRL Washington, DC

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC. MSR 3.0:

A Graph Transformation-Based Semantics for Deep Metamodelling

Lecture 12: Core State Machines II

An object-oriented design process. Weather system description. Layered architecture. Process stages. System context and models of use

On the specification and verification of model transformations

EXPLORING SUBSET PROFILE AND VALIDATION PROCEDURES OF GEOGRAPHICAL MARKUP LANGUAGE (GML) FOR 3D AREAL PLAN INFORMATION.

Curso de Doctorado Universidad del Centro de la Provincia de Buenos Aires, Argentina, 24 al 27 de Abril, 2006

Challenges of Portuguese urban planning instruments and practice

Foundations of Programming Languages and Software Engineering

Institute for Functional Imaging of Materials (IFIM)

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

An Automotive Case Study ERTSS 2016

Automated Checking of Integrity Constraints for a Model- and Pattern-Based Requirements Engineering Method (Technical Report)

Relating Dynamical Systems to Software Engineering

A SysML extension for Bond Graphs support

An Abstract Approach to Coupling Evaluation

Oregon Department of Transportation. Geographic Information Systems. Implementation Plan. Adopted November, 2000 By the GIS Steering Committee

An MDA Framework Supporting OCL

Designing and Evaluating Generic Ontologies

Formal verification of IA-64 division algorithms

A comprehensive application of category theory to semantics of modelling language

Lecture 14: Recursive Languages

Metric tensors for homogeneous, isotropic, 5-dimensional pseudo Riemannian models

CS 6110 Lecture 28 Subtype Polymorphism 3 April 2013 Lecturer: Andrew Myers

RT 24 - Architecture, Modeling & Simulation, and Software Design

A Model Driven Approach for Refactoring Heterogeneous Software Artefacts

A JML Specification of the Design Pattern Visitor

Relating Abstract Datatypes and Z-Schemata

Diophantine Equations. Elementary Methods

Clocks Model for Specification and Analysis of Timing in Real-Time Embedded Systems

Modular Bisimulation Theory for Computations and Values

UML Static Models in Formal Approach

Rigorous Development in UML

Linear Referencing Systems (LRS) Support for Municipal Asset Management Systems

The purpose of this report is to recommend a Geographic Information System (GIS) Strategy for the Town of Richmond Hill.

Software Design, Modelling and Analysis in UML

Monoid Modules and Structured Document Algebra

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

Universität Augsburg

Introduction to geoprocessing services using SEXTANTE. Víctor Olaya SEXTANTE Geospatial Services

Dense Arithmetic over Finite Fields with CUMODP

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

Evaluation and Modelling of a Standard Based Spatial Data Infrastructure for Precision Farming

On-Site Synchronization of Software Artifacts

Bringing class diagrams to life

CIEMA: A Configurable Integrated Enterprise Model Architecture

Declarations I, the undersigned, declare that this thesis has not been submitted to this or any other university. I declare that all of the material c

This chapter covers asymptotic analysis of function growth and big-o notation.

Geografisk information Referensmodell. Geographic information Reference model

Implementation of a proposal to teach quantum mechanics concepts from Feynman s Multiple Paths applied to the light

Semantic Foundation of the Tagged Signal Model

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik

Propositional Logic. Spring Propositional Logic Spring / 32

Formal Verification of Mathematical Algorithms

INTEGRATED REMOTE SENSING AND VISUALIZATION (IRSV) SYSTEM FOR TRANSPORTATION INFRASTRUCTURE. Project Description and Year I Achievement Report

Developing software that drives machines. Klaas Gadeyne

Technical debt in Model Transformation specifications

2007 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes

Act, 1956) Thursday ME1008. Thermo- Technology. CS1007 Microprocessor and Interfacing. Digital EE1053 SE1005. Computer.

Formal Conformance Testing 2006

Contents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics

Model-Based Test Driven Development of the Tefkat Model-Transformation Engine

Fairfield Public Schools

Propositional Logic. Fall () Propositional Logic Fall / 30

Relational Interfaces and Refinement Calculus for Compositional System Reasoning

Computability and Complexity

Software Verification with Abstraction-Based Methods

Opus: University of Bath Online Publication Store

A New Kind of Language for Complex Engineering Systems:

Aitso: an artificial immune systems tool for spatial optimization

Proof automation in set theory

Methodologies to determine the fault current through an OPGW (OPtical Ground Wire)

Reusing Geographic E-Services: A Case Study in the Marine Ecological Domain

2:30 PM - 4:30 PM (Afternoon)

micromodels of software declarative modelling and analysis with Alloy lecture 4: a case study MIT Lab for Computer Science Marktoberdorf, August 2002

UML. Design Principles.

Some Applications of the Euler-Maclaurin Summation Formula

Mechanizing Elliptic Curve Associativity

Electromagnetics and Electric Machines Stefan Holst, CD-adapco

Transcription:

Table of Contents Preface...viii Acknowledgment... xiv Section 1 Basics Chapter 1 Reverse Engineering and MDA: An Introduction... 1 Introduction... 1 Reverse Engineering in the Last 20 Years... 4 Reverse Engineering and MDA... 6 References... 13 Chapter 2 Model Driven Architecture (MDA)... 15 Introduction... 15 The Basic Concepts... 17 UML Metamodel... 20 The Meta Object Facility (MOF)... 25 Four-Layer Architecture... 27 Profiles vs. Metamodels... 30 References... 31 Chapter 3 MDA, Metamodeling and Transformation... 34 Introduction... 34 MOF Constructs... 35 Examples... 37 Common Concepts on Transformations... 45 References... 47

Section 2 Formalization of MOF-Based Processes Chapter 4 Formalization of MOF-Based Metamodels... 49 Introduction... 49 Object-Orientation, Metamodeling and Formal Languages... 50 MDA Infrastructure... 52 NEREUS: A Metamodeling Language... 54 Example 4-1: OCL Collections in NEREUS... 60 Example 4-2: Bidirectional Associations in NEREUS... 67 Example 4-3: Aggregation/Composition in NEREUS... 69 Example 4-4: State Diagram Metamodel... 71 Example 4-5: QVT Core Formalization... 73 References... 76 Chapter 5 MOF-Metamodels and Formal Languages... 80 A Bridge Between MOF-Metamodels and NEREUS... 80 Transformation of Associations... 83 Transformation of OCL Specification into NEREUS... 83 Example 5-1: Class Diagram Specified in OCL... 85 References... 97 Chapter 6 Mappings of MOF Metamodels and Algebraic Languages... 98 Introduction... 98 Translating Basic Specifications... 99 Translating Associations... 102 Example 6-1: Translating P&M Class Diagram into CASL... 102 References... 106 Chapter 7 Mappings of MOF Metamodels and Object-Oriented Languages... 107 Introduction... 107 Mapping Classes and Associations... 107 Constructing Object-Oriented Contracts and Implementations... 111 References... 112

Section 3 Techniques Underlying MDA-Based Reverse Engineering Chapter 8 Software Evolution, MDA and Design Pattern Components... 115 Introduction... 115 Related Work... 116 A Megamodel for Defining MDA Reusable Components... 117 Specifying MDA Design Pattern Components... 119 The Observer Component... 120 PIM-Metamodel of the Observer Pattern... 121 PSM-Metamodel of the Observer Pattern... 136 ISM-Metamodel of the Observer Pattern... 140 Specifying Metamodel-Based Transformations... 143 Formalization of Megamodel Instances... 150 References... 156 Chapter 9 Evolution of Models and MDA-Based Refactoring... 158 Introduction... 158 Related Work... 159 MDA-Based Refactoring... 160 Specifying MDA Refactoring... 161 Refactoring at Metamodel Level... 161 Refactoring at Model Level... 182 Refactoring at Formal Language Level... 185 Example 9-1: State Machine Diagram Refactoring... 190 References... 196 Chapter 10 MDA-Based Object-Oriented Reverse Engineering... 199 Introduction... 199 Related Work... 200 CASE Tools... 201 A Framework for Reverse Engineering... 204 Code-to-Model Transformations... 206 Code-to-Model Transformations: The Bases for Recovering Class Diagram... 214 Code-to-Model Transformations: The Bases for Recovering State Diagram... 215 MOF-Based Formalization: Reverse Engineering UML Class Diagram... 218 MOF-Based Formalization: Reverse Engineering UML State Diagram... 221 Specifying Anti-Refinements in NEREUS... 224 References... 226

Section 4 Conclusions Chapter 11 Summing Up the Parts... 231 Reverse Engineering: A Different Point of View... 231 Challenges on MDA-Based Reverse Engineering... 234 Chapter 12 Towards MDA Software Evolution... 236 Introduction... 236 Challenges on MDA-Based Software Evolution... 237 References... 239 Section 5 Selected Readings Chapter 13 Foundations for MDA Case Tools... 242 Liliana Favre, Universidad Nacional del Centro de la Pcia. de Buenos Aires, Argentina Claudia Teresa Pereira, Universidad Nacional del Centro de la Pcia. de Buenos Aires, Argentina Liliana Inés Martinez, Universidad Nacional del Centro de la Pcia. de Buenos Aires, Argentina Chapter 14 A Rigorous Framework for Model-Driven Development... 253 Liliana Favre, Universidad Nacional del Centro de la Provincia de Buenos Aires, Argentina Section 6 Appendices Appendix A Platform Specific Metamodels and Language Metamodels... 278 A.1. PSM Metamodel: Eiffel Platform... 278 A.2. PSM Metamodel: Java Platform... 284 A.3. ISM Metamodel: Eiffel Language... 294 A.4. ISM Metamodel: Java Language... 305 A.5. ISM Metamodel: C++ Language... 316

Appendix B OCL and NEREUS: Type System... 332 B.1. Primitive Types... 332 B.2. Collection Types... 348 B.3. Enumeration Signature... 355 B.4. Type Constructors... 355 Appendix C Transformation Rule System... 381 The Object Constraint Language: An Overview... 381 From OCL to NEREUS: A System of Transformation Rules... 386 Appendix D Design Pattern Metamodels... 396 D.1. Eiffel PSM Observer Metamodel... 396 D.2. Java PSM Observer Metamodel... 406 D.3. Java ISM Observer Metamodel... 420 About the Author... 437 Index... 438