Presentation is loading. Please wait.

Presentation is loading. Please wait.

Extending the Embedded Software Process (ESP) to DSP applications

Similar presentations


Presentation on theme: "Extending the Embedded Software Process (ESP) to DSP applications"— Presentation transcript:

1 Extending the Embedded Software Process (ESP) to DSP applications
* 07/16/96 This presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. Extending the Embedded Software Process (ESP) to DSP applications K. Nielsen and M. R. Smith, Electrical and Computer Engineering University of Calgary, Canada ucalgary.ca 2nd Quantitative Software Engineering Conference Banff, Canada, February 2002 *

2 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Overview of Talk Need for Humphrey’s Personal Software Process (PSP). Relationship between PSP and CMM. PROBE method of estimating effort needed to implement a design. Concept of Abowd’s Embedded Software Process (ESP) Testing of Abowd’s ESP process Problems of extending ESP into DSP environment 12/9/2018 Review of Embedded Software Process Copyright

3 Personal Software Process
* 07/16/96 To introduce you to a process-based approach to developing software To show you how to measure and analyze your personal software process (PSP) To show you how to use process data to improve your personal performance To show you how to apply these methods to your other tasks KEY -- Ability to recognize and handle undue pressures 12/9/2018 Review of Embedded Software Process Copyright *

4 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
* PSP Principles - 1 07/16/96 The quality of a software system is governed by the quality of its worst components. The quality of a software component is governed by the individual who developed it. This is governed by your knowledge discipline commitment 12/9/2018 Review of Embedded Software Process Copyright *

5 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
PSP Principles - 2 * 07/16/96 As software professionals you should know your own performance. You should measure, track, and analyze your work. You should learn from your performance variations. You should incorporate these lessons in your personal practices. Use the information to avoid placing “unrealistic expectations” on customer or yourself. 12/9/2018 Review of Embedded Software Process Copyright *

6 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
The CMM and the PSP - 1 * 07/16/96 The capability maturity model (CMM) was developed by the SEI with the help of leading software groups to the most effective large-scale software practices. The PSP is a modification of the CMM to provides the framework for disciplined individual work. 12/9/2018 Review of Embedded Software Process Copyright *

7 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
* The CMM and the PSP - 2 07/16/96 Level 5: Process change management* Technology innovation* Defect prevention* 5 From Humphrey 4 Level 4 Quality management* Process measurement and analysis* 3 Level 3 Peer reviews* Intergroup coordination Software product engineering* Integrated software management* Training program Organization process definition* Organization process focus* 2 Level 2 Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight* Software project planning* Requirements management 1 Level 1 *PSP key practices 12/9/2018 Review of Embedded Software Process Copyright *

8 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
PSP Overview - 2 * 07/16/96 PSP3 Cyclic development From Humphrey PSP2.1 Design templates PSP2 Code reviews Design reviews PSP1.1 Task planning Schedule planning PSP1 Size estimating Test report PSP0.1 Coding standard Size measurement Process improvement proposal (PIP) PSP0 Current process Time recording Defect recording Defect type standard 12/9/2018 Review of Embedded Software Process Copyright *

9 Defect cost fixes decrease
PSP Level 3 Ad-hoc -- PSP Level 0 Modified from Humphrey 12/9/2018 Review of Embedded Software Process Copyright

10 Productivity is not affected by PSP?
PSP Level 3 Ad-hoc -- PSP Level 0 Modified from Humphrey 12/9/2018 Review of Embedded Software Process Copyright

11 The Project Planning Framework
* 07/16/96 Define Requirements Produce Conceptual Design Estimate Size Resources Schedule Develop Product Size, Resource Data Process Analysis Available Productivity Database Delivery Tracking Reports From Humphrey 12/9/2018 Review of Embedded Software Process Copyright *

12 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Object LOC Correlation With Development Hours LOC is a “useful” proxy for effort From Humphrey 12/9/2018 Review of Embedded Software Process Copyright

13 The PROBE Estimating Method
* 07/16/96 Start Conceptual Design From Humphrey Identify Objects Number of Methods Object Type Relative Size Reuse Categories Calculate Added and Modified LOC Estimate Program Size Calculate Prediction Interval Estimate 12/9/2018 Review of Embedded Software Process Copyright *

