Model Driven Architecture - The Vision

Similar documents
How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

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

Model Driven Architecture and Rhapsody

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

Model driven Engineering & Model driven Architecture

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

Model Driven Architecture

Overview of lectures today and Wednesday

Model Driven Architecture Targets Middleware Interoperability Challenges

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

Model Driven Engineering (MDE)

All you need are models Anneke Kleppe, Klasse Objecten

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Model Driven Architecture: coping with multiple platforms

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

CODAGEN TECHNOLOGIES AND MODEL-DRIVEN ARCHITECTURE (MDA)

From Object Composition to Model Transformation with the MDA

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

MDSE PRINCIPLES. Chapter #2

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

Developing in OMG s Model-Driven Architecture

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

SysML, It s Coming Are You Prepared?

Modelling in Enterprise Architecture. MSc Business Information Systems

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Introduction to MDE and Model Transformation

An introduction to MOF MetaObject Facility.

OMG Specifications for Enterprise Interoperability

Practical Model-Driven Development with the IBM Software Development Platform

UML 2.0 State Machines

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

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

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

Model Driven Architecture

Transformational Design with

MDSE USE CASES. Chapter #3

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Model-Driven Architecture

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

Impacts of changes in enterprise software construction for telecommunications

Qualitative ROI for MDA Projects. Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany

RED HAT CLOUD STRATEGY (OPEN HYBRID CLOUD) Ahmed El-Rayess Solutions Architect

Copyright 2011, OMG. All rights reserved.

SCOS-2000 Technical Note

What Is UML? The Goals and Features of UML. Overview. The goals of UML

INTRODUCTION. Chapter #1

The Model-Driven Semantic Web Emerging Standards & Technologies

Improving Military Information Technology Through Common Conceptual Models

ITBIS393 Web-Based Information Systems

Enabling Model Evolution via a Repository. Dan Matheson Robert France James Bieman Roger Alexander James DeWitt Nathan McEachen

Model Driven Data Interoperability (MDMI)

From Models to Components. Rapid Service Creation with

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

QoS-aware model-driven SOA using SoaML

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

MDA for the Enterprise

Defining Domain-Specific Modeling Languages

M B S E. Model Transformations in Model-Based Systems Engineering. Chris Paredis Associate Director. Model-Based Systems Engineering Center

Christian Doppler Laboratory

Domain-Frontier approach to. MDA based. software development

BLU AGE 2009 Edition Agile Model Transformation

Next-Generation Architecture for Virtual Prototyping

Methods for the Development

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

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

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Role of Executable UML in MDA. Presented by Shahid Alam

Data Center 3.0: Transforming the Data Center via the Network

IBM Rational Software Architect

ENTERPRISE SECURITY MANAGEMENT. Frederick Verduyckt 20 September 2012

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

MDA and Integration of Legacy Systems: An Industrial Case Study

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

Beginning To Define ebxml Initial Draft

Model Driven Architecture with Enterprise Architect

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

3rd Lecture Languages for information modeling

Model Driven Development Unified Modeling Language (UML)

Language engineering and Domain Specific Languages

INF5120 and INF9120 Modelbased System development

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Accelerate Your Enterprise Private Cloud Initiative

developer.* The Independent Magazine for Software Professionals

Appendix A - Glossary(of OO software term s)

ONUG SDN Federation/Operability

BUILDING the VIRtUAL enterprise

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

Information systems modeling. Tomasz Kubik

ISO/IEC INTERNATIONAL STANDARD

Coral: A Metamodel Kernel for Transformation Engines

What's new with Rational IBM s Telelogic Solutions move to Jazz

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

OCL Support in MOF Repositories

FEASIBILITY of the MDA APPROACH in UCE projects

Transcription:

Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de

The Fraunhofer FIRST Institut Your partner We support our customers and partners in analyzing, understanding and developing complex hard- and software systems, building a bridge between new and upcoming technologies and its adaptation to practical problems. Research and future oriented Application and praxis oriented Seite 2

