Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome...

33
Andrew Watson OMG Technical Director Modelling for Maintainability

Transcript of Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome...

Page 1: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Andrew WatsonOMG Technical Director

Modelling for Maintainability

Page 2: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

2

• A successful forum for creating open integration standards in the computer industry- Platforms: BPMN, SBVR, UML, CORBA & related work- Domain: Finance, C4I, Healthcare, etc.

• An industrial consortium with vendor and user members- Implementation must be available from OMG member

• Interfaces freely available to all- Visit http://www.omg.org

• Decisions taken by members

Introducing OMG

Page 3: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

AdaptiveAdelard LLPAgile BirdsAmadeusAppianAtegoAxwayBAE SystemsBoeingBrunel U.CACamundaCiti

CordysCSCDeere & Co.DeloitteEADSEclipse Fndn.EFFEPFLFujitsuG. DynamicsGen. ElectricGnome Fndn.HDMA

HPHitachiHondaIBMINRIAJARALockheedMayo ClinicMEGAMentor GʼicsMicrosoftMITRENARA

NASANECNISTNokiaNorthropNTT DataObjektumOpen GroupOraclePhastPrismTechRaytheonRolls-Royce

RTISaab Sys.SAPSofteamSoftware AGSparxSWIFTThalesToshibaU. FrankfurtUnisysW3C(250+ more)

3

Worldwide Membership

Page 4: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

4

© Photo copyright Bristol Aeroplane Company/Rolls-Royce

Page 5: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Mechanical design• For 180 years (1800 to c.1980) all mechanical design

documented by draftsmen creating three-view drawings- With ruler, square, protractor, pencils, compass, “french

curve”- ... and eraser- Precise scale drawings; slow, laborious, error-prone- Design revisions involve reworking multiple drawings

• Drawings translated into parts by machinists and fitters- Milling, drilling & turning parts from blanks and castings- Design errors possibly not found until manufacture- Translation errors during fabrication also possible

5

Page 6: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

6

Page 7: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

7

Page 8: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

8

© Photo copyright Bristol Aeroplane Company/Rolls-Royce, Source: http://www.transportarchive.org.uk/ G1693

Page 9: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

9

© Photo copyright Rolls-Royce, Source: http://www.transportarchive.org.uk/ E123177-9

Page 10: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Computer Assistance• Early Computer-Aided Design (CAD) programs helped with

the production & storage of 2-D drawings

• 1968: Donald Welbourn of Cambridge University Engineering Dept. sees that computers could store 3-D design models- Can be still be rendered as familiar 2-D 3-view drawing ...- ... but can also generate “program” for CNC machine tools- Real parts automatically created directly from solid models- Computer can also check weight, behaviour of part when

loaded or heated, simulate assemblies (“soft prototyping”)

• Computer-Aided Milling (later Manufacturing) was born

10

Page 11: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

CAD/CAM• CUED began experimenting with numerically-controlled

machine tools bought with government grant- But funding a continuing problem

• First public CAM demonstration August 1972, London- Hayes milling machine at Machine Tool Exhibition cut a

“jug- shaped object” directly from a DUCT CAD/CAM design

• Today, CAD/CAM has revolutionised engineering design- One-off, short-run & machined fabrication faster, cheaper,

less error-prone than 20 years ago

11

Page 12: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

12

Page 13: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

13

Page 14: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

14

Page 15: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Additive Manufacturing

See: http://kck.st/swSkWN

15

© Photos copyright Brook Drumm Source: http://kck.st/swSkWN

Page 16: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

MDA: Computer-Aided Manufacturing for IT• Most IT shops in similar state to 1980s mechanical engineers

- We now have an agreed diagram syntax for software (UML)- 80% of software designs documented with UML diagrams

representing different views of the required system- UML tools convenient for drawing & erasing diagram lines ..- ... but many programmers turn diagrams into code by hand

• MDA/MDD/MDSE tools store equivalent of CAM solid model- Design can be viewed as UML diagrams ...- ... but tools check correctness & internal consistency ...- ... and fabricate (parts of) the actual system from the model

16

