MDA

18
Model Driven Model Driven Architecture Architecture “The Architecture of choice for a “The Architecture of choice for a changing world” changing world” Preetam Palwe Preetam Palwe Aftek Limited Aftek Limited

description

This presentation on Model Driven Architecture (MDA) I had given in Aftek for educational purpose.

Transcript of MDA

Page 1: MDA

Model Driven ArchitectureModel Driven Architecture“The Architecture of choice for a changing world”“The Architecture of choice for a changing world”

Preetam PalwePreetam PalweAftek LimitedAftek Limited

Page 2: MDA

RoadmapRoadmap

Need for MDANeed for MDA

What is MDAWhat is MDA

How MDA worksHow MDA works

Tools and SpecificationsTools and Specifications

AdvantagesAdvantages

ConcernsConcerns

Road aheadRoad ahead

Page 3: MDA

Satisfaction with IT projects remains low?Satisfaction with IT projects remains low?

New apps or changes to existing apps are delivered in New apps or changes to existing apps are delivered in time frame needed?time frame needed?New apps or changes to existing apps are delivered at New apps or changes to existing apps are delivered at expected quality levels?expected quality levels?

What say you ?What say you ? Strongly agree Strongly agree DisagreeDisagree Somewhat disagreeSomewhat disagree Somewhat agreeSomewhat agree AgreeAgree Strongly agreeStrongly agree

Page 4: MDA

Are we on same pitch?Are we on same pitch?

Page 5: MDA

Requirements gathering is a root causeRequirements gathering is a root cause

40%-55% errors found in QA are actually requirements 40%-55% errors found in QA are actually requirements issuesissues

Up to 70% of rework is caused by bad requirementsUp to 70% of rework is caused by bad requirements

Page 6: MDA

Limitations of traditional solutionsLimitations of traditional solutions

Requirements management tools:Requirements management tools: Describe “what” not “how” — requirements are not specificationsDescribe “what” not “how” — requirements are not specifications Useful for managing and tracing requirements, not gathering Useful for managing and tracing requirements, not gathering

themthem

UML models:UML models: Too abstract for business usersToo abstract for business users Can create a false sense of agreementCan create a false sense of agreement

Mockups — Visio/PPT:Mockups — Visio/PPT: Can be high fidelity, but don’t allow users to interactCan be high fidelity, but don’t allow users to interact

Coded prototypes:Coded prototypes: Expensive and time-consuming to buildExpensive and time-consuming to build Require high technical skillsRequire high technical skills Risk preempting technology decisionsRisk preempting technology decisions

Page 7: MDA

Understanding requirements is hard!Understanding requirements is hard!

Page 8: MDA

Can MDA help?Can MDA help?

What is MDA?What is MDA? Specification by Object Management Group (OMG)Specification by Object Management Group (OMG) Open and vendor neutral software design approach to Open and vendor neutral software design approach to

challenge of business and technology changechallenge of business and technology change Based on various standards like UML, MOF, XMI, Based on various standards like UML, MOF, XMI,

CWMCWM Enforce portability, interoperability and adaptively of Enforce portability, interoperability and adaptively of

systemssystems Automatic transformations using toolsAutomatic transformations using tools

Page 9: MDA

How it works?How it works?

Forward engineering approachForward engineering approach

Page 10: MDA

How it works? (cont.)How it works? (cont.)

Page 11: MDA

Are there any tools for this?Are there any tools for this?

QVT standard (Queries/Views/Transformations )QVT standard (Queries/Views/Transformations ) Model to Model transformationModel to Model transformation No Model to Text and Text to Model transformationNo Model to Text and Text to Model transformation

Types of toolsTypes of tools Creational Creational AnalysisAnalysis TransformationTransformation CompositionComposition TestTest SimulationSimulation Metadata managementMetadata management Reverse engineering Reverse engineering

ImplementationsImplementations IBM-Rational RADIBM-Rational RAD Eclipse EMFEclipse EMF Microsoft DSL tools (?)Microsoft DSL tools (?)