Goals What is the OMG s Model Driven Architecture Initiative about Vision, goals and principles Problems and solutions Benefits and risks Seite 3

Object Managment Group The Object Management Group (OMG ) was founded in 1989 as a not-for-profit corporation, to create a component-based software marketplace by accelerating the introduction of standardized object software. The organization's charter includes the establishment of industry guidelines and detailed object management specifications to provide a common framework for application development. Conformance to these specifications will make it possible to develop a heterogeneous computing environment across all major hardware platforms and operating systems. Seite 4

Common Object Request Broker Architecture (CORBA) Middleware Technology Standard Platform independent application development framework In 2002 the OMG has finished the CORBA 3.0 specification, which seems to be stable now. Seite 5

Unified Modeling Language (UML) The Unified Modeling Language is a graphical notation language to support the objectoriented software development process in the analysis and design Successor of several OO and A&D notation OMG standard since 1997. Bank +Bank name : String address : String 1 +Bank 1 +Teller 1 Tell er name : String +Teller 1 +Converter 1 Converter name : String +Converter +Account Account 0..n id : String balance : Double customer : String 1 +Rate 0..n Rate currency : String rate : Double Seite 6

CORBA, UML, MOF and XMI XMI Specification XML DTD XMI XML XMI File File File Seite 7

Generation with UML University +faculty2 name : String +university +faculty Faculty 1 Application address : String phone : String 1 1..n +university name : String 0..n 0..n +faculty +is_offered_by 1 Application 0..n +member Student +offers 0..n +member 1..n 1 +decan name : String +participant id : Integer birthday : Date 0..n graduated : Boolean +attends 0..n Lecture name : String +teaches +lecturer id : Integer 0..n 1 Professor name : String Access API Access API Import/Export Import/Export XML File XMI DTD Seite 8

Software development method Guidelines heuristics checklists validation criteria Product documents/models code/relationships quality state Process activities dependencies sequencing rules quality tasks Notations Syntax (textual/graphical) semantics Seite 9

Model Driven Architecture The Architecture of Choice for a Changing World How Systems Will Be Built MDA provides an open, vendor-neutral approach to the challenge of business and technology change. Based firmly upon OMG s established standards, MDA aims to separate business or application logic from underlying platform technology. Platform-independent applications build using MDA and associated standards can be realized on a range of open and proprietary platforms, including CORBA, J2EE,.NET, Web services or other web-based platforms. Fully-specified platform independent models (including behavior) can enable intellectual property to move away from technology-specific code, helping to insulate business applications from technology evolution and further enabler interoperability. In addition, business applications, freed from technology specifics, will be more able to evolve at the different pace of business evolution. Seite 10

Heterogeneity is permanent Programming languages ~3 million COBOL programmers ~1.6 million VB programmers ~1.1 million C/C++ programmers Operating systems Unix, MVS, VMS, MacOS, PalmOS Windows (all 8!), DOS & Windows 3.1: are still out there! Embedded devices (mobile, set-top, etc.) Networks Ethernet, ATM, IP, SS7, Firewire, USB Bluetooth, 802.11b, HomeRF Seite 11

Heterogeneity remains permanent Middleware itself has proliferated: CORBA : Vendor, OS & language independent middleware COM/DCOM/MTS Java/EJB XML/SOAP C#/.Net What will be Next Best Thing? There will not be consensus on middleware platforms You must preserve (reuse) your software investment as the infrastructure landscape changes around it Seite 12

UML usage today Analysis Design Domain & Business UML Model Domain oriented Design & Architecture UML Model Platform oriented Seite 13

UML usage as proposed by MDA Analysis Design Computation Independent Model (CIM) Platform Independent Model (PIM) Platform specific Model (PSM) Seite 14

Building an MDA application Platform- Platform- Independent Independent Model Model A Detailed Model, stating Pre- and Post- Conditions in OCL, and Semantics in Action Language Start with a Platform- Independent Model (PIM) representing business functionality and behavior, undistorted by technology details. Seite 15

