Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Iwsm2014 manage the automotive embedded software (alexandre oriou)
1. IWSM MENSURA 2014
SESSION COSMIC I 06.10.14
Manage the automotive embedded software development cost & productivity
with
the automation of a Functional Size Measurement Method (COSMIC)
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
2. 2
CONTENTS
01 INTRODUCTION
02 COSMIC METHOD APPLY TO SIMULINK
03 AUTOMATED MESURES
04 USE CASES
05 CONCLUSION
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
4. INTRODUCTION (1/2)
The use of ECU software in cars has grown considerably in recent years.
ECU's software development and validation tasks are clearly identified up front.
Corresponding milestones in global car development planning are strongly
positioned.
To manage more tightly the development costs of software suppliers,
Renault :
measures the functional size of their ECU software specifications
and uses this information as the main input for estimating software development
costs and schedules.
4
01 INTRODUCTION
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
5. INTRODUCTION (2/2)
Renault has chosen the COSMIC–ISO 19761 standard for measuring the
size of real-time embedded software and for estimating project costs.
the design of the Functional Size Measurement (FSM) procedure based on the
COSMIC method to obtain the functional size of software specifications expressed
with the Simulink tool.
the automated measurement tool developed at Renault implementing this
approach, and the various application cases.
5
01 INTRODUCTION
This presentation contains :
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
6. 02
COSMIC METHOD APPLY TO SIMULINK
6
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
7. 02 COSMIC METHOD APPLY TO SIMULINK
COSMIC METHOD APPLIED TO SIMULINK : COSMIC overview & Renault upstream vision
Opportunity inside Renault to use it with Matlab/Simulink model.
7
General advantages of the COSMIC functional size measures :
• Independent of the used technology
• Estimated early in a life of a project Before coding process
• Agreed to an ISO standard
• Independent of coder’s experience
Alternative approaches from suppliers :
• Formula and abacus based on their experiences
• No wish to share on a transversal way.
Upstream Renault study to use the COSMIC Measure :
• Great support from A. Abran through a dedicated PhD student.
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
C, C++, Java, Matlab …
Specification
Validation
Development
ISO standard : (19761,2011)
COSMIC : A RELEVANT CHOICE FOR RENAULT
8. A « Model Based Design » approach
Using of modelisation tool
Model Based Design rules definition
The COSMIC method is based on data movements’ measurement.
The COSMIC measurement process consists of 3 phases :
8
02 COSMIC METHOD APPLY TO SIMULINK
COSMIC METHOD APPLY TO SIMULINK : General points
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
9. 9
02 COSMIC METHOD APPLY TO SIMULINK
COSMIC METHOD APPLY TO SIMULINK : General points
Definition of the following concepts :
Target of the measure (apply COSMIC method to Simulink model) ;
The measure perimeter (level of Simulink subsystem) ;
The granularity level for the measure (block level of Simulink);
…
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Measurement
Strategy
10. 10
02 COSMIC METHOD APPLY TO SIMULINK
COSMIC METHOD APPLY TO SIMULINK : General points
Establish the link between Simulink concepts & principles published by
the COSMIC norm :
Boundaries concepts.
Data group concepts.
Functional process concepts.
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Mapping
Phase
11. 11
02 COSMIC METHOD APPLY TO SIMULINK
COSMIC METHOD APPLY TO SIMULINK : General points
.
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Measurement
Phase
COSMIC Function Points
13. FSM PROCEDURE AUTOMATION COSMIC MEASUREMENT TOOL
13
03 AUTOMATED MEASURES
AUTOMATED MESURES (1/3)
A rules document “Simulink COSMIC Rules” has been submitted to the
COSMIC consortium (www.cosmicon.com)
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
14. Renault COSMIC measurement phase is all automated.
A Matlab language based tool has been developed by Renault.
14
03 AUTOMATED MEASURES
AUTOMATED MESURES (2/3)
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Measurement results
Select/Edit
a configuration
Options
Report generation...)
Select
Simulink model(s)
Export results in CSV format
Generate a new
configuration file
A complete Simulink
Model
Delta between
2 Simulink Models
15. Automation Advantages regarding Measurement time :
ECU Size (CFP) Manual workload Tool’s execution
15
03 AUTOMATED MEASURES
AUTOMATED MESURE (3/3)
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
time
Body Control 2000 4 days FTE About 1 minute
Power train 2600 3 days FTE About 1 minute 20
Power train Entire ECU Too long About 1 hour
16. 16
USE CASES 04
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
17. 4.1 Coding and Unit Testing workload estimation using COSMIC (1/2)
based on productivity models which are obtained by statistic methods.
a linear relation between COSMIC size and related development workload
Based on past development, productivity models can allow to estimate future
development workload.
17
04 USE CASES
4.1.1 Workload estimation
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Renault uses also
productivity models
for managing
internally
developers’ teams
productivity in the
Renault Nissan
Technical Business
India.
18. 4.1 Coding and Unit Testing workload estimation using COSMIC (2/2)
This process can go until contracting on a productivity model for future
developments.
18
04 USE CASES
4.1.2 Supplier cost & productivity.
Productivity models are used to challenge suppliers.
a clear rule and support for negotiation.
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
19. The COSMIC size is also used in house to manage specifications’
productivity.
The Renault powertrain software department has a large database including the
size of each specification in Matlab/Simulink dedicated to Engine Control Module
ECU.
The relationship between available FTE (Full Time Equivalent) and volume of
specification in Matlab/Simulink is established.
Delivery reference 1 2 3 4 5 6 7 8 9 10
Volume of specification (basis on 100) 68 72 75 77 81 86 89 91 98 100
Volume of updated specification 10 16 13 12 15 17 17 19 23 20
deleted specifications 0 1 0 1 1 1 1 2 1 2
added specifications 2 5 4 3 4 7 4 5 8 4
stability spec / L-1 85% 77% 82% 85% 82% 80% 81% 79% 76% 80%
maturity package / L-3 62% 59% 60% 59% 62% 60% 58% 59% 54% 55%
Volume of CFP 70 73 78 79 85 89 93 99 104 100
Producted CFP 14 20 24 19 23 25 26 29 31 26
19
04 USE CASES
4.2 Specification development & productivity (1/2)
FTE (M.d)
FTE (Cycle)
Number of specification / FTE
CFP producted / FTE
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
20. The performance of the Software Department is controlled and the
objectives are updated.
20
04 USE CASES
4.2 Specification development & productivity (2/2)
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
21. COSMIC method is one of the elements to predict the memory size needed
for embedded software.
used before obtaining code (several months earlier in a project).
secures the ROM occupation in ECU at “Start of production” milestone and
anticipates the needed margin for serial life.
The control is based on charts depending on selected compiler :
21
04 USE CASES
4.3 Memory size estimation
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
22. To deal with the increase of software development complexity, OEMs
(Original Equipment Manufacturers) and Suppliers used to exchange
software function.
Renault has chosen to integrate the COSMIC size in the official internal
formula which evaluates the value of a software function (in addition to
“innovation level” etc…).
22
04 USE CASES
4.4 Value of software functions.
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
23. the productivity models are realized on data set based on past projects with
statistical methods as linear regression method.
At the end of a new software development, the difference between initial used
correlation and real new COSMIC stored values has to be lower than 5%.
the Renault method based on COSMIC has been compared with other Partner
method based on software and tuning workload measures. The precision of
Renault result is 12%.
23
1.1 TITRE DU CHAPITRE TITRE DU SOUS-CHAPITRE
4.5 Control of the COSMIC model precision.
For Workload estimation use
For the value of software functions
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
25. CONCLUSION
COSMIC Measure is becoming one of the software reference metric at
Renault.
The COSMIC method and Renault COSMIC Measurement Tool can be adapted
to different uses and different modelling approach.
It is used to manage suppliers and internal productivity with a potential of extension use
type.
It is used in various Software Department in Renault, especially in Powertrain domain :
a common reference and tool.
The need progress through the context of Automatic Code Generation, used
more and more at Renault and with suppliers. The COSMIC method continues to
keep advantages regarding specification design step and validation step.
25
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
26. Renault wants to reinforce the use of software quality dashboard with
relevant indicator in QCD to accelerate software project success.
COSMIC measures will be one of the key input to offer an automatic
software status shared with executive and project software manager to
anticipate risks and speeding-up decision-making.
26
NEXT STEPS FOR RENAULT
COSMIC use in Qualimetry software approach :
RENAULT
Alexandre ORIOU 06.10.2014 – IWSM MENSURA 2014
Notes de l'éditeur
Boundaries: There is a boundary lying between any external software (functional user) and the software to be measured (application).
Data groups: Identifying the data groups is a key element in correctly identifying the movements of data groups in each functional process. A line conveys a single data group and is taken a priori as a data group.
Functional Process: A subsystem containing an elementary block is a functional process: when triggered, it receives, manipulates, and moves data groups.
Regarding Renault experience, the workload used was including coding and unitary tests. However, it could be possible to include validation workload.