Page 12: MDA

Key requirementsKey requirements

Portable Portable PIM independent of business and technology PIM independent of business and technology

specificationsspecifications

Interoperable Interoperable Defining, managing, publishing and sharing metadataDefining, managing, publishing and sharing metadata

AdaptiveAdaptive Adaptive Object Model (AOM)Adaptive Object Model (AOM) Runtime interpretation of modelRuntime interpretation of model

Page 13: MDA

Different standards satisfying requirementsDifferent standards satisfying requirementsUML (Unified Modeling Language)UML (Unified Modeling Language)

Based on MOF, provides visual artifacts to model systems Based on MOF, provides visual artifacts to model systems UML compliance not requiredUML compliance not required

MOF (Meta-Object Facility)MOF (Meta-Object Facility) Common, abstract language for modeling modelsCommon, abstract language for modeling models MetaModel for compliance and transformationsMetaModel for compliance and transformations Define rules for mapping MOF MetaModel to platform independent Define rules for mapping MOF MetaModel to platform independent

interfaces interfaces

XMI (XML Metadata Interchange)XMI (XML Metadata Interchange) Translate MOF MetaModel to XML representationTranslate MOF MetaModel to XML representation

CWM (Common Warehouse MetaModel)CWM (Common Warehouse MetaModel) Model data space (data mining across databases) and not application Model data space (data mining across databases) and not application

space like UMLspace like UML

Page 14: MDA

AdvantagesAdvantages

Platform independence by modeling Platform independence by modeling specifications independent of technologyspecifications independent of technology

Cost reduction throughout application life cycle Cost reduction throughout application life cycle by virtually eliminating re-workby virtually eliminating re-work

Reduced development time for new applications Reduced development time for new applications

Rapid inclusion of emerging technology benefits Rapid inclusion of emerging technology benefits into existing systemsinto existing systems

Software prototyping (e.g. AppWeaver)Software prototyping (e.g. AppWeaver)

Page 15: MDA

Concerns?Concerns?

Incomplete standardsIncomplete standards E.g. xtUML, QVTE.g. xtUML, QVT

Vendor lock inVendor lock inIdealistic Idealistic OMG track recordOMG track record

E.g. CORBAE.g. CORBA

J2EE specificJ2EE specific E.g. UML class and C# propertiesE.g. UML class and C# properties

Document incompatibilityDocument incompatibility E.g. XMI and MOF version incompatibility questions its model E.g. XMI and MOF version incompatibility questions its model

serialization approachserialization approach

Does not support software product linesDoes not support software product lines

Page 16: MDA

SolutionSolution

Domain Specific LanguagesDomain Specific Languages Approach by Microsoft Approach by Microsoft Called as Domain Specific Development because Called as Domain Specific Development because

modeling language can only clearly define the modeling language can only clearly define the problem domainproblem domain

UML as a diagramming tool with domain specific UML as a diagramming tool with domain specific extensions if neededextensions if needed

Domain specific schemas to represent modelDomain specific schemas to represent model Models are essentially creating configuration code for Models are essentially creating configuration code for

the framework, patterns the framework, patterns One of the pillars of software factory approach by One of the pillars of software factory approach by

MicrosoftMicrosoft

Page 17: MDA

What's in store for us?What's in store for us?

Visual studio DSL for defining / modeling DSL for Visual studio DSL for defining / modeling DSL for attendance domain. attendance domain.

Model driven rule engine for CARS?Model driven rule engine for CARS?

Config Utility of DHG2.0. Is this a DSL for Home Config Utility of DHG2.0. Is this a DSL for Home Automation?Automation?

Metadata sharing by various DVGs / Devices. Metadata sharing by various DVGs / Devices. Adaptive Object Modeling? uPnP? Adaptive Object Modeling? uPnP?

Page 18: MDA

Thank You ! Thank You !

Note: This presentation was made purely for educational purpose and the data used to prepare this is taken from Note: This presentation was made purely for educational purpose and the data used to prepare this is taken from various resources available on internet.various resources available on internet.