Page 17: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2009, Object Management Group. All rights reserved. 28 Sept 2012

17

Page 18: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Evaluating MDA/MDD (1)• Comparative study of productivity & satisfaction of junior

developers producing Web 2.0 social network applications- Martínez, Cachero & Meliá, Universidad Máximo Gómez

Báez (Cuba) & Universidad de Alicante (Spain)

• 26 MSc students (75% with >2 yrs web experience) split into 6 teams to compare 3 development methods

18

Code Centric(VS 2010)

Model-Based(RSM)

Model-Driven(OOH4RIA)

Model

Implement

Test

Sketch or absent Blueprint Full model

Manual coding Semi-automatic Automatic

Manual Manual Semi-automatic

Page 19: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Evaluating MDA/MDD (2)• Independent Variables:

- Method – Each group used CC, MBD & MDD for something- Module – Each group implemented similar subsystems

• Dependent Measurable Variables:- Productivity of a team with a method & module (SLOC/hr)- Satisfaction of developers for 11 items, each on 7-point

Likert scale; based on post-experiment questionnaire

• Observed Productivity & Satisfaction both largely independent of module being coded, highly dependent on method being used

19

Page 20: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Productivity Means:- P(MDD) = 4.6- P(MBD) = 2.3- P(CC) = 0.23

• MDD 2x more productive than MDB, 20x more productive than CC

• Productivity significantly affected by method used, independent of module being developed

Impact of method on Productivity

20

Page 21: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Satisfaction Means:- P(MDD) = 4.76- P(MBD) = 3.48- P(CC) = 4.17

• MDD 35% more satisfying than MDB, 14% more satisfying than CC

• Satisfaction significantly affected by method used, independent of module being developed

Impact of method on Satisfaction

21

Page 22: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

But ...• The price of software is tiny relative to Total Cost of

Ownership- It has little impact to the outcome of IT investment

decisions

• The price of software is historically less than 10% of TCO- Regardless of Build or Buy

• Up to 70% of TCO is post-implementation- Training, Maintenance, Enhancements, Administration- These costs are largely determined by system quality

• Optimising on the development cost yields a one time benefit - Much better to optimise the post-implementation costs

22

Page 23: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Software “maintenance”• In hardware engineering, “maintenance” means keeping

something in its original state- e.g. Keeping Concorde flying supersonic daily for 20+ years

• But ISO/IEC 14764 says “software maintenance” means:- Fixing design flaws (Corrective & Preventive maintenance)- Modification for new uses (Adaptive maintenance)- Improving performance (Perfective maintenance)

• Arguably, “maintenance” is the wrong word for any of this- Software “maintenance” is actually post-deployment design

23

Page 24: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Software “maintenance” very costly• More than 50% of staff time spent on maintenance

Leintz & Swanson 1980 survey of 487 organisations

• Other maintenance & evolution cost estimates even higher

> 90% Erlikh, 2000

75% Eastwood, 1993

> 90% Moad, 1990

60 – 70% Huff, 1990

76% Jones, 2005

24

Page 25: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

New software development techniques that donʼt reduce “maintenance” costs are, at

best, irrelevant to software costs

At worst, theyʼre part of the problem

Cutting development costs in half reduces TCO by ... 5%

Cutting development costs by 20% but increasing “maintenance” costs by 5% actually increases TCO

25

Page 26: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

More “maintenance” data• About 250bn lines of source code under “maintenance”

Sommerville, 2000

• US annual software “maintenance” cost > $70bnSutherland 1995, Edelstein 1993

• “Maintainers” spend half their time understanding the codeStandish, 1984

• Volume of code being “maintained” doubles every 7 yearsMüller et al, 1994

26

Page 27: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Technology churn• New delivery technologies arrive every 5-10 years

- Often an improvement (e.g. Java vs. C++)

• But critical IT systems live 25+ years- Worldwide, CICS transaction rate ~= WWW page hit rate- In 2008 Credit Suisse had > 32 MLOC of PL/I in use (vs. 11

MLOC Java)- Ovum estimates > 200,000 MLOC of COBOL in use (2005)

