1 Timothy D. Korson Model Driven Development: Hype or Reality.

Slides:



Advertisements
Similar presentations
User Driven Modelling and Systematic Interaction for End-User Programming Modelling for Engineering Processes Peter Hale UWE.
Advertisements

1 Title slide Future for Functional Test Automation? TM Forum – April 2006 Susan Windsor Insight Through Intelligence WMHL Consulting Limited, MD.
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Alternate Software Development Methodologies
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 3 – Building.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Course Instructor: Aisha Azeem
Distributed Systems: Client/Server Computing
Architecture Description Markup Language (ADML) What does it mean? Why should a tools vendor care?
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Enterprise Architecture
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Chapter : Software Process
Principles of Object Technology Module 1: Principles of Modeling.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 2 The process Process, Methods, and Tools
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
CSE 219 Computer Science III Program Design Principles.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Timothy D. Korson Model Driven Development: A New Symbiotic Relationship Between Developers and Testers.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Aspect Oriented Security Tim Hollebeek, Ph.D.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Basic Concepts Key Learning Points : The objectives of this chapter are as follows:  To provide an introduction to the basic Concepts of enterprise architectures,
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
A service Oriented Architecture & Web Service Technology.
CTMS Coordination Team CTMS Coordination Team: Model and Documentation Management John Koisch Paul Boyes
Advanced Software Engineering Dr. Cheng
J2EE Platform Overview (Application Architecture)
CIM Modeling for E&U - (Short Version)
The Development Process of Web Applications
Software Design and Architecture
Inventory of Distributed Computing Concepts and Web services
Evaluating Compuware OptimalJ as an MDA tool
Constructing MDA-based Application Using Rational XDE for .NET
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Model Driven Software Development
Presentation transcript:

1 Timothy D. Korson Model Driven Development: Hype or Reality

Copyright © 2005 Korson-Consulting 2 of 44 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 Copyright © 2006 Korson-Consulting. All rights reserved.

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

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

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

Copyright © 2005 Korson-Consulting 6 of 44 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

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

Copyright © 2005 Korson-Consulting 8 of 44 MDA Benefits According 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

Copyright © 2005 Korson-Consulting 9 of 44 Scope Makes MDA Unique

Copyright © 2005 Korson-Consulting 10 of 44 MDA Goals MDA 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.

11 MDA Basic Technical Concepts

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

Copyright © 2005 Korson-Consulting 13 of 44 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

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

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

Copyright © 2005 Korson-Consulting 16 of 44 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

Copyright © 2005 Korson-Consulting 17 of 44 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.

Copyright © 2005 Korson-Consulting 18 of 44 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.

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

20 MDA Implications

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

Copyright © 2005 Korson-Consulting 22 of 44 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

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

Copyright © 2005 Korson-Consulting 24 of 44 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

Copyright © 2005 Korson-Consulting 25 of 44 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

Copyright © 2005 Korson-Consulting 26 of 44 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

Copyright © 2005 Korson-Consulting 27 of 44 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

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

Copyright © 2005 Korson-Consulting 29 of 44 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 skills required of testers and the test process itself.

Copyright © 2005 Korson-Consulting 30 of 44 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

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

32 MDA Hype versus Reality

Copyright © 2005 Korson-Consulting 33 of 44 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

Copyright © 2005 Korson-Consulting 34 of 44 Current Tools

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

Copyright © 2005 Korson-Consulting 36 of 44 Just the Messy Error Prone Code Generated 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 Transformation Tool Transformation Tool

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

Copyright © 2005 Korson-Consulting 38 of 44 Controlled Study

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

40 MDA Final thought

Copyright © 2005 Korson-Consulting 41 of 44 Impact on Outsourcing?

Copyright © 2005 Korson-Consulting 42 of 44 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 th March, New Connaught Rooms, London

Copyright © 2005 Korson-Consulting 43 of 44 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.

Copyright © 2005 Korson-Consulting 44 of 44 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.

Copyright © 2005 Korson-Consulting 45 of 44 Thank you for attending Please feel free to contact me with any follow up questions or comments Timothy Korson

Copyright © 2005 Korson-Consulting 46 of 44