14 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Conceptual Design A conceptual design is needed to relate the requirements to the product to define the product elements that will produce the desired functions to estimate the size of what will be built For understood designs, conceptual designs can be done quickly. If you do not understand the design, you do not know enough to make an estimate. 12/9/2018 Review of Embedded Software Process Copyright

15 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Identify the Objects - 1 Where possible, select application entities. Judge how many methods each object will likely contain. Determine the type of the object, i.e.: data, calculation, file, control, etc. Judge the relative size of each object: very small (VS), small (S), medium (M), large (L), very large (VL). NOTE THE NON-EXACTNESS. I feel from my past experience this will become a Large Math Module 12/9/2018 Review of Embedded Software Process Copyright

16 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Identify the Objects - 2 From YOUR historical object data, determine the size in LOC/method of each object. This is what differs from “ad-hoc” approaches Multiply by the number of methods to get the estimated object LOC. When objects do not fit an existing type, they are frequently composites. Ensure they are sufficiently refined Refine those that are not elemental objects 12/9/2018 Review of Embedded Software Process Copyright

17 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Estimate Program Size Total program size consists of newly developed code (adjusted with the regression parameters calculated from historical data on prior estimated newly developed (object) LOC and actual new and changed LOC) The completed estimate includes 70% and 90% prediction intervals -- based on the stability of your process Use your known productivity to estimate time. Then use your known schedule to estimate completion date This completion date allows “pressure avoidance” Date obtained without any coding being done 12/9/2018 Review of Embedded Software Process Copyright

18 Why Resource and Schedule Plans Are Needed
Provides a business basis for doing the work establishes the price sets the schedule permits agreement on the work Establishes a management framework defines commitments helps groups coordinate their work allows status tracking 12/9/2018 Review of Embedded Software Process Copyright

19 PSP becomes DSP with ESP
PSP helps software engineers Estimate size and time of project early in the development Develop a higher quality project Embedded systems have software and also hardware PSP is not enough Need to estimate “early in development” whether the available hardware will support the new design or permit new features to be added RAM, ROM, cycle time Concept comes from Peter Abowd 12/9/2018 Review of Embedded Software Process Copyright

20 PSP becomes DSP with ESP
On-chip memory is a very big concern System (off-chip) memory can be a key cost issue. 10 bytes over the top of available memory means “complete new block” of memory or “project time to code crunch” and mostly available in large blocks only Being able to accurately estimate system memory needed would reduce project risks 12/9/2018 Review of Embedded Software Process Copyright

21 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
The Embedded PSP Embedded PSP is an extension of PSP Use the PSP PROBE method to convert design concepts into YOUR project LOC. Uses LOC estimate to estimate ROM/RAM based on your OWN personal programming style Inaccurate estimates problematic Reduce ROM/RAM used Late program changes introduce defects 12/9/2018 Review of Embedded Software Process Copyright

22 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Basis of Extension From Abowd 12/9/2018 Review of Embedded Software Process Copyright

23 Is there a good correlation Between LOC and ROM/RAM?
ROM contains assembly code instructions Most code written in C # C LOC → Assembly LOC not consistent Results will be processor dependent However “C” was a “processor independent” assembly language RAM contains variables 12/9/2018 Review of Embedded Software Process Copyright

24 Industry Data Memory vs. LOC (P. Abowd)
From Abowd ROM (Program) vs LOC RAM vs LOC 12/9/2018 Review of Embedded Software Process Copyright

25 Embedded PSP Application Example
Abowd attempted to test the process as follows 2 embedded engineers each develop a bicycle monitor. Each write 6 programs Micro Startup Simple cyclic schedule Read wheel sensor and calculate speed Button matrix decode and event handling A to D braking control LCD output Use results of first 3 to plan final 3 programs 12/9/2018 Review of Embedded Software Process Copyright

