10.07.2015 Views

Evaluating costs and benefits of model-based development of ... - ESI

Evaluating costs and benefits of model-based development of ... - ESI

Evaluating costs and benefits of model-based development of ... - ESI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Evaluating</strong> <strong>costs</strong> <strong>and</strong> <strong>benefits</strong> <strong>of</strong> <strong>model</strong>-<strong>based</strong> <strong>development</strong> <strong>of</strong>embedded s<strong>of</strong>tware systems in the car industry – Results <strong>of</strong> aqualitative Case StudyCase Study results, Paris June 15 th 2010ECMFA 2010 Workshop: C2M:EEMDDSascha KirstanPublic voidInt i=0;While (i!=0)010010011101001101110


Agenda1 – Introduction2 – Main results <strong>of</strong> the case study3 – Identification <strong>of</strong> Best Practices in <strong>model</strong>-<strong>based</strong> design


Classification <strong>of</strong> the case study in the overall pictureThe conducted case study is part <strong>of</strong> an intensive investigation <strong>of</strong> the economics <strong>of</strong> <strong>model</strong><strong>based</strong>s<strong>of</strong>tware <strong>development</strong> (MBSD), which is conducted as a PhD thesis at theuniversity <strong>of</strong> technology in Munich1Setting up a theory Identify the differences inthe <strong>development</strong> processbetween classic <strong>and</strong><strong>model</strong>-<strong>based</strong> <strong>development</strong> Analyze the impact <strong>of</strong>these differences on <strong>costs</strong>,time <strong>and</strong> quality2Case Studies Design questionnaires forthe Case study Case study interviews Evaluation <strong>of</strong> the resultsChosen approach3Design <strong>of</strong> cost <strong>model</strong>s Development <strong>of</strong> an analyticalcost <strong>model</strong> Development <strong>of</strong> a qualitativecost <strong>model</strong> Validating the cost <strong>model</strong>svia talks with experts5Validating the cost <strong>model</strong> withthe data from the study Integration <strong>of</strong> the study datain the analytical cost <strong>model</strong> Validating the cost <strong>model</strong> ata car producer with realproject data4Global study Survey <strong>of</strong> car producers,suppliers <strong>and</strong> engineeringcompanies Conducting expert talks toget data for the qualitativecost <strong>model</strong>3


Covered topics in the case studyThe case study covers versatile aspects about <strong>model</strong>-<strong>based</strong> <strong>development</strong>. Thereforeexperts from the domain power train, chassis, energy management <strong>and</strong> comfort functionswere interviewed regarding the following questionsTool supportAre you satisfied with the actualtool support? Are there anyproblems when using the tools?Process redesignHow did your company redesignthe <strong>development</strong> process? Inwhich cost factors can theredesign <strong>costs</strong> be divided?Which accompanyingprocesses were affected?Used ToolsWhich tools do you use during the<strong>development</strong> process?Model-<strong>based</strong>SW-Development(MBSD)Motivation to use MBSDWhy is your company developings<strong>of</strong>tware <strong>model</strong>-<strong>based</strong>?H<strong>and</strong>-coded <strong>development</strong>Which kind <strong>of</strong> functions do youdevelop h<strong>and</strong>-coded in your company.What are the reasons therefore?Statements to the econometricsHow did <strong>costs</strong>, time <strong>and</strong> qualitychange because <strong>of</strong> the use <strong>of</strong> MBSD?Negative ExperienceWhat are your negative experienceswith MBSD in projects?Positive ExperienceWhat are your positive experienceswith MBSD in projects?Error detectionIs an earlier error detection possiblewith the use <strong>of</strong> MBSD?4


Agenda1 – Introduction2 – Main results <strong>of</strong> the case study3 – Identification <strong>of</strong> Best Practices in <strong>model</strong>-<strong>based</strong> design


