understanding mda
DESCRIPTION
TRANSCRIPT
10 october 2008 Understanding MDA n. 2
>apropos alberto.lagna
• Computer Science graduate, Telco master• Independent consultant, working as software architect /
team leader• Consulting on design and development of enterprise
systems mainly based on JavaEE.• 15 years of working experience (2 big MDA projects):
– IT asset repository in a big bank– MDA tool for software vendor
• JUGTorino member• Promoting the use of free software and supporting the open
source movement
10 october 2008 Understanding MDA n. 3
The Problem
• Business is more demanding– Market ‘mutates’ constantly– New kinds of products needed – fast!– Many new products require new (and innovative) IT solutions
• But:– IT platforms also mutate constantly– Legacy systems are tied to legacy platforms– IT has no universal integrating paradigm– So, IT culture is constantly tied up in maintenance and therefore
slow to respond to change• Result:
– Business-IT relationship under strain– Individual projects have high costs and high risk of failure– Projects not well-coordinated; no reuse
10 october 2008 Understanding MDA n. 4
Contributing Factors
• Business does not describe its needsand opportunities in a consistent way
• Business and IT speak very different‘solutioning’ languages
• IT does not follow consistentprocesses for creating, acquiring,integrating and customizing software
• IT solutions are standalone; littlereuse
• Existing layers of legacy software,hardware and ‘muddleware’compound all of the above.
10 october 2008 Understanding MDA n. 5
Is There a Better Way?
• Much more rapid time-to-market
• Significantly improvedsolutions quality
• Significantly lower solutionslifecycle costs
• End-to-end traceability –requirements to deployment
• Improved overall business-ITalignment
10 october 2008 Understanding MDA n. 6
A Different Way of‘Solutioning’…..
New BusinessModels
New Service Models
New ImplementationModels
Reusable BusinessModel Patterns
ReusableService Model
Patterns
ReusableDesign Model
Patterns
DeployedSoftware
Components
ReusableDeployed
Components
BusinessRequirements Enterprise Reuse
Repository
10 october 2008 Understanding MDA n. 7
….and, a DifferentDevelopment Process
Business Analyst
Solutions Designer
Software Designer
ImplementationModels
DeployableSoftware
BusinessModels
SolutionModels
Software Implementer
10 october 2008 Understanding MDA n. 8
What about MDA?
Business Analyst
Solutions Designer
Software Designer
PlatformSpecific
Model (PSM)
DeployableSoftware
ComputationallyIndependentModel (CIM)
PlatformIndependentModel (PIM)
Software Implementer
•Separation of concerns•Multiple viewpoints•Multi-level reuse•Precise information flows•Full traceability
10 october 2008 Understanding MDA n. 9
Why MDA?
• Based on proven best practices and openstandards
• Supported by 900+ OMG members• Widely implemented in commercial and
open source tools• Applicable to a wide range of business
and computing problems• Highly adaptable to different
organizations, project types, toolsets,technologies, etc.
• Supports all forms of development anddeployment, including outsourcing and off-shoring
10 october 2008 Understanding MDA n. 10
Who is Using MDA?
• Government• Financial Services• Aerospace, Defense• E-commerce• Telecomm• Manufacturing• Biomed• ……. (see www.omg.org/mda)
10 october 2008 Understanding MDA n. 11
MDA committed companies
10 october 2008 Understanding MDA n. 12
MDA tool makersAdaptive, Inc. Interactive Objects Software; ArcStyler company providing toolsAonix's Ameos Kabira Technologies, Inc and consultingARTiSAN's Real-Time Studio KnowGravity's CASSANDRAb+m ArchitectureWare Kennedy Carter Ltd: iUML and iCCGBITPlan GmbH smartGenerator LIANTIS XCoderThe Borland Approach to MDA M2VP's MDA Consulting ServicesCalKey Technologies' Caboom MASTER ProjectCalytrix Technologies' SIMplicity Mentor Graphics' EDGE UML SuiteCodagen Technologies MetaMatrix CommitmentCodeless Technology's Codeless Metamaxim's modelscopeConsortium for Business Object Promotion MID's InnovatorConsyst's REP ++ Studio The MOD Group's MDA ServicesCompuware OptimalJ Neosight Technologies' BoldExpress StudioData Access Technologies OCI's MDA ServicesDavid Frankel Consulting ObjectFrontier's FrontierSuiteDomain Solutions' CodeGenie Outline Systems Inc.'s PowerRADDot Net Builders' Constructor Pathfinder Solutions PathMATEEDCubed's TET Plastic Software's Agora Plastic 2005E2E Bridge realMethods FrameworkGentastic's e-GEN Select Business Solutions' Select Component FactoryM1 Global Solutions' MDE Mia-Software's Model-In-ActionHendryx & Associates Softaris Pty. Ltd.: MetaBossHerzum Software SoftMetaWare's Generative Model Transformer projectIBM's Rational Software Architect Softeam and Objecteering/UMLIKV++ GmbH; m2c(tm) CARE Technologies S.A. / SOSY Inc's OlivaNova Model Execution SystemI-Logix' Rhapsody (Telelogic) Tata Consultancy Services: MasterCraftinnoQ's iQgen Telelogic's TAU Generation2TechOne's ACE
10 october 2008 Understanding MDA n. 13
MDA tools and frameworks
• which one do I have to choose?• which has the best fit to my requirements?• what are my requirements?
10 october 2008 Understanding MDA n. 14
Realistic Concerns
• Can it really work at ourcompany?
• How much time/money could itsave?
• Is it really worth the time, cost,effort and risk to implement?
• What will the ‘to-be’ state of ourorganization really look like?
• How do we manage/govern ourorganization’s transition to MDA
• How do we get started?
10 october 2008 Understanding MDA n. 15
MDA in a nutshell
Computational
Independent Model
Business Analyst - aka Analista
Platform
Independent Model
Application Architect - aka Progettista Software
Developer - aka Sviluppatore
Platform Specific
Model
Code
MDA architect
Business
Profile
Platform
Independent
Profile
Platform
Specific
Profile
mapping
rules
aka reference
architecture
aka reference platform
10 october 2008 Understanding MDA n. 16
MDA in a nutshell READYNOW
Computational
Independent Model
Business Analyst - aka Analista
Platform
Independent Model
Application Architect - aka Progettista Software
Developer - aka Sviluppatore
Platform Specific
Model
Code
MDA architect
Business
Profile
Platform
Independent
Profile
Platform
Specific
Profile
mapping
rules
10 october 2008 Understanding MDA n. 17
MDA in a nutshell READYNOW
Platform
Independent Model
Application Architect - aka Progettista Software
Developer - aka Sviluppatore
Code
MDA architect
Platform
Specific
Profile
mapping
rules
10 october 2008 Understanding MDA n. 18
PSM static diagrams
10 october 2008 Understanding MDA n. 19
PSM dynamic diagrams
10 october 2008 Understanding MDA n. 20
MDA tool requirements
• for YOUR target platform– supports custom metamodels
• addresses full lifecycle– metamodels, tranformation, generation
• Advanced capabilities– reverse eng, versioning, validation, simulation
• integration with tools• standard conformance
10 october 2008 Understanding MDA n. 21
MDA products fulfilling reqs
• Commercial– Compuware OptimalJ– IO Arcstyler
• Open Source– AndroMDA– OpenArchitectureWare
10 october 2008 Understanding MDA n. 22
Compuware OptimalJ
• Metamodels– Domain Model, highest level of abstraction– Application Model, the application architecture– Code Model, the syntactically precise code
• Technology patterns– transformation Domain Model -> the Application
Model.• Implementation patterns
– transformation Application Model ->Code Model.
10 october 2008 Understanding MDA n. 23
Compuware OptimalJfeatures
10 october 2008 Understanding MDA n. 24
Interactive ObjectsArcStyler
• Pluggable and fully extensible MDACartridges:– Java5 – Web Services (J2EE 1.4 and EJB 2.1)
• BEA WebLogic 8.1 • IBM WebSphere 5.1 • JBoss 4
– .NET – web applications
• Struts
10 october 2008 Understanding MDA n. 25
AndroMDA
• Contains a toolkit for building your own cartridges orcustomize existing ones
• Building blocks of AndroMDA are pluggable and canbe exchanged to meet your needs
• Validates the input models using OCL constraintswhich are related to the metamodel classes.
• Ready-to-use cartridges for common enterprisearchitectures (EJB 2/3, Spring, Hibernate, Struts,JSF, Axis, jBPM, .NET)
10 october 2008 Understanding MDA n. 26
Open ArchitectureWare
• Powerful engine allowing the definition ofgenerator/transformation workflows.– Check, OCL-like language, supporting declarative definition
of constraints– Xtend, functional model transformation language– Xpand2, powerful template language– Recipe Framework define validation rules for artefacts
created outside of the generator– Xtext Framework define a textual modelling language using
a simple BNF-like notation.
• Lack of pre-built MetaModels
10 october 2008 Understanding MDA n. 27
What really makes thedifference
…among the different products– availability of MetaModels to support
transformations– speed in updating support for upcoming
technologies, standards, approaches– extensibility of MetaModels
10 october 2008 Understanding MDA n. 28
Suggested deepenings
• http://www.omg.org/mda• http://mdaforum.soluta.net
• M. Guttman - Real life MDA
10 october 2008 Understanding MDA n. 29
Credits
• The presentation is based on materialproduced and with the copyright of TheVoyant Group(http://www.thevoyantgroup.com/)