Model Driven Development Hype or Reality Timothy D

  • Slides: 46
Download presentation
Model Driven Development: Hype or Reality Timothy D. Korson korson@southern. edu 1

Model Driven Development: Hype or Reality Timothy D. Korson korson@southern. edu 1

Restricted Use This copyrighted material is provided to attendees of Korson-Consulting courses under a

Restricted Use This copyrighted material is provided to attendees of Korson-Consulting courses under a restricted licensing agreement exclusively for the personal use of the attendees. Korson-Consulting retains ownership rights to the material contained in these course notes. Please respect these rights. Any presentation or reuse of any part of this material in any form must be approved in writing by tim@korson-consulting. com Copyright © 2006 Korson-Consulting. All rights reserved. 2 Copyright © 2005 Korson-Consulting

MDA Premise n Generate systems from models 3 Copyright © 2005 Korson-Consulting

MDA Premise n Generate systems from models 3 Copyright © 2005 Korson-Consulting

Blueprints to Buildings n It is like having a team of Robots that could

Blueprints to Buildings n It is like having a team of Robots that could automatically construct a building from a detailed set of blueprints 4 Copyright © 2005 Korson-Consulting

Natural Progression 00110111000011100 n Assembler n FORTRAN n Ada n Middleware n Components n…

Natural Progression 00110111000011100 n Assembler n FORTRAN n Ada n Middleware n Components n… n MDA n 5 Copyright © 2005 Korson-Consulting

State of Software Development n Lots of advances, but programmers still spend and inordinate

State of Software Development n Lots of advances, but programmers still spend and inordinate amount of time Distribution mechanisms n GUI layout n Database structure and access mechanisms n Details that logically could be automated 6 Copyright © 2005 Korson-Consulting

Corporate Architecture n multiple industry standards-CORBA, EJB/J 2 EE, . NET, XML/SOAP, n These

Corporate Architecture n multiple industry standards-CORBA, EJB/J 2 EE, . NET, XML/SOAP, n These become “MDA compiler options” instead of “Bet the Company” decisions 7 Copyright © 2005 Korson-Consulting

MDA Benefits According to the OMG: Better “the benefits of MDA are significant -

MDA Benefits According to the OMG: Better “the benefits of MDA are significant - to business leaders and developers alike: Faster Cheaper n n n Reduced cost throughout the application life-cycle Reduced development time for new applications Improved application quality Increased return on technology investments Rapid inclusion of emerging technology benefits into their existing systems MDA provides a solid framework that frees system infrastructures to evolve in response to a never-ending parade of platforms, while preserving and leveraging existing technology investments. It enables system integration strategies that are better, faster and cheaper. ” 8 Copyright © 2005 Korson-Consulting

Scope Makes MDA Unique 9 Copyright © 2005 Korson-Consulting

Scope Makes MDA Unique 9 Copyright © 2005 Korson-Consulting

MDA Goals MDA addresses the challenges of today's highly networked, constantly changing systems environment,

MDA Goals MDA addresses the challenges of today's highly networked, constantly changing systems environment, providing an architecture that assures: n Portability, increasing application re-use and reducing the cost and n Cross-platform Interoperability, using rigorous methods to n Platform Independence, greatly reducing the time, cost and n Domain Specificity, through Domain-specific models that enable n Productivity, by allowing developers, designers and system complexity of application development and management, now and into the future. guarantee that standards based on multiple implementation technologies all implement identical business functions. complexity associated with re-targeting applications for different platformsincluding those yet to be introduced. rapid implementation of new, industry-specific applications over diverse platforms. administrators to use languages and concepts they are comfortable with, while allowing seamless communication and integration across the teams. 10 Copyright © 2005 Korson-Consulting

MDA Basic Technical Concepts 11

MDA Basic Technical Concepts 11

Traditional Software Development n Requirements n n Analysis n n Diagrams and text Coding

Traditional Software Development n Requirements n n Analysis n n Diagrams and text Coding n n Diagrams and text Design n n Mostly text code Deployment n executables 12 Copyright © 2005 Korson-Consulting

Problems n Portability/new technologies n Rapid pace of change Interoperability n Maintenance and documentation

Problems n Portability/new technologies n Rapid pace of change Interoperability n Maintenance and documentation n Lack of documentation n Any documentation one does have is n out of date n Too much overhead 13 Copyright © 2005 Korson-Consulting

MDA Process Business Analysis Transformation Tool Systems Definition Transformation Tool Business Analysis n n

MDA Process Business Analysis Transformation Tool Systems Definition Transformation Tool Business Analysis n n Use Cases Computation Independent Model Systems Definition n Platform Independent Model Design Transformation n Platform Specific Model Code Transformation n code Deployment n executables 14 Copyright © 2005 Korson-Consulting

