Model-Driven Architecture/ Development

Similar documents
CSSE 490 Model-Based Software Engineering: Introduction to MetaModels

CSSE 490 Model-Based Software Engineering: MDSD and Case Study

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

Chapter 9, Object Design: Specifying Interfaces

CSSE 490 Model-Based Software Engineering: Software Factories

CSSE 490 Model-Based Software Engineering: Domain Engineering

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Transformation Systems

CSSE 490 Model-Based Software Engineering: Transformational Programming

10. Mapping Models to Code

Chapter 10, Mapping Models to Code

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: More Object Design with Gang of Four Design Patterns

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

Methods for the Development

We are at System Operation Contracts

CSSE 374: GRASP ing at the First Five Patterns Principles. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: Even More Object Design with Gang of Four Design Patterns

CSSE 374: Design Class Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: Architecture Description Languages (ADL)

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

All you need are models Anneke Kleppe, Klasse Objecten

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Improving Military Information Technology Through Common Conceptual Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

CSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM. 1. (A) (B) (C) (D) (E) 7. Nothing, does not run true false

Model Driven Architecture

FEASIBILITY of the MDA APPROACH in UCE projects

The Write Once, Deploy N MDA Case Study

Applying UML Modeling and MDA to Real-Time Software Development

Model Driven Engineering (MDE)

Model Driven Development Unified Modeling Language (UML)

02291: System Integration

Introduction to MDE and Model Transformation

COMET. Component and Model-based development Methodology. Adapted from COMET I and COMBINE. COMET Methodology Handbook

Raising the Level of Development: Models, Architectures, Programs

CBDIReport. Service Oriented Architecture and OptimalJ. 1 Introduction. 2 Service Oriented Architecture. 3 The Business Services Bus

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Frustrated by all the hype?

MDA and Integration of Legacy Systems: An Industrial Case Study

MDSE PRINCIPLES. Chapter #2

One and a half hours. Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

A Framework for Rapid Development of Model Compilers

INTRODUCTION. Chapter #1

BLU AGE 2009 Edition Agile Model Transformation

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

Check out FilesAndExceptions from SVN. Exam 2 Review File I/O, Exceptions Vector Graphics Project

Chapter 10, Mapping Models to Relational Schema

The Eclipse Modeling Framework and MDA Status and Opportunities

Transformational Design with

index_ qxd 7/18/02 11:48 AM Page 259 Index

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Logical Architecture & Design Preliminaries

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

SysML, It s Coming Are You Prepared?

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

Model Driven Architecture

PASS4TEST. Prüfungshilfen für IT Zertifizierungen. Wir bieten Ihnen einen kostenlosen einjährigen Upgrade Service an

A (Very) Short Introduction to Model-Driven Development (MDD)

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano

Object-Oriented Theories for Model Driven Architecture

Modelling in Enterprise Architecture. MSc Business Information Systems

Index. business modeling syntax 181 business process modeling 57 business rule 40

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

Role of Executable UML in MDA. Presented by Shahid Alam

ISO/IEC INTERNATIONAL STANDARD

Final Exam. Programming Assignment 3. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings

Model-Driven Architecture

Introduction to Software Engineering 10. Software Architecture

MDA. Model Driven Architecture. Joaquin Miller

Meta-Model and Model co-evolution

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

* Corresponding Author

Introduction. O.Univ.-Prof. DI Dr. Wolfgang Pree. Universität Salzburg

Bachelor of Engineering, IT Thesis

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process

TABLE OF CONTENT CHAPTER TITLE PAGE DECLARATION OF THESIS STATUS SUPERVISOR DECLARATION TITLE PAGE STUDENT DECLARATION ACKNOWLEDGEMENT ABSTRACT

The new IBM Rational design and construction products for Rose and XDE users

(The obligatory second slide)

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Lecture 13 Introduction to Software Architecture

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

model-driven development Model-Driven Integration Using Existing Models

DRAFT ARCHITECTURE DOCUMENT PROTEOMICS LABORATORY INFORMATION MANAGEMENT SYSTEM DOCUMENT NUMBER: V1.4 BY OLGA TCHUVATKINA - BIOINFORMATICS

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Bean Validation Constrain once, validate everywhere

Oracle Developer Day

IPv4 Unallocated Address Space Exhaustion

An Open Modeling Infrastructure. Olaf Kath Marc Born

Introduction - SENG 330. Object-Oriented Analysis and Design

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

Transcription:

CSSE 490 Model-Based Software Engineering: Shawn Bohner Model-Driven Architecture/ Development Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu

