model driven software development a reality check driven software... · model driven software...

32
Model Driven Software Development A reality check 2 nd RECOCAPE Event "Emerging Software Technologies: Trends & Challenges“ Nov. 14 th 2012 ITIDA, Smart Village, Giza, Egypt

Upload: others

Post on 02-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Model Driven Software

Development –

A reality check

2nd RECOCAPE Event "Emerging Software Technologies: Trends & Challenges“

Nov. 14th 2012

ITIDA, Smart Village, Giza, Egypt

Page 3: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

MDA Overview and Principles Application Case Studies & Quantifiable Benefits MDA tools Conclusion

Page 4: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

MDA Overview and Principles

Page 5: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Based firmly on OMG standards, MDA aims to separate business or application logic from underlying platform technology. UML forms the foundation of MDA and can be used for PIMs and PSMs.

OMG’s Model Driven architecture (MDA)

Page 6: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

The MDE process

• An MDE process defines different views of the same reality!

Each view may define a different transformation language

A concept mapping is required in each transition

Computation independent model

(CIM)

Platform independent model (PIM)

Platform specific model (PSM)

Code

CIM >> PIM Mapping

PIM >> PSM Mapping

PSM >> Code Mapping

Business analyst

Architect / Designer

Developer / Tester

Page 7: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Ways of exploiting models

• Transformations are the cornerstone of any model exploitation mecanism

• Transformations can capture information

related to repetitive processes

Model to Model Transformations (M2M)

Model to Text Transformations

(M2T)

Page 8: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Model to Model Transformations

• M2M Transformations are normally used for 3 different purposes in an MDE process: – Automating the refinement process of a model – Linking models together for interoperability

among tools – Mixing several models in one

Page 9: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Model to Text Transformations

• M2T transformations are usually the last stage of the MDE process… – Source Code – Documentation – Configuration Scripts

• …however, they do not finish the development process – Changes to generated code – Un-modelled elements

Page 10: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Technology Independence

Computation independent model

(CIM)

Platform independent model (PIM)

EJB 1.0 Design Model

Business analyst

Architect / Designer

Developer / Tester EJB 2.0

Design Model

.NET Design Model

• Applications are “Future-Proof” against changing technology

• When technology evolves, a new PSM can be generated rather than rewriting it

• Artefacts can be generated for multiple platforms from the same design

Page 11: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Application Case Studies & Quantifiable Benefits

Page 12: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Project Description – Re-Create the systems top to bottom with new

technologies. – Technologies: Java/J2EE & C++/CORBA. – Over 52 000 man/day project. – Multiple projects in parallel. – Very high specifications in term of security, integrity,

availability and performance.

The “CODAGEN” Project

Source: David Bertrand Director-Consulting, CGI Group

Page 13: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Project Objectives – Productivity: Development Cycle – Reusabiltiy: Architecture, Frameworks, Design Patterns,

Components, etc. – Integration: Approach and Tools Kit – Collaboration: Between all the interveners of the development

cycle – Multi-Projects: Approach and Tools Kit that support multiple

projects realization in parallel.

The “CODAGEN” Project

Source: David Bertrand Director-Consulting, CGI Group

Page 14: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Savings achieved (compared to non MDD process)

The “CODAGEN” Project

0% 36% 46% 28% No Data available

Source: David Bertrand Director-Consulting, CGI Group

Total average savings achieved: 26%

Page 15: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

– Concrete gains of productivity – Decrease time to market – Cost savings

– Major reduction of the development team – Few seniors (architects) define, implement and maintain the

architecture – UML Modellers define and maintain the business – Few junior developers code the specific (business rules and validation) – Don’t need anymore an army of senior or specialist developers

– Homogeneous & uniform architecture – Simple development process – Very well defined activities and roles – Very well defined artefacts and deliverables to produce

The “CODAGEN” Project

Source: David Bertrand Director-Consulting, CGI Group

Page 16: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Project Description - J2EE PetStore Application

- a simple web-based J2EE e-commerce system with the following functionality:

- User management and security. Users can sign into a system and manage their account.

- A Product catalogue. Users can browse a catalogue of pets on the web site (such as birds, fish or reptiles).

- Shopping cart functionality. Users can add pets to their shopping cart and manage their shopping cart.

- Order functionality. Users can place an order for the contents of their shopping carts.

- Web services. Users can query orders via a web service.

MDA Productivity Case Study

Source: The Middleware Company

Page 17: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Project Description – 2 development teams (1 traditional development lifecycle, 1 using MDD)

– 1 senior J2EE architect + 2 experienced J2EE programmers per team – each team uses the same HTML, images and database schema.

– objective is to measure productivity of J2EE coding, not database creation or image generation

– MDA team was required to use an MDA tool – Traditional team was required to use leading J2EE IDE – teams must use EJB in their code bases

– no further constraints on usage of J2EE patterns or tools

MDA Productivity Case Study

Source: The Middleware Company

Page 18: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Quantitative Results – development hours spent by each team:

– this corresponds to a 35% increase in productivity when using MDA

MDA Productivity Case Study

Source: The Middleware Company

Team Original Estimated Hours

Actual Number of Hours

Traditional team 499 507,5

MDA team 422 330

Page 19: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

EU IST project MODELWARE (from September 2006) – small-scale case studies performed by industrial partners:

– WM-Data (desktop business applications) – re-implementation of a subset of requirements by two