Traditional Roles mapped to MDA 15 Copyright © 2005 Korson-Consulting

Traditional Roles mapped to MDA 15 Copyright © 2005 Korson-Consulting

MDA Benefits n Productivity n n Portability n n Multiple PSMs for a given

MDA Benefits n Productivity n n Portability n n Multiple PSMs for a given PIM Interoperability n n Automated transformation tools PSM bridges Maintenance and Documentation Maintenance is done directly on the models so the Models cannot get out of sync with the code. n The models are no longer overhead 16 n Copyright © 2005 Korson-Consulting

MDA Advantages 1. The business logic for PIMs can be developed, and validated, by

MDA Advantages 1. The business logic for PIMs can be developed, and validated, by business analysts with little or no technical background. Some MDA tools even let you “run” a PIM on a virtual machine to test it. 2. There is full traceability from PIM through PSM and the ultimate deployed software. This provides a great deal of quality assurance. 3. Subsequent changes in either the business model or the technology platform can be gracefully accommodated. Changes in the technology don’t require changes to the PIM. Changes to the PIM can be traced to determine their likely impact on the PSM and ultimate deployed implementation. 17 Copyright © 2005 Korson-Consulting

MDA Framework n n MDA already has been applied to all kinds of business

MDA Framework n n MDA already has been applied to all kinds of business problems and integrated with a wide array of other common computing technologies. Because of its broad applicability, MDA itself is not packaged as a single standard like UML. n MDA is more like an umbrella over a growing family of standards that now includes the UML V 2. 0, the Meta Object Facility (MOF), the Common Warehousing Model, and the Software Process Engineering Metamodel (SPEM), among others. 18 Copyright © 2005 Korson-Consulting

MDD n Model Driven Development is a more generic term that includes approaches that

MDD n Model Driven Development is a more generic term that includes approaches that do not adhere to the MDA standards 19 Copyright © 2005 Korson-Consulting

MDA Implications 20

MDA Implications 20

Thoughtful Cost Benefit Analysis Required n What process is used for building A n

Thoughtful Cost Benefit Analysis Required n What process is used for building A n dog house garage house business park skyscraper 21 Copyright © 2005 Korson-Consulting

Just build it n It might cost more to create a detailed blueprint for

Just build it n It might cost more to create a detailed blueprint for a dog house than carpenter would charge for labor and materials for the entire construction 22 Copyright © 2005 Korson-Consulting

On the Other Hand n For complex applications which have to have detailed blueprints

On the Other Hand n For complex applications which have to have detailed blueprints anyway The value of MDA can be substantial 23 Copyright © 2005 Korson-Consulting

Not Your Father’s UML n Most UML modeling tools generate code n n One

Not Your Father’s UML n Most UML modeling tools generate code n n One UML class – one Java class MDA tools are model-driven, patternbased n One UML class – many code artifacts MDA tools intelligently generate infrastructure from models 24 Copyright © 2005 Korson-Consulting

From a Customer Class in UML n A good MDA tool can generate: n

From a Customer Class in UML n A good MDA tool can generate: n n n n The appropriate Data definition language to create, delete, and init the RDBMS table. A Data Access Object or Enterprise Java. Beans data access layer A Session. Facade to access the bean A Service. Locator to find the bean A set of Data Transfer Objects to pass to the web tier A Struts-based framework to perform CRUD operations on a "Customer" All the security, logging, exception and other hooks that one would expect to use 25 Copyright © 2005 Korson-Consulting

Focus n Changes from Coding to Modeling Business analysts will not need IT skills

Focus n Changes from Coding to Modeling Business analysts will not need IT skills in order to stay involved in systems development from beginning to end n Geeks will focus on building the MDA transformation tools n Business applications will be build by analysts and architects skilled in modeling n 26 Copyright © 2005 Korson-Consulting

Agile MDA Incremental techniques work well with MDA n Most XP practices such as

Agile MDA Incremental techniques work well with MDA n Most XP practices such as “pair programming” extend naturally to MDA n The PIM replaces what “code” is to agile development teams n 27 Copyright © 2005 Korson-Consulting

Increased importance n Inspections CIM n PIM n 28 Copyright © 2005 Korson-Consulting

Increased importance n Inspections CIM n PIM n 28 Copyright © 2005 Korson-Consulting

Testing Test cases can be generated from the same models that generate the code

Testing Test cases can be generated from the same models that generate the code n A completely automated test suite is a software system n n n So use MDA UML testing profile (U 2 TP) This will have a major impact on the skills required of testers and the test process itself. 29 Copyright © 2005 Korson-Consulting

Generated Code Should be Bug Free Focus can be on testing business logic rather

Generated Code Should be Bug Free Focus can be on testing business logic rather than the middleware and other system code and interactions. n We assume the C compiler doesn’t introduce translation bugs into the assembly code n n Community at large finds these errors 30 Copyright © 2005 Korson-Consulting

