1 / 32

Software Process Modeling and Simulation

Software Process Modeling and Simulation. Sadaf Mustafiz School of Computer Science McGill University Winter 2003. Outline. Software Process Entities Example EPM Process Model (re-modeled) Unconstrained Process Model Scheduling Considerations Simulation Results.

camden
Download Presentation

Software Process Modeling and Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003

  2. Outline • Software Process Entities • Example EPM • Process Model (re-modeled) • Unconstrained Process Model • Scheduling Considerations • Simulation • Results

  3. Software Process Entities Some obvious entities are: • Deliverable code • Users’ installation and operation manuals • Requirements documents • Design • Test cases and procedures

  4. Example EPM (1) • Modeled using a commercially available software system called STATEMATE. • Focuses on behavioural modeling perspective • Approach to behavioural modeling utilizes statecharts

  5. Example EPM (2) Considering the activities occurring between the time when • detailed design for the module has been developed, and • the module has successfully passed unit testing. Three entities of interest: • Module code • Unit tests for the module • Test execution and analysis results

  6. Basic EPM Example (3)

  7. Example EPM (4) Module Code Entity

  8. Example EPM (5) Module Unit Tests Entity

  9. Example EPM (6) Test Execution and Analysis Results Entity

  10. Passive State Active State Example EPM (7) Example Time Line for Module Code Entity • Entities remain for a non-zero time in each state. • Transitions take negligible time. • In the life span of an entity, it must always be in some state.

  11. Process Model:Re-modeled (1) INITIAL TRUE SET_INITIAL_TO_FALSE FALSE

  12. Process Model:Re-modeled (2) REWORK_CODE FALSE [in (MODULE_CODE.CODE_DEVELOPED)] SET_REWORK_CODE_TO_FALSE TRUE

  13. Process Model:Re-modeled (3) REWORK_TESTS FALSE [in (MODULE_CODE.TESTS_DEVELOPED)] SET_REWORK_TESTS_TO_FALSE TRUE

  14. Process Model:Re-modeled (4) CLEAN FALSE [in (MODULE_CODE.DEVELOPING_CODE)] [in (MODULE_CODE.DEVELOPING_CODE)] TRUE

  15. Process Model:Re-modeled (5) PASSED FALSE [in (TEST_EXEC_REPORT.RUNNING_TESTS)] TRUE

  16. Process Model:Re-modeled (6) PERSONNEL TWO DECREASE_1 INCREASE_1 ONE DECREASE_1 INCREASE_1 ZERO

  17. Process Model:Re-modeled (7) MODULE_CODE NONE DETL_DES_RDY [in (INITIAL.TRUE) and not in (PERSONNEL.ZERO)] / DECREASE_1 DEVELOPING _CODE COMPILED [in (CLEAN.TRUE)] / SET_REWORK_CODE_TO_FALSE CHECK_PRE_CODE IN_ DEVELOPING _CODE after dc/round hr / print (dc/round), INCREASE_1 PRE_CODE_CHECKED ON_HOLD CODE_ DEVELOPED TESTS_COMPLETED [in (PASSED.TRUE)] TESTED_N _PASSED ANALYZED [in (REWORK_CODE.TRUE)] and not [in (PERSONNEL.ZERO)] / DECREASE_1

  18. Process Model:Re-modeled (8) MODULE_TESTS NONE DETL_DES_RDY [in (INITIAL.TRUE) and not in (PERSONNEL.ZERO)] / SET_INITIAL_TO_FALSE, DECREASE_1 DEVELOPING _TESTS TESTS_DEVELOPED / SET_REWORK_TESTS_TO_FALSE CHECK_PRE_CODE IN_ DEVELOPING _TESTS after dt/round hr /print (dt/round), INCREASE_1 PRE_CODE_CHECKED ON_HOLD TESTS_ DEVELOPED TESTS_COMPLETED [in (PASSED.TRUE)] RUN_N _PASSED ANALYZED [in (REWORK_TESTS.TRUE) and not [in (PERSONNEL.ZERO)] / DECREASE_1]

  19. Process Model:Re-modeled (9) TEST_EXEC_REPORT NEW [in (MODULE_CODE.CODE_DEVELOPED)] and [in (MODULE_TESTS.TESTS_DEVELOPED) and not in (PERSONNEL.ZERO)] / DECREASE_1 after dc/round hr RUNNING _TESTS after rt hr / print (rt) WAIT TESTS_COMPLETED [in (PASSED.TRUE)] / INCREASE_1, END_FINAL_ROUND IN_ RUN_TESTS after ap hr / print (ap), INCREASE_1, END_ROUND TESTS_ABORTED or TESTS_COMPLETED [not in (PASSED.TRUE)] ANALYZING _PROBS IN_ ANALYZING PASSED_ TESTING ANALYZED

  20. Process Model:Re-modeled (10) TIME ROUND ONE ACTIVE END_ROUND / round = 2 After 1 s/ ttime = ttime+1 TWO END_ROUND / round = 3 THREE END_FINAL_ROUND PASSED

  21. The Unconstrained Process Model (UPM) • These tasks correspond to the active states in the statechart model. • The basic plan forecasts that after initial development of code and tests, test execution will uncover errors calling for the rework of both code and tests at half their initial effort level. • The second round of testing will uncover more errors, but only in the code, requiring one-quarter the initial effort to correct. • The tests will then be passed on the third round. It has been assumed that each of these tasks is a one-person task that cannot be distributed among multiple workers.

  22. Scheduling Considerations • In the first round, development of code will take 12 hours, development of tests will take 8 hours, running the tests will take 1 hour, and analyzing problems in testing will take another 3 hours. • The second round takes half the time of the first round and the third takes one-third the time. • Exception: Running the tests will always take 1 hour

  23. Process Simulation • Statechart Virtual Machine (SVM) has been used to simulate the software process. • SVM has been developed by Thomas H. Feng (SOCS, McGill University) and was released in Feb 2003. SIMULATOR CODE SIMULATE

  24. Simulation Results • Currently, no interface has been defined to generate the graphs automatically in SVM. • The output of the simulation is printed in text files which have been imported into Excel.

  25. Simulation Results (1)

  26. Simulation Results (2)

  27. Simulation Results (3)

  28. Simulation Results (4)

  29. Comparison of the Results

  30. Example UPM

  31. Example CPM

  32. References • Watts S. Humphrey , Marc I. Kellner, Software process modeling: principles of entity process models, Proceedings of the 11th international conference on Software engineering, p.331-342, May 1989, Pittsburgh, Pennsylvania, United States http://portal.acm.org/citation.cfm?doid=74587.74631

More Related