developers – effort was compared to baseline data. – productivity gain was on average 24% using MDE.

– France Telecom – measuring the effort needed to specify, implement and change

five different functional units – normalized by the weight of their complexity – compared to the data on effort spent in a non-MDD approach. – productivity gain of 20% during design – Productivity gain of 69% during coding

– productivity gain does not take into account the cost of the development of tool chain.

Modelware Case Studies

Source: FP7 IST Modelware

Page 20: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Coopservice (Facilities management) – Goals

– automating the transfer of delivery, scheduling, and activity report information to and from partners

– creating inter-business electronic community for the exchange of goods and services.

– Existing IT infrastructure – 45 unrelated applications – spread across 5 major lines of business – each LOB supporting approximately 40 primary use cases

– Different implementation technologies – IBM AS400 – Microsoft .Net – Java EJB.

– Project duration – 3 years

Coopservice Pant@ Project

Source: Michael Guttman, John Parodi – Real Life MDA

Page 21: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Quantitative Results – Team estimated that:

– analysis phase took 20% more time than typically required in the classical development process

– reduction of more than 80% in the time spent in platform-specific coding – because the MDA tool was already providing a great part of the required

PIM-to-PSM transformations. – the project would have taken 16,5 labour-years of traditional software

development – the project in fact required only 7,5 labour-years (once MDA processes

and tools were in place) – Result:

– total reduction of 53% and an estimated saving of 28% in elapsed time (team estimates they could achieve a further 40% reduction in elapsed time in future projects now that they are proficient in MDA techniques)

– estimated total savings in cost was approximately 510.000 € (over 3 years)

Coopservice Pant@ Project

Source: Michael Guttman, John Parodi – Real Life MDA

Page 22: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Other MDD benefits – Portability

– PIM can be transformed in multiple platform specific assets – Interoperability

– MDA makes it easy to integrate applications and facilities across middleware boundaries

– Reusability – CIM and PIM models or part of them can be readily reused in different

projects and increase the overall rate of reuse of assets and / or components

– Increased quality – Code generator enforcing coding standards. – Error prone technical aspects handled by automated or semi-

automated development tools – Task automation frees up capacity of Engineering and QA resources

Additional benefits of MDA

Page 24: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Commercial tools – Sparx Systems – Enterprise Architect – http://www.sparxsystems.com/ – supports advanced Model Driven Architecture (MDA)

transformations using easy to edit templates – built-in transformations for:

– C#, DDL, EJB, Java, Junit, Nunit, WSDL, XSD

– Finantix Studio – http://www.finantix.com – providing an integrated, model-driven, Eclipse-based

environment to configure, customise and integrate Finantix Components aimed at empowering the delivery organization of financial institutions

MDA Tools

Page 25: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Commercial Tools – Select Business Solutions – Select Solution for MDA – http://www.selectbs.com – transformation and UML modelling tool designed to

generate, reverse engineer and synchronize model viewpoints and code, based upon UML designs – Add-on to Select Solution Factory

– No Magic – Magic Draw – http://www.nomagic.com – award-winning business process, architecture, software and system

modelling tool with teamwork support – integrates with IO Software ArcStyler, AndroMDA,

openArchitectureWare, Codagen Architect, and others

MDA Tools

Page 26: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Commercial Tools – Modeliosoft – Modeliosoft Solution – http://www.modeliosoft.com – design applications and generate high quality

code from UML models. Modeliosoft Solutions support most popular development languages, including Java, C++, C# and SQL.

– enables the reverse engineering of existing applications to create UML models

– automatically manages model/code consistency, allowing developers to work in model-centric mode ("model driven") or code-centric mode using popular IDEs ("roundtrip")

– integrates directly with existing coding habits and environments, such as Eclipse or Visual Studio, allowing developers to continue using their favourite IDE to make changes to code

MDA Tools

Page 27: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Commercial Tools – IBM – Rational Software Architect – http://www.ibm.com – advanced and comprehensive application design,

modelling and development tool for end-to-end software delivery

– Built-in transformations – UML to XSD; XSD to UML – UML to Java, Java to UML – UML to JPA, JPA to UML – UML to C#, C# to UML – UML to VB.NET, VB.NET to UML – UML to CORBA

MDA Tools

Page 28: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Open Source Tools – AndroMDA – http://www.andromda.org – open source MDA framework – takes models (usually UML models stored in XMI

produced from case-tools) combined with AndroMDA plugins (cartridge and translation- libraries) and produces custom components

– allows to generate components for any language through the development of (or customization of existing) plugins

MDA Tools

Page 29: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

Open Source Tools – Papyrus – http://www.eclipse.org/modeling/mdt/papyrus/ – Eclipse-based integrated and

user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modelling languages such as SysML and MARTE

MDA Tools

Page 31: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

– A new way of developing software – Significant decrease of development effort and time to market – Substantial cost savings – Increased code-quality – Traceability through entire development life-cycle – Proven in many industrial application settings – Improves communication among different stakeholders in the

development process (everyone can speak the language he/she understands)

– Requires an adaptation and change of traditional practices – upfront learning curve – integration of new tools

Conclusions

Page 32: Model Driven Software Development A reality check Driven Software... · Model Driven Software Development – A reality check 2nd RECOCAPE Event "Emerging Software Technologies: Trends

أشكركم على حسن استماعكم