Building an MDA application Platform- Platform- Independent Independent Model Model CORBA CORBA Java/EJB Java/EJB Model Model Model Model XML/SOAP XML/SOAP Model Model Map a PIM to Many Middleware Technologies via OMG Standard Mappings Other Other Model Model MDA tool applies an standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Seite 16

Building an MDA application Platform- Platform- Independent Independent Model Model Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc. MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. CORBA CORBA Model Model Java/EJB Java/EJB Model Model XML/SOAP XML/SOAP Model Model Other Other Model Model CORBA CORBA Java/EJB Java/EJB XML/SOAP XML/SOAP Other Other Seite 17

Integrating Legacy & COTS Platform- Platform- Independent Independent Model Model Reverse-engineer existing application into a model and redeploy. MDA Tools for reverse engineering automate discovery of models for re-integration on new platforms. Legacy Legacy App App COTS COTS App App Other Other Model Model Other Other Seite 18

Automating Bridges CORBA CORBA Model Model Platform- Platform- Independent Independent Model Model MDA Tools combine application and platform knowledge to generate bridges XML/SOAP XML/SOAP Model Model Bridge generation is simplified by common application models, simplifying creation of integrated applications both within and across enterprises. CORBA CORBA System System Interop Interop Bridge Bridge XML/SOAP XML/SOAP System System Seite 19

UML future (UML 2.0) UML becomes a full-featured formal programming language Executable Simulation support Verification support Realtime support Diagram exchange Seite 20

Transformation technologies PIMPIM Platform Independent Metamodel Transformation Specification MOF MOF PSM PSM Platform Specific Metamodel Seite 21

Transformation approaches Metamodel Transformation Marking Model Transformation Pattern application Model merging UML Profiles PIM PIM PSM PSM Another Model Model Seite 22

UML Profile (working definition) Identifies a subset of the UML metamodel. Specifies well-formedness rules beyond those specified by the identified subset of the UML metamodel. (set of constraints written in UML s Object Constraint Language (OCL)) Specifies standard elements beyond those specified by the identified subset of the UML metamodel. Standard element is a term used in the UML metamodel specification to describe a standard instance of a UML stereotype, tagged value or constraint. Specifies semantics, expressed in natural language, beyond those specified by the identified subset of the UML metamodel. Specifies common model elements, expressed in terms of the profile. Seite 23

Transformation technologies PIMPIM Platform Independent UML UML Profile Profile Transformation Specification MOF PSM PSM Platform Specific UML UML Profile Profile Seite 24

Expected MDA benefits Full support for your 20 year architecture across the application lifecycle Smooth integration across intra- and inter-business boundaries (across deployment technologies) Reduced costs from beginning to end Reuse of applications, code, training and people Technology-independent representation of the business Scalability, robustness & security via generated code Stable model-based approach maximizes ROI Rapid inclusion of the next best thing Seite 25

Model Driven Architecture Summary Model centric approach -High level abstraction -Model transformation -Code generation approach Separation of application logic and platform technologies -Platform independence -Application logic reuse -Horizontal and vertical architecture independence Consistent with other SE paradigms Seite 26

Generative Programming Generative Programming is a software engineering paradigm based on modelling software system families based on high level specifications used to configure and generate applications based elementary components of the solution space. Problem Space Space Domain specific Concepts and and features Configuration Knowledge Configuration Generation Construction rules rules Solution Space Space Elementary components Execution frameworks Seite 27

Aspect Oriented Programming (AOP) Approach to crosscutting concerns. Example: Separation of functional and non-functional code crosscutting concerns solution with aspects Seite 28

Current status 2007 Several proofs-of-concepts: -Wells Fargo (an architecture that has already been resilient through a decade of change) -Lockheed Martin Aeronautics -GCPR in US government 2003 MDA Technologies and tools -Tau Generation2 (Telelogic) -ArcStyler (Interactive Objects) -b+m generator framework (b+m Informatik AG) Seite 29

More informations MDA Information Page http://www.omg.org/mda/ OMG General Information http://www.omg.org/ Seite 30