Process redesign (1/2)Main cost drivers in the process redesign are not just tool <strong>costs</strong>Costs for the process redesignMain cost factorsInfluence on theCostsInfluence on theTimeLicence <strong>and</strong> support <strong>costs</strong> for tools High NoneDefinition <strong>and</strong> introduction <strong>of</strong> a new <strong>development</strong> process High MediumChanges in the organisational structure High MediumTraining <strong>of</strong> the employees Medium HighCosts for living the process Medium HighCosts for the improvement <strong>of</strong> the <strong>development</strong> process High HighDesign <strong>of</strong> already h<strong>and</strong>-coded developed projects High High6


Process redesign (2/2)Before <strong>model</strong>-<strong>based</strong> <strong>development</strong> is used for a series project, several pilot studies arebeing conductedUsed procedure for the process redesignEvaluation <strong>of</strong> toolsAt the beginning all available tools on the market are being analysed <strong>and</strong>balanced. Therefore tool evaluations are being conductedDrafting <strong>of</strong> a new<strong>development</strong> processConduction <strong>of</strong> pilot studiesAdoption <strong>of</strong> the definedprocessConduction <strong>of</strong> further pilotstudiesFirst series projectWith the results <strong>of</strong> the tool evaluation the <strong>development</strong> <strong>of</strong> the new<strong>development</strong> process is being started. Depending on the used tool chainthe process has to be adapted to the companies needsThe developed process is validated via pilot studies. Pilot studies help theengineers to get used to the new <strong>development</strong> process without any pressure<strong>of</strong> a series project <strong>and</strong> to be able to judge the benefit <strong>of</strong> the new approachUsually process improvement potential is already identified in the first pilotstudy. The improvement potential is included in the iterative design <strong>of</strong> the<strong>development</strong> processThe case studies are iteratively continued until the process is mature for aseries <strong>development</strong>The first series project shows, whether the defined process is suited for theseries <strong>development</strong>. If the first series project is conducted successfully thenew <strong>development</strong> process is being spread in the whole company7


Motivation to use MBSDDifferent reasons convince companies to use <strong>model</strong>-<strong>based</strong> designMotivation to use MBSDCompany internalmotivations Cost savings in the <strong>development</strong> The possibility to simulate in particular with Rapid Control Prototyping(RCP) allows the <strong>development</strong> <strong>of</strong> very innovative functions Companies are afraid to miss a next generation technologyAdvantages in the<strong>development</strong> Higher automation in the <strong>development</strong> process Possibility to detect errors earlier Easier communication with colleagues Light effort for reusing function <strong>model</strong>s in different car linesCompetitive pressurebetweenthe suppliers Customer (OEM) dem<strong>and</strong>s that suppliers use <strong>model</strong>-<strong>based</strong><strong>development</strong> Supplier want to impress the customer (OEM) that they alreadyuse the newest <strong>development</strong> technology8


H<strong>and</strong> coded <strong>development</strong>Some functions are still being developed h<strong>and</strong> coded. Not only technical aspects, butmainly company internal reasons are responsible for thatH<strong>and</strong>-coded developed functionsSaftey relevantfunctionsLow-Level-S<strong>of</strong>twareFunctions with highspeed requirementsSafety relevant functions: Trust in code generatoris too lowFunctions with extremely high speed requirements:The experience shows that h<strong>and</strong> coded functionsare more efficient in RAM <strong>and</strong> ROM needsLow-Level-S<strong>of</strong>tware (Functions for diagnose, basiss<strong>of</strong>tware)Company intern reasons for h<strong>and</strong> coded <strong>development</strong>Model-<strong>based</strong> <strong>development</strong> process is not established in all departments Costs for the processredesign are too high (especially the licence <strong>costs</strong> for the tools)On the supplier side the necessity to develop <strong>model</strong>-<strong>based</strong> is sometimes not seen. The reasontherefore is, that suppliers already use reuse concepts in h<strong>and</strong>-coded projects. This ensures that theycan reuse their h<strong>and</strong>-coded developed functions9


