1 / 31

MDA: A big step forward in the industrialization of software production.

MDA: A big step forward in the industrialization of software production. Wim Bast Chief Architect September 14 th , 2005. Agenda. The industrialization of software production The essence of MDA The standardization of MDA The weather forecast. The industrialization of software production.

ronnie
Download Presentation

MDA: A big step forward in the industrialization of software production.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MDA: A big step forward in the industrialization of software production. Wim Bast Chief Architect September 14th, 2005

  2. Agenda • The industrialization of software production • The essence of MDA • The standardization of MDA • The weather forecast

  3. The industrialization of software production

  4. Benefits of industrialization • Cost effective • Through a repeatable production process… • With a predictable outcome in terms of quality… • On time

  5. Relevance to Application Development • Application development is expensive • 44% of software projects run over budget (versus cost effective) • Application development is complex and risky • 30% of software projects are canceled (versus repeatable) • Application development seldom delivers according to expectations • 60% of software projects are not considered a success by the business (versus predictable) • Application development is always late • 90% of software projects are delivered late(versus on time)

  6. Software production is not exactly the same as the production of physical goods (e.g. cars). • Millions of cars are produced based on the same design of the same car model. • A production line for software has to produce many different releases of an application where the design is changed every time. • We can invest a lot of money in a production line for one specific car model. • A software factory must be able to produce applications in the midst of constant changing requirements and technology.

  7. The essence of MDA

  8. Software = Domain * IT • When we develop software we apply IT patterns to Domain aspects • Many different technologies and patterns are used to build one application • Each aspect of the domain is implemented in many technologies and patterns in one application

  9. What is a Pattern? • A pattern is a common solution to a common problem in a given context • Capture best practices, good designs and experience • Transfer knowledge, share experience • A pattern is a matter of discovery and experience, not invention • Abstraction of a specific solution • Using, improving and extending patterns • This makes us experts

  10. SalesOrder Customer Stock Product Supplier Customer Stock Product Supplier SalesOrdr Stock SalesOrder Customer Product Supplier Business Delegate PatternAn Example • Problem • Remote communication between clients and business service components is too complex • Solution • Use a Business Delegate to encapsulate access to a business service * Core J2EE Patterns, Best Practices and Design Strategies Alur, Crupi, Malks; ISBN 0-13-142246-4

  11. Small window of opportunity • The number of different technologies used to develop an application is growing • The number of domain aspects to be automated is growing • The number of changes to the domain and IT aspects is growing • The window of opportunity to deliver a successful application is getting smaller

  12. Platform Knowledge Domain Knowledge Classic Modeling and Development Domain X Technology Applications Classic Tools Designers & Developers Users

  13. Application Developers Platform Experts Technology Selection and Tuning Technology Solutions Domain Models Domain Experts MDA Goal Applications MDA Tools Users

  14. MDA Essentials • Separation between, and reusability of, domain and platform expertise • Embracement and appreciation of existing IT technologies • Quick adaptability of domain and technology changes • Generation of working high-quality applications and integrations

  15. Application models Applications 3 Different Abstraction Levels Domain Model Business Modelling language Technology rules Application Modelling Languages Coding rules Coding languages

  16. Standardizing MDA

  17. Java UML expressed in expressed in CRM Applic. CRM Model Formal Languages Lang. X expressed in Spec. A

  18. expressed in Meta Modeling MOF expressed in expressed in expressed in CWM UML Lang. X expressed in expressed in expressed in CRM data Model Spec. A CRM Model

  19. Meta Object Facility • XMI and JMI are standard mappings from MOF meta-models to XML Schema’s and Java interfaces used for tool interoperability • UML-profiles define only small extensions to the UML meta-model using stereo- types and tags • Since MDA has to support all aspects of all technologies (including non-OO), MOF is becoming more important to define a family of (modeling) languages

  20. Transformation Definition defined by Transformation Transformations Lang. Y Lang. X expressed in expressed in Spec. B Spec. A

  21. Transformation Example UML Classes to EJB trans. def. UML Java expressed in expressed in defined by CRM EJBs CRM model

  22. MOF 2.0 QVT transformation • A declarative pattern-based language for defining ‘relations’ between (modeling) languages. • Incremental execution, preserving changes & additions to the target model. • Transformations that are defined in multiple directions should be executable in multiple directions. • The language for defining the production machines in the software factory.

  23. MOF 2.0 Q/V/T expressed in Transformation Query/View/Transformations MOF expressed in Lang. Y Transformation Definition Lang. X expressed in expressed in defined by Spec. B Spec. A

  24. MOF Model2Text expressed in Transformation Model to Text Transform. MOF Textual Lang. Y Transformation Definition Lang. X expressed in expressed in defined by Spec. B Spec. A

  25. MOF UML Application models UML MOF Applications Applying OMG Modeling Standards Domain Model Business Modelling language QVT Technology rules Application Modelling Languages M2T Coding rules Coding languages

  26. Status • UML2.0 / MOF2.0 / XMI2.0: ready (FTF end-report approved) • OCL 2.0: FTF end-report submitted • MOF 2.0 Q/V/T: One final joint submission, FTF Charter is proposed (end-of FTF June 2006) • MOF Model To Text Transformation: First revised submissions ready • JIM (JMI for MOF 2.0, by OMG members) initiated

  27. The weather forecast

  28. MDA Acceptance • Broad investment in MDA (or MDA-like) tools by may important IT vendors. • Many software production companies have chosen to use of MDA as there development approach. • Software factories are build and used.

  29. elaborational modifiable transformations Abstraction level translational Percentage automated The elaborational MDA versus translational MDA ‘battle’

  30. Benefits of industrialization for the software • A cost effective way to produce an application…. • Through a repeatable production process… • With a predictable outcome in terms of quality… • On time!

More Related