MDA for Prototyping Repeat Model Generate prototype using MDA Evaluate prototype Until stakeholders are

MDA for Prototyping Repeat Model Generate prototype using MDA Evaluate prototype Until stakeholders are happy with prototype Build system using traditional techniques 31 Copyright © 2005 Korson-Consulting

MDA Hype versus Reality 32

MDA Hype versus Reality 32

MDA Compliant Vendors make MDA claims whenever their tool implements one of the many

MDA Compliant Vendors make MDA claims whenever their tool implements one of the many standards in the MDA family of standards n This is misleading n An MDA environment should be able to turn a PIM into a running system n 33 Copyright © 2005 Korson-Consulting

Current Tools 34 Copyright © 2005 Korson-Consulting

Current Tools 34 Copyright © 2005 Korson-Consulting

Current Tools Don’t Generate All the Code 35 Copyright © 2005 Korson-Consulting

Current Tools Don’t Generate All the Code 35 Copyright © 2005 Korson-Consulting

Just the Messy Error Prone Code Generated Middleware n Business objects n Data Base

Just the Messy Error Prone Code Generated Middleware n Business objects n Data Base stuff n Objects and method stubs n Default GUI n Typically Not Generated Customization to the GUI n Method Bodies for the Business algorithms n Copyright © 2005 Korson-Consulting Transformation Tool 36

Two step Process Most of the development Transformation Tool Certain architectural configuration and GUI

Two step Process Most of the development Transformation Tool Certain architectural configuration and GUI customization Transformation Tool Custom business logic 37 Copyright © 2005 Korson-Consulting

Controlled Study 38 Copyright © 2005 Korson-Consulting

Controlled Study 38 Copyright © 2005 Korson-Consulting

Case Study Conclusions 35% gain in development productivity n Up to 70% gains in

Case Study Conclusions 35% gain in development productivity n Up to 70% gains in maintenance productivity n 39 Copyright © 2005 Korson-Consulting

MDA Final thought 40

MDA Final thought 40

Impact on Outsourcing? 41 Copyright © 2005 Korson-Consulting

Impact on Outsourcing? 41 Copyright © 2005 Korson-Consulting

9 - 10 th March, New Connaught Rooms, London MDA - An Alternative to

9 - 10 th March, New Connaught Rooms, London MDA - An Alternative to Offshore Outsourcing? Roger Lane, Managing Director, Interactive Objects Software The off-shore outsourcing trend is gathering momentum. Business and IT management see off-shore as a way of making their hard pressed IT budgets go further. Organizations who have successfully used outsourcing say it is not only about cost, but about better quality. In truth, a high proportion of off-shore projects fail to meet expectations on cost or quality and an alarming number fail. MDA has the potential to offer significant productivity and quality gains. Could it be that MDA is a viable alternative to sending development off-shore ? This presentation examines how MDA stacks up against the off-shore model and the potential additional advantages it can bring to organizations and their staff. 42 Copyright © 2005 Korson-Consulting

Crystal Ball n MDA is not the only game in town. n n Neither

Crystal Ball n MDA is not the only game in town. n n Neither the problems that plague the software industry, nor the principles of good software engineering are secrets known only to the MDA elite. All the tool vendors out there are searching to find solutions that will win in the marketplace. At the same time that MDA environments are starting to mature, IDEs are becoming more and more powerful and multiuse components more widespread. My personal opinion is that both the IDE style programming approach and the MDA style modeling approach will exist side by side during the next decade. n n MDA will not take over the application development space, but it will play an important role there. Two of the biggest risks to the future of MDA are: n n Will the development community be patient with MDA while the MDA tools mature, and Will the OMG find the “right” way to specify business logic at the PIM level in a timely manner. 43 Copyright © 2005 Korson-Consulting

Conclusions n n n MDA is a natural step in raising the level of

Conclusions n n n MDA is a natural step in raising the level of abstraction at which we develop systems. MDA embodies the basic engineering concept of separation of concerns. It is clear both intuitively and anecdotally that MDA can lead to important gains in productivity, portability, and the ability to focus on business functionality as opposed to technology details. Most importantly, MDA is not a proprietary vendor initiative, but is a technology enabled by a family of standards developed by the OMG consortia of computing users and vendors. The implications to testers of a move to MDA style development are especially significant. 44 Copyright © 2005 Korson-Consulting

Thank you for attending n Please feel free to contact me with any follow

Thank you for attending n Please feel free to contact me with any follow up questions or comments Timothy Korson tim@korson-consulting. com 45 Copyright © 2005 Korson-Consulting

46 Copyright © 2005 Korson-Consulting

46 Copyright © 2005 Korson-Consulting