Negative experiences with MBSDThe negative experiences can be divided into four aspectsNegative experiences with MBSDToolsSimulationDependency on tool vendors: Tool restrictedinterfacesMaturity <strong>of</strong> toolsNo seamless tools over the whole <strong>development</strong>process availableDetailed knowledge necessary: Sometimes theKnow-How is not available in the companies.Following simulations are not conductedintensive enoughSimulations are time consuming especially if thefunction <strong>model</strong>s are huge Simulations aredisregarded at high time pressureDevelopment <strong>of</strong> unstructured codeReusabilityFunction <strong>model</strong>s are sometimes <strong>model</strong>s whichhave gained in functionality over the years. Thegenerated code out <strong>of</strong> these function <strong>model</strong>s is<strong>of</strong>ten unstructured <strong>and</strong> inefficient Application<strong>of</strong> <strong>model</strong>ling rules <strong>and</strong> reuse concepts isimportantEven <strong>model</strong>-<strong>based</strong> developed functions can notbe reusable10


Positive experience with MBSDThe positive experiences can be divided into six aspectsPositive experiences with MBSDEasier communicationEasier <strong>development</strong> <strong>of</strong>complex functionsSimulationThe graphical description <strong>of</strong>function <strong>model</strong>s allows aneasier communicationScreenshots <strong>of</strong> function<strong>model</strong>s can be used inpresentationsWith the use <strong>of</strong> RCPengineers can develop highinnovative functions via try <strong>and</strong>error on a real carThe RCP-Model <strong>of</strong>ten servesas an executable specificationRCP allows to developcertain functionsCombination <strong>of</strong> RCP <strong>and</strong>Model in the Loop (MiL)allows an earlier errordetectionOverview over the wholesystemReusabilityPossibility to generate codeout <strong>of</strong> function <strong>model</strong>sThe graphical descriptionallows to get an overview overthe whole system. It is easy tosee which functions interactamong each otherWith the use <strong>of</strong> a reuseconcept a function <strong>model</strong> canbe reused in different car lineswithout much additional effortAll case study participantsuse the automatic codegeneration out <strong>of</strong> the function<strong>model</strong>11


Used toolsTools for <strong>model</strong>-<strong>based</strong> <strong>development</strong> are intensively used in the s<strong>of</strong>tware design <strong>and</strong>the implementationUsed tools in the <strong>development</strong> processSystem requirementsSystem architectureS<strong>of</strong>tware requirementsS<strong>of</strong>tware architectureS<strong>of</strong>tware designImplementationTestWord, DoorsPowerpoint, Visio, ExcelWord, Doors, Matlab/Simulink/Stateflow, AscetPowerpoint, Visio, Excel, Matlab/Simulink/Stateflow, AscetMatlab/Simulink/Stateflow, AscetTargetLink, RealTime WorkshopTPT, MTest, Polyspace, own developed tools• Tool support is seen as a big added value• The engineers need a lot <strong>of</strong> experience to exploit the full potential <strong>of</strong> the tool support (forexample simulations)• Companies moan about the dependency on the tool vendors, because the tools don't <strong>of</strong>feropen interfaces12


Error detection in the <strong>development</strong> processThe more intensive tests on <strong>model</strong>s are conducted, the less errors are found in thefollowing <strong>development</strong> phasesChanges in the error detectionBeginning <strong>of</strong> theerror detectionUse <strong>of</strong> RCPUse <strong>of</strong> MiL73% start the error detection in the requirements analysis withRCP, 27% begin in the SW-Design73% use RCP <strong>and</strong> even 63% <strong>of</strong> them use it intensively100% use MiL-Tests <strong>and</strong> even 81% <strong>of</strong> them use it intensively Considerable fewer errors in the implementation <strong>and</strong> the whole test process after theimplementation phase Reasons: RCP, MiL-Tests, <strong>model</strong> reviews <strong>and</strong> the automatic generation <strong>of</strong> code Impact <strong>of</strong> MBSD on the maintenance:Effect <strong>of</strong> earlier error detection on the number <strong>of</strong> discovered errorsFewer errors in the series Fewer number <strong>of</strong> updates necessary63 % <strong>of</strong> the case study participants even report a higher product quality13


