Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -

Slides:



Advertisements
Similar presentations
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
CS487 Software Engineering Omar Aldawud
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
From Natural Language Requirements to Executable Models of Software Components.
Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies Wim.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
MDA Model Driven Architecture Eduardo Scoz. Overview Different approach for SD: Models Different approach for SD: Models Automated tools can generate.
David Harrison Senior Consultant, Popkin Software 22 April 2004
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Object Oriented Analysis and Design Using the UML
Applying MDA in the ATM: A practical approach Teodora Bozheva, Terry Bailey (ESI) Julia Reznik, Tom Ritter (Fraunhofer FOKUS)
Chapter 1 The Systems Development Environment
Enterprise Architecture
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Principles of Object Technology Module 1: Principles of Modeling.
Software Development Process
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
VirtualWorks.
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
XML in Development of Distributed Systems Tooling Programming Runtime.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to UML by Jan Pettersen Nytun, page 1 Introduction to UML.
Introduction to MDA (Model Driven Architecture) CYT.
Web services for Enterprise Collaboration Applying MDA to web services for enterprise collaboration Doc Mars/ Doc webserv/
Larry L. Johnson Federal Transition Framework.
RUP Design RUP Artifacts and Deliverables
Identify steps for understanding and solving the
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
Experiences from Representing Software Architecture in a Large Industrial Project Using Model Driven Development Andres Mattsson 1 Björn Lundell 2 Brian.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
March 24, 2007 SOA CoP Demo Model Driven Enterprise SOA GSA Financial Management Enterprise Architecture Cory Casanave cory-c (at) modeldriven.com Oct.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture MDA SE-548 Lale Doğan
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
CTMS Coordination Team CTMS Coordination Team: Model and Documentation Management John Koisch Paul Boyes
Building Enterprise Applications Using Visual Studio®
About Client Client is a pioneer in industry that provides catastrophe risk modeling, real-time risk exposure and risk management through available live.
Web Application Modeling
Advantages OF BDD Testing
Evaluating Compuware OptimalJ as an MDA tool
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
UML profiles.
Presentation transcript:

Model Driven Architecture (MDA) Partha Kuchana

Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA - Advantages MDA - Reality Check

What is MDA ? Model Driven Architecture What is Model abstraction of something that exists in reality description of a (business) system in a [formal way]

What is MDA ? Software Modeling Approaches OMG framework for software development, which is top-down and driven by the business

Modeling Approaches Code Only No formal model exists Modeling is done in the form of programming abstractions e.g., packages and modules Might work for small scale efforts Makes maintenance difficult Code is Model Pictorial representation of the code base No real high level model Developers can alter model elements through code

Modeling Approaches Code and Model Co-exist (RTE) High level model exists Transformation from model to code is manual Automated tools could be used to generate stubs Code and model evolve through iterations Code or model may be changed for error-correction If not controlled through an effective process, gets code and model out of sync Model-centric Model exists with sufficient details Business Rules Integration Requirements

Modeling Approaches Business Requirements UI Representation Details Business Logic Transformation from model to code is automated Model only Corresponding code transformation may not occur (solution architecture in proposals and software architecture documents) Model and code are disconnected (O/N/R* shoring)

MDA in a Nutshell MDA

MDA Models MDA is a way to organize and manage enterprise architectures supported by automated tools and services for both defining the models and facilitating transformations between different model types. (OMG Definition) Platform Independent Model (PIM) Fundamental Business Function and Behavior Created using UML Platform Specific Model (PSM) Specification of the Application in terms of the Implementation Constructs Specific to a Given Target Platform Based on the PIM

MDA Models Code Model Based on PSM Implementation in a Specific Language MDD Model is used as a primary artifact to generate an efficient implementation through transformations Work carried out by developers in an MDA based implementation MDA - MDD made formal (by OMG) Example: Functionality around an insurance policy and a customer

SDLC Build/Coding Design Testing Requirements Gathering/An alysis Deployment Traditional Analysis and Requirements Specification Analysis and Requirements Specification Detailed System DesignCode MDA Design Req Gathering/Analysis Build/CodingTestingdeployment Usecases/ PIM PSMCode

MDA Models (an Example) Platform Independent Model Policy effDate: Date expDate: Date Premium: Real policyType: Integer getPremium() Customer firstName: String lastName: String Address: Address * 1 Platform Specific Model (Relational) Policy effDate: DATE expDate: DATE Premium: REAL policyType: INTEGER Customer firstName: VARCHAR(30) lastName: VARCHAR(30) Address: VARCHAR(30) Platform Specific Model (EJB Component) > Policy > Customer > and > Platform Specific Model (Web Component) > Policy > Customer > Code Model Oracle DDLEJB CodeJSP Code Infrastructure/Deployment/Plumbing Code

Advantages MN language suitable for automated interpretation Increased Productivity Automated code generation (not just stubs) Higher level of abstraction to the SD process High quality, Standards Based, Consistent Code base Helps preserve development investment Insulates business from technology evolution Requires strong collaboration between IT and Business Top down development More in alignment with the real-world empowering business users

Advantages Model (in action) validation capture requirements more effectively Suitable for modern day development approaches Portability Focus on PIMs, transform to multiple PSMs (platforms) Enables transition to newer technologies seamless to gain business value (java, xml, web services) Interoperability Bridges, for communication between PSMs Documentation Low and high level Useful/meaningful documentation Automated Automated Integration support for automated testing *

MDA – Reality Check MDA <> Math UML is not sufficient to describe complex business interactions leads to proprietary extensions Affects portability Cannot produce fully functional application One-size fits all approach Potential for inefficient code Domain experts with business knowledge may need to learn UML Built in transformations Needs customizations Complex template merging may be required Can be minimized with rich set of templates

MDA – Reality Check Provides a higher level of abstraction to the SD process Before you start using MDA Support for powerful frameworks for robust system design Limit on the number of business entities that can be modeled Support for automated testing Plug-play with testing tools Support for integration Estimate the amount of customization needed DB related customizations, not just code Estimate the template merging effort Continued vendor support for template merging for new releases Consider the efficiency of the generated code Have a process to ensure top-down development requirements must always flow from top down Eliminates the scope for technology defining business requirements

Questions