![Page 2: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/2.jpg)
2 of 44
Copyright © 2005 Korson-Consulting
Restricted UseThis 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 [email protected]
Copyright © 2006 Korson-Consulting. All rights reserved.
![Page 3: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/3.jpg)
3 of 44
Copyright © 2005 Korson-Consulting
MDA Premise
Generate systems from models
![Page 4: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/4.jpg)
4 of 44
Copyright © 2005 Korson-Consulting
Blueprints to Buildings
It is like having a team of Robots that could automatically construct a building from a detailed set of blueprints
![Page 5: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/5.jpg)
5 of 44
Copyright © 2005 Korson-Consulting
Natural Progression
00110111000011100 Assembler FORTRAN Ada Middleware Components … MDA
![Page 6: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/6.jpg)
6 of 44
Copyright © 2005 Korson-Consulting
State of Software Development Lots of advances, but
programmers still spend and inordinate amount of time Distribution mechanisms GUI layout Database structure and access
mechanisms
Details that logically could be automated
![Page 7: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/7.jpg)
7 of 44
Copyright © 2005 Korson-Consulting
Corporate Architecture
multiple industry standards-CORBA, EJB/J2EE, .NET, XML/SOAP, These become “MDA compiler
options” instead of “Bet the Company” decisions
![Page 8: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/8.jpg)
8 of 44
Copyright © 2005 Korson-Consulting
MDA BenefitsAccording to the OMG:
“the benefits of MDA are significant - to business leaders and developers alike:
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.”
Better
Faster
Cheaper
![Page 9: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/9.jpg)
9 of 44
Copyright © 2005 Korson-Consulting
Scope Makes MDA Unique
![Page 10: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/10.jpg)
10 of 44
Copyright © 2005 Korson-Consulting
MDA GoalsMDA addresses the challenges of today's highly networked, constantly changing systems environment, providing an architecture that assures:
Portability, increasing application re-use and reducing the cost and complexity of application development and management, now and into the future.
Cross-platform Interoperability, using rigorous methods to guarantee that standards based on multiple implementation technologies all implement identical business functions.
Platform Independence, greatly reducing the time, cost and complexity associated with re-targeting applications for different platforms-including those yet to be introduced.
Domain Specificity, through Domain-specific models that enable rapid implementation of new, industry-specific applications over diverse platforms.
Productivity, by allowing developers, designers and system administrators to use languages and concepts they are comfortable with, while allowing seamless communication and integration across the teams.
![Page 11: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/11.jpg)
11
MDABasic Technical Concepts
![Page 12: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/12.jpg)
12 of 44
Copyright © 2005 Korson-Consulting
Traditional Software Development Requirements
Mostly text Analysis
Diagrams and text Design
Diagrams and text Coding
code Deployment
executables
![Page 13: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/13.jpg)
13 of 44
Copyright © 2005 Korson-Consulting
Problems
Portability/new technologies Rapid pace of change
Interoperability Maintenance and documentation
Lack of documentation Any documentation one does have
is out of date
Too much overhead
![Page 14: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/14.jpg)
14 of 44
Copyright © 2005 Korson-Consulting
MDA Process
Business Analysis Use Cases Computation
Independent ModelSystems Definition
Platform Independent Model
Design Transformation Platform
Specific ModelCode Transformation
codeDeployment
executables
TransformationTool
TransformationTool
Business Analysis
Systems Definition
![Page 15: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/15.jpg)
15 of 44
Copyright © 2005 Korson-Consulting
Traditional Roles mapped to MDA
![Page 16: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/16.jpg)
16 of 44
Copyright © 2005 Korson-Consulting
MDA Benefits Productivity
Automated transformation tools Portability
Multiple PSMs for a given PIM Interoperability
PSM bridges Maintenance and Documentation
Maintenance is done directly on the models so the Models cannot get out of sync with the code.
The models are no longer overhead
![Page 17: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/17.jpg)
17 of 44
Copyright © 2005 Korson-Consulting
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.
![Page 18: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/18.jpg)
18 of 44
Copyright © 2005 Korson-Consulting
MDA Framework 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. MDA is more like an umbrella over a
growing family of standards that now includes the UML V2.0, the Meta Object Facility (MOF), the Common Warehousing Model, and the Software Process Engineering Metamodel (SPEM), among others.
![Page 19: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/19.jpg)
19 of 44
Copyright © 2005 Korson-Consulting
MDD
Model Driven Development is a more generic term that includes approaches that do not adhere to the MDA standards
![Page 20: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/20.jpg)
20
MDAImplications
![Page 21: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/21.jpg)
21 of 44
Copyright © 2005 Korson-Consulting
Thoughtful Cost Benefit Analysis Required What process is used for building
A dog house A garage A house A business park A skyscraper
![Page 22: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/22.jpg)
22 of 44
Copyright © 2005 Korson-Consulting
Just build it 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
![Page 23: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/23.jpg)
23 of 44
Copyright © 2005 Korson-Consulting
On the Other Hand
For complex applications which have to have detailed blueprints anyway
The value of MDA can be substantial
![Page 24: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/24.jpg)
24 of 44
Copyright © 2005 Korson-Consulting
Not Your Father’s UML
Most UML modeling tools generate code One UML class – one Java class
MDA tools are model-driven, pattern-based One UML class – many code
artifacts
MDA tools intelligently generate infrastructure from models
![Page 25: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/25.jpg)
25 of 44
Copyright © 2005 Korson-Consulting
From a Customer Class in UML A good MDA tool can generate:
The appropriate Data definition language to create, delete, and init the RDBMS table.
A Data Access Object or Enterprise JavaBeans data access layer
A SessionFacade to access the bean A ServiceLocator 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
![Page 26: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/26.jpg)
26 of 44
Copyright © 2005 Korson-Consulting
Focus
Changes from Coding to Modeling Business analysts will not need IT
skills in order to stay involved in systems development from beginning to end
Geeks will focus on building the MDA transformation tools
Business applications will be build by analysts and architects skilled in modeling
![Page 27: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/27.jpg)
27 of 44
Copyright © 2005 Korson-Consulting
Agile MDA
Incremental techniques work well with MDA
Most XP practices such as “pair programming” extend naturally to MDA
The PIM replaces what “code” is to agile development teams
![Page 28: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/28.jpg)
28 of 44
Copyright © 2005 Korson-Consulting
Increased importance
Inspections CIM PIM
![Page 29: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/29.jpg)
29 of 44
Copyright © 2005 Korson-Consulting
Testing
Test cases can be generated from the same models that generate the code
A completely automated test suite is a software system So use MDA
UML testing profile(U2TP)
This will have a major impact on the skillsrequired of testers and thetest process itself.
![Page 30: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/30.jpg)
30 of 44
Copyright © 2005 Korson-Consulting
Generated Code Should be Bug Free Focus can be on testing business
logic rather than the middleware and other system code and interactions.
We assume the C compiler doesn’t introduce translation bugs into the assembly code Community at large
finds these errors
![Page 31: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/31.jpg)
31 of 44
Copyright © 2005 Korson-Consulting
MDA for Prototyping
RepeatModelGenerate prototype using MDAEvaluate prototype
Until stakeholders are happy with prototype
Build system using traditional techniques
![Page 32: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/32.jpg)
32
MDAHype versus Reality
![Page 33: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/33.jpg)
33 of 44
Copyright © 2005 Korson-Consulting
MDA Compliant
Vendors make MDA claims whenever their tool implements one of the many standards in the MDA family of standards
This is misleading An MDA environment should be
able to turn a PIM into a running system
![Page 34: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/34.jpg)
34 of 44
Copyright © 2005 Korson-Consulting
Current Tools
![Page 35: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/35.jpg)
35 of 44
Copyright © 2005 Korson-Consulting
Current Tools Don’t Generate All the Code
![Page 36: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/36.jpg)
36 of 44
Copyright © 2005 Korson-Consulting
Just the Messy Error Prone CodeGenerated
Middleware Business objects Data Base stuff Objects and method stubs Default GUI
Typically Not Generated Customization to the GUI Method Bodies for the
Business algorithms
TransformationTool
TransformationTool
![Page 37: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/37.jpg)
37 of 44
Copyright © 2005 Korson-Consulting
Two step Process
TransformationTool
TransformationTool
Most of the development
Certain architectural configurationand GUI customization
Custom business logic
![Page 38: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/38.jpg)
38 of 44
Copyright © 2005 Korson-Consulting
Controlled Study
![Page 39: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/39.jpg)
39 of 44
Copyright © 2005 Korson-Consulting
Case Study Conclusions
35% gain in development productivity
Up to 70% gains in maintenance productivity
![Page 40: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/40.jpg)
40
MDAFinal thought
![Page 41: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/41.jpg)
41 of 44
Copyright © 2005 Korson-Consulting
Impact on Outsourcing?
![Page 42: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/42.jpg)
42 of 44
Copyright © 2005 Korson-Consulting
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.
9 - 10th March, New Connaught Rooms, London
![Page 43: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/43.jpg)
43 of 44
Copyright © 2005 Korson-Consulting
Crystal Ball MDA is not the only game in town.
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 multi-use 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. 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:
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.
![Page 44: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/44.jpg)
44 of 44
Copyright © 2005 Korson-Consulting
Conclusions 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.
![Page 45: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/45.jpg)
45 of 44
Copyright © 2005 Korson-Consulting
Thank you for attending
Please feel free to contact me with any follow up questions or comments
Timothy [email protected]
![Page 46: 1 Timothy D. Korson korson@southern.edu Model Driven Development: Hype or Reality](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649e805503460f94b843da/html5/thumbnails/46.jpg)
46 of 44
Copyright © 2005 Korson-Consulting