MDA – Model Driven Architecture Olivier Riboux Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study: Magnet Communications Inc. Questions What is Model Driven Architecture? MDA is defined and developed by the OMG since March 2001. Main ideas: – – – – – – Addresses the complete system development life cycle Separate specification from implementation Specify a system that is independent of a platform Transform a platform-independent (PIM) system specification into a specific platform (PSM) Code generation Applies directly to the mix : Programming language Operating system Network Middleware The Challenges MDA addresses Portability Cross-Platform Operability Platform Independence Domain Specific Productivity System Development Lifecycle Process Foundational Concepts of the MDA Developing in the MDA PIM – PSM – Platform Independent Model(PIM) represents business functionality and behavior without technology details Applies a standard mapping to create or generate a Platform Specific Model (PSM) from the PIM Code Model – Create or generate the code for PSM Platform Independent Model Platform Specific Model Code Model Platform Independence using MDA THE Difference with other software modeling tools Classic Approach: The developers must comprehend: -problem domain -Platform features MDA: Independence between the: -Application Developers -Platform Experts -Domain Experts MDA Specifications: MOF MDA is about expressing data and process precisely using formal languages. How do we keep up with evolving languages or new languages? How do we transform models from one language to another? Solution: Meta Object Facility Benefits – The CIO problem solver Achieve Greater Productivity in Creating Software Reduced Cost Reduced Development Time Increased ROI Improved Application Quality Rapid Inclusion of Emerging Technologies Increases stability and lifetime Reduces complexity References For more information on the subject: OMG’s MDA Website - www.omg.org/mda Great articles to get introduced to MDA - http://www.jaxmagazine.com/itr/online_artikel/psecom,id,548,nodeid,147.html Case Study: Magnet Communications Inc. - - Description: provider of secure, Web-based business banking solutions for financial institutions. Project: use of J2EE as its target technology to develop a new system for small-business cash management. Problems: quality of the code not optimal coding consisted of cut-and-paste operations in order to replicate the design pattern applied to the code Case Study: Magnet Communications Inc. - - - - Solution: hired Metanology Inc. as a supplier for UML code generation Created all the PIMs while developing small portion of the application (Loan Package) Defined a plug-in that converts CORBA IDL into a fully annotated UML models Applied the PIMs to these models to generate all of the infrastructure code Case Study: Magnet Communications Inc. Benefits: - the PIM and UML models generate over 90% of the total lines-of-code in applications where MDA is used - no errors are introduced from cut and paste replication of the patterns Questions?