Statements about the econometricsCase study participants report about positive impacts on the econometricsStatements about changes in the econometrics because <strong>of</strong> MBSDCostsTimeProductqualityEarlier error detection because <strong>of</strong> the use <strong>of</strong> simulations, highautomation degree <strong>and</strong> easier communication. The highest cost savingpotential is seen in the reuse <strong>of</strong> function <strong>model</strong>s over different carlinesEarlier error detection because <strong>of</strong> the use <strong>of</strong> simulations, highautomation degree <strong>and</strong> easier communication. The highest cost savingpotential is seen in the reuse <strong>of</strong> function <strong>model</strong>s over different carlinesFunctions have a higher maturity level Impact on the maintenanceParticipants report improvements <strong>of</strong> the quality criteria reliability,usability, maintainability <strong>and</strong> portabilityInteresting cognition: The domain has no impact on cost, time <strong>and</strong> quality changes. Thishas even been confirmed by a case study participant, who has made this experience inseveral projects in different domains14


Agenda1 – Introduction2 – Main results <strong>of</strong> the case study3 – Identification <strong>of</strong> Best Practices in <strong>model</strong>-<strong>based</strong> design


From the case study interviews Best Practices can bederievedOnly when you develop <strong>model</strong>-<strong>based</strong> in the “right“ way, you will be able to achieve cost savingsBest Practice Approaches A reuse concept is also vital when developing <strong>model</strong>-<strong>based</strong> Defined change overs in the <strong>development</strong> process are more important in the praxis than to erasethe seamlessness <strong>of</strong> the <strong>development</strong> process, if you have already invested a large effort inerasing the seamlessness in your <strong>development</strong> process (usually more than 5 years usage) Using the potential <strong>of</strong> simulations over the whole <strong>development</strong> process. Particularly whendeveloping innovative functions an intensive use <strong>of</strong> RCP <strong>and</strong> MiL is recommended Training <strong>of</strong> the employees about best practices in s<strong>of</strong>tware engineering concepts like e.g.modularisation. These concepts are very important to develop reusable <strong>and</strong> efficient code out <strong>of</strong>the function <strong>model</strong>s. This knowledge can decide whether a project is conducted successfully orfails Size <strong>of</strong> the function <strong>model</strong>: It is advisable to use more small function <strong>model</strong>s than one largefunction <strong>model</strong> Selection <strong>of</strong> the appropriate tool chain is a central aspect during the process redesign. Thedependency on tool vendors is very high <strong>and</strong> consequently a change in the tool chain iscomparable to a complete process redesign16


SummaryThe strengths <strong>and</strong> the potential <strong>of</strong> MBSD are prized by our case study participantsStrengths <strong>of</strong> MBSDWeaknesses <strong>of</strong> MBSD- Easier Communication- Higher automation degree- Reusability over different car lines- Possibility to simulate <strong>model</strong>s leads to an earliererror detection- High complex functions can be developed easier- Costs savings <strong>and</strong> improvements in quality- Challenges with tools- High investments are needed for introducing <strong>and</strong>optimizing the <strong>development</strong> process- Dependency on tool vendors- It is a key factor to know, how to develop <strong>model</strong><strong>based</strong>the “right“ way. Otherwise there is a high errorpotential in developing <strong>model</strong>-<strong>based</strong>- Vision: Model-<strong>based</strong> <strong>development</strong> from requirementstill test with the aim to achieve synergy effects,because <strong>of</strong> more intensive <strong>model</strong>-<strong>based</strong> designProblem: Appropriate tools not available- Current challenges: Exp<strong>and</strong>ing the <strong>model</strong>-<strong>based</strong><strong>development</strong> on the architecture design <strong>and</strong> <strong>model</strong><strong>based</strong>testingPotential <strong>of</strong> MBSD- Huge Know - How necessary to get the full potentialout <strong>of</strong> MBSD. Without this Know-How MBSD can becounterproductiveRisks <strong>of</strong> MBSD- Investments in the long run are necessary Forsmall companies maybe to expensive- Dependency on tool vendors17


www.altran.de


Backup slidesRCPFunction ModelBased on FloatingpointsCan be conducted on a real car or on a test benchMiLFunction ModelEnvironment Model19


Backup slidesSiLEnvironment ModelPiLEnvironment Model20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!