26 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Estimating ROM and RAM Results of PSP Planning Phase Base LOC (B), Deleted LOC (D), Modified LOC (M), and New and Changed LOC (N) Conversion to required ROM and RAM Deleted LOC frees utilized ROM & RAM New & Changed LOC consumes ROM & RAM Modified LOC has no effect (simplified) Not always true Total LOC = B + N – D – M Best estimate of required ROM = β01 + β11(B + N – D – M) Best estimate of required RAM = β02 + β12(B + N – D – M) β0 & β1 parameters are unique to ROM and RAM and individual -- found from individuals data base. 12/9/2018 Review of Embedded Software Process Copyright

27 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Measures From Abowd Engineer A Engineer B ROM RAM 12/9/2018 Review of Embedded Software Process Copyright

28 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
How Well Does It Work? From Abowd 12/9/2018 Review of Embedded Software Process Copyright

29 Issues not explained by P. Abowd
Which processor was discussed? What happens to stack usage? Why does it work? The problems associated with “loops” and hence execution times were discussed by Abowd. He did provide a “personal process engine” for automating the process 12/9/2018 Review of Embedded Software Process Copyright

30 Does ESP scale to DSP applications?
Consider 2106X processor Program requirements Need off-chip ROM to store program code on start up This ROM size can be estimated by ESP This ROM code is then transferred to on-chip RAM program memory -- therefore that can be estimated too! Halstead Volume correlates highly with LOC. Halstead volume relates to the number of operations in the “C” code -- does this correlate to the number of bytes needed for code? 12/9/2018 Review of Embedded Software Process Copyright

31 Does ESP scale to DSP applications?
Consider 2106X processor Data requirements Abowd examined only “control” applications Very small amount of data Ram bytes DSP algorithms uses large arrays for initial and final storage Need initial design information for this? Is there some sort of relationship between LOC and sizes of intermediate arrays needed? PSP uses Small, medium, large estimates for data, calculation, file, control, functions etc. Perhaps “array size” is another “function type” 12/9/2018 Review of Embedded Software Process Copyright

32 Does ESP scale to DSP applications?
Peter Abowd intended to estimate # of Cycles as well Could not develop a useful model Branching conditions and loop counts are unpredictable from LOC counts However in DSP, the size of arrays handled is probably known ahead of time, therefore the loop size is known. Also algorithm is well known. 12/9/2018 Review of Embedded Software Process Copyright

33 DOES ESP scale to DSP applications?
What about parallel operations? Can estimates “maximum usage” of resources and therefore get a theoretical lower limit on code size? Lot of code is written directly in assembly Depends on company Different relationship between assembly LOC and effort? Probably not, as often stated that roughly the same amount of time for 1 line of code regardless of effort -- hence it is better to use the highest level of language possible. 12/9/2018 Review of Embedded Software Process Copyright

34 What sort of test needed?
We already have tools to measure LOC and Halstead Volumes Use of linker memory maps would provide rom and ram usage information. Most processor manufacturers provide example code, in both “C” and assembly Use that code to see if ROM/RAM v LOC relationship still exists But code written by many different people! Doug Joest has offered to try out something 12/9/2018 Review of Embedded Software Process Copyright

35 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
Overview of Talk Need for Humphrey’s Personal Software Process (PSP). Relationship between PSP and CMM. PROBE method of estimating effort needed to implement a design. Concept of Abowd’s Embedded Software Process (ESP) Testing of Abowd’s ESP process Problems of extending ESP into DSP environment 12/9/2018 Review of Embedded Software Process Copyright

36 Review of Embedded Software Process Copyright smithmr@ucalgary.ca
* Credits 07/16/96 Slides from Watts Humphrey’s Disciplined Software Engineering Software Engineering Institute, Carnegie Mellon University Research sponsored by the U.S. Department of Slides from P. Abowd, “Personal Process for Embedded Systems,” Presentation, Salt Lake City, 1998 Automotive electronic software engineer 10 years of experience at Ford Motor / Visteon DSP additions from Dr. Smith Presentation based on SENG689 project by Kraig Nielsen Paper presented at 2nd QSE conference in Banff, Feb, 2002. 12/9/2018 Review of Embedded Software Process Copyright *


Download ppt "Extending the Embedded Software Process (ESP) to DSP applications"

Similar presentations


Ads by Google