• We can no longer afford to pretend that todayʼs delivery platform is the last one thereʼll ever be- We must stop investing all our intellectual capital in code- That investment too difficult to withdraw when itʼs time to

change platforms27

Page 28: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

How to cope?• Rising costs of “maintenance” of a huge, growing software

legacy means we cannot carry on as we have in the past- Cost of keeping old code in service rises to meet budget

• A different approach is needed, recognising that “maintenance” is actually design work- Re-design to fix design errors (Corrective maintenance)- Re-design to serve new purposes (Adaptive maintenance)- Re-design to run on new platforms (Adaptive maintenance)- Re-design for better performance (Perfective maintenance)

• It then becomes obvious that we must apply modern model-driven software design techniques to “maintenance”

28

Page 29: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Middleware Company MDA study• Two parallel implementations of Sunʼs Pet Store sample app

- Sunʼs illustration of “Java Blueprints” design patterns- Typical 3-tier DB/Java/HTML e-commerce application

• Two 3-person teams, “traditional” Java tools vs. OptimalJ

• MDA team completed in 330 man-hours, “traditional” in 508- 35% effort saving, despite learning MDA tool on the job- MDA team estimated they would be 10-20% faster next time

• Level of bugs found during the testing process was higher for the traditional IDE team than the MDA-tool team

29

Page 30: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Middleware Company maintenance report• Pair of 2-man teams add new features to existing Petstore

apps- Tracking pet maturation- Calculating shipping costs- Soliciting supplier bids for new inventory- Integrating with Amazon.com via its web service- Integrating with mainframe application to track shipments

• Traditional team took 260 hours, MDA team 37% less (165 hrs)

• MDA advantage greatest for disruptive changes (pet maturation), break-even for smallest updates (shipping costs)

30

Page 31: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Summary• Model-driven development delivers better code, faster

- ... in the same way that CAD/CAM delivers better engineering products, faster

- Higher code quality reduces short-term “maintenance” costs

• However, major MDA/MDD benefit comes in the long term- Long-term “maintenance” costs dominate TCO- “Maintaining” applications using design models far easier- Porting to new platforms is easier (or even possible)

• The software industry has for decades behaved as though todayʼs delivery platform is the last one thereʼll ever be- This cannot continue

31

Page 32: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Partial Reference listEvaluating the impact of a Model-Driven Web Engineering Approach on the Productivity and the Satisfaction of Software Development TeamsMartínez, Y, Cachero, C , Meliá, S (2011)http://www.dlsi.ua.es/~santi/papers/EvaluatingProductivityMDD.pdf

Evaluating the impact of a MDWE Approach on the Productivity and the Satisfaction of Software Development TeamsMartínez, Y, Cachero, C , Meliá, S (2012)http://www.slideshare.net/SantiMelia/productivity-mdd-mdbcodecentric-13803834

The Economics of Software Maintenance in the Twenty First CenturyJones, C. (2006)http://www.compaid.com/caiinternet/ezine/capersjones-maintenance.pdf

Software Engineering (6th Edition)Sommerville, I.Addison-Wesley (2000)

Software maintenance costs (annotated bibliography)Koskinen, JUniversity of Jyväskylä (2010)http://web.archive.org/web/20110716064254/http://users.jyu.fi/~koskinen/smcosts.htm

Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) ApproachThe Middleware Company (2003)http://www.omg.org/mda/mda_files/MDA_Comparison-TMC_final.pdf

Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach –Maintainability AnalysisThe Middleware Company (2003)ftp://ftp.omg.org/outgoing/MDA_Maintainability.pdf

32

Page 33: Modelling for Maintainability - University of …...EFF EPFL Fujitsu G. Dynamics Gen. Electric Gnome Fndn. HDMA HP Hitachi Honda IBM INRIA JARA Lockheed Mayo Clinic MEGA Mentor Gʼics

Modelling for MaintainabilityCopyright © 2012, Object Management Group. All rights reserved. 28 Sept 2012

Essay Question• What is software maintenance? Describe some of the factors

that influence the cost of maintaining software, and critically analyse the claim that Model-Driven Development techniques, such as MDA, have a positive effect on software maintenance practice.

33