Upload
preetam-palwe
View
756
Download
3
Tags:
Embed Size (px)
DESCRIPTION
This presentation on Model Driven Architecture (MDA) I had given in Aftek for educational purpose.
Citation preview
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
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
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
Are we on same pitch?Are we on same pitch?
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
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
Understanding requirements is hard!Understanding requirements is hard!
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
How it works?How it works?
Forward engineering approachForward engineering approach
How it works? (cont.)How it works? (cont.)
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 (?)
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
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
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)
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
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
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?
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.