Learning Outcomes: Transformations Define transformation rules for abstraction and refinement. Discuss paper Outline Model-Driven Architecture Explore Mappings with MDA Example Q3

Paper Discussion: Feature-Based Transformation Approach Paper Feature-based survey of model transformation approaches What are the main thrusts of the paper? What are the controversial points and your positions? What did you get out of reading about feature-based transformation approaches?

Overview Model-Driven Architecture MDA provides an approach for: 1. Specifying a system independently of the platform that supports it 2. Specifying platforms 3. Choosing a particular platform for the system 4. Transforming the system specification into one for a particular platform Q1

Recall: Basic Model Layers One or model levels per layer Mappings and Transforms between models Mappings Transforms Computation Independent Models Platform Independent Models Platform Specific Models

Concepts: Model-Driven MDA is model-driven because it provides a means for using models to direct the course of: Understanding Design Construction Deployment Operation Maintenance/evolution! Q2

Concepts: Architecture A specification of the components and connectors of the system and rules for interactions between parts using the connectors MDA prescribes models to be used, how those models may be prepared and the relationships of the different kinds of models Q3

Concepts: Viewpoint An abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system Concepts and rules may be considered to form a viewpoint language Q4

Examples of Viewpoint Conceptual viewpoint, a specification (logical) viewpoint, and an implementation (physical) viewpoint, specifying in detail the construction of that system Computation Independent Viewpoint Platform Independent Viewpoint Platform Specific Viewpoint

Concepts: Platform A set of subsystems and technologies that provide a coherent set of functionality 1. Generic (e.g., Object, Language) 2. Specific (e.g., CORBA) 3. Vendor (e.g.,.net) Q5

Mapping MDA mapping provides specifications for transformation of a PIM into a PSM for a platform Platform model determines the nature of the mapping

Model Type Mappings: Metamodel Mappings A metamodel mapping is a specific example of a model type mapping, where the types of model elements in the PIM and the PSM are both specified as metamodels Q6

Since we are talking meta

Example of Mapping A platform model for EJB includes the Home and RemoteInterface as well as Bean classes and Container Managed Persistence A UML PIM to EJB mapping provides marks to be used to guide the PIM to PSM transformation It may also include templates or patterns for code generation and for configuration of a server Marking a UML class with the Session mark results in the transformation of that class according to the mapping into a session bean and other supporting classes

What are some ways that you map software models to code? Think for a minute Turn to a neighbor and discuss it for a minute Q2

Model Transformations Forward engineering Refactoring Model Transformation Reverse engineering Model space Source code space

Model Transformation Example Object design model before transformation LeagueOwner +email:address Advertiser +email:address Player +email:address Object design model after transformation: User +email:address LeagueOwner Advertiser Player

Refactoring Example: Pull Up Field!!! public class Player {!!!private String email;!!//...! public class LeagueOwner {!!!private String email;!!//...! public class Advertiser {!!!private String email_address;!!//...! public class User {!!private String email;!!! public class Player extends User {!!//...!! public class LeagueOwner extends User {!!//...!!! public class Advertiser extends User {!!!//...!

Refactoring Example: Pull Up Constructor Body public class User { private String email; public class Player extends User { public Player(String email) { this.email = email; public class LeagueOwner extends User{ public LeagueOwner(String email) { this.email = email; public class Advertiser extendsuser{ public Advertiser(String email) { this.email = email; public class User { public User(String email) { this.email = email; public class Player extends User { public Player(String email) { super(email); public class LeagueOwner extends User { public LeagueOwner(String email) { super(email); public class Advertiser extends User { public Advertiser(String email) { super(email);

PIM to PSM Example Object design model before transformation User +email:string +notify(msg:string) LeagueOwner +maxnumleagues:int Source code after transformation public class User { private String email; public String getemail() { return email; public void setemail(string value){ email = value; public void notify(string msg) { //... /* Other methods omitted */ public class LeagueOwner extends User { private int maxnumleagues; public int getmaxnumleagues() { return maxnumleagues; public void setmaxnumleagues (int value) { maxnumleagues = value; /* Other methods omitted */

Other Mapping Activities Optimizing the Object Design Model Mapping Associations Mapping Contracts to Exceptions Mapping Object Models to Tables

Homework and Milestone Reminders Read Metamodel Paper (will be on Angel tonight) Milestone 2: Establish a repository and structure for assembling components for your FacePamphlet application Due by 11:55pm Friday, April 1 st, 2011 (no foolin!) Continue to familiarize yourself with material on Eclipse Modeling Project http://www.eclipse.org/modeling/ Tomorrow we will talk more about Milestone 2