Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University...
-
Upload
wilfred-newman -
Category
Documents
-
view
217 -
download
0
Transcript of Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University...
![Page 1: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/1.jpg)
Software Process Modeling and Simulation
Sadaf MustafizSchool of Computer Science
McGill University
Winter 2003
![Page 2: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/2.jpg)
2
Outline Software Process Entities Example EPM Process Model (re-modeled) Unconstrained Process Model Scheduling Considerations Simulation Results
![Page 3: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/3.jpg)
3
Software Process Entities
Some obvious entities are: Deliverable code Users’ installation and operation
manuals Requirements documents Design Test cases and procedures
![Page 4: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/4.jpg)
4
Example EPM (1) Modeled using a commercially available
software system called STATEMATE. Focuses on behavioural modeling
perspective Approach to behavioural modeling
utilizes statecharts
![Page 5: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/5.jpg)
5
Example EPM (2)Considering the activities occurring between thetime when1. detailed design for the module has been
developed, and 2. the module has successfully passed unit testing.
Three entities of interest:1. Module code2. Unit tests for the module3. Test execution and analysis results
![Page 6: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/6.jpg)
6
Basic EPM Example (3)
![Page 7: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/7.jpg)
7
Example EPM (4)Module Code Entity
![Page 8: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/8.jpg)
8
Example EPM (5)Module Unit Tests Entity
![Page 9: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/9.jpg)
9
Example EPM (6)Test Execution and Analysis Results Entity
![Page 10: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/10.jpg)
10
Example EPM (7)
Example Time Line for Module Code Entity
PassiveState
ActiveState
• 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.
![Page 11: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/11.jpg)
11
Process Model:Re-modeled (1)
TRUE
FALSE
SET_INITIAL_TO_FALSE
INITIAL
![Page 12: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/12.jpg)
12
Process Model:Re-modeled (2)
FALSE
TRUE
[in (MODULE_CODE.CODE_DEVELOPED)]
REWORK_CODE
SET_REWORK_CODE_TO_FALSE
![Page 13: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/13.jpg)
13
Process Model:Re-modeled (3)
FALSE
TRUE
[in (MODULE_CODE.TESTS_DEVELOPED)]
REWORK_TESTS
SET_REWORK_TESTS_TO_FALSE
![Page 14: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/14.jpg)
14
Process Model:Re-modeled (4)
FALSE
TRUE
[in (MODULE_CODE.DEVELOPING_CODE)]
CLEAN
[in (MODULE_CODE.DEVELOPING_CODE)]
![Page 15: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/15.jpg)
15
Process Model:Re-modeled (5)
FALSE
TRUE
[in (TEST_EXEC_REPORT.RUNNING_TESTS)]
PASSED
![Page 16: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/16.jpg)
16
Process Model:Re-modeled (6)
TWO
ONE
DECREASE_1
PERSONNEL
ZERO
DECREASE_1
INCREASE_1
INCREASE_1
![Page 17: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/17.jpg)
17
Process Model:Re-modeled (7)
NONE
DEVELOPING_CODE
MODULE_CODE
IN_DEVELOPING
_CODE
CODE_DEVELOPED
TESTED_N_PASSED
ON_HOLD
DETL_DES_RDY [in (INITIAL.TRUE) and not
in (PERSONNEL.ZERO)] / DECREASE_1
COMPILED [in (CLEAN.TRUE)] / SET_REWORK_CODE_TO_FALSE after dc/round hr
/ print (dc/round), INCREASE_1
TESTS_COMPLETED [in (PASSED.TRUE)]
PRE_CODE_CHECKED
CHECK_PRE_CODE
ANALYZED [in (REWORK_CODE.TRUE)] and not [in (PERSONNEL.ZERO)] /
DECREASE_1
![Page 18: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/18.jpg)
18
Process Model:Re-modeled (8)
NONE
DEVELOPING_TESTS
MODULE_TESTS
IN_DEVELOPING
_TESTS
TESTS_DEVELOPED
RUN_N_PASSED
ON_HOLD
DETL_DES_RDY [in (INITIAL.TRUE) and not in (PERSONNEL.ZERO)] / SET_INITIAL_TO_FALSE, DECREASE_1
TESTS_DEVELOPED / SET_REWORK_TESTS_TO_FALSE
after dt/round hr /print (dt/round), INCREASE_1
TESTS_COMPLETED [in (PASSED.TRUE)]
PRE_CODE_CHECKED
CHECK_PRE_CODE
ANALYZED [in (REWORK_TESTS.TRUE) and not [in (PERSONNEL.ZERO)] /
DECREASE_1]
![Page 19: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/19.jpg)
19
Process Model:Re-modeled (9)
NEW
RUNNING_TESTS
TEST_EXEC_REPORT
IN_RUN_TESTS
ANALYZING_PROBS
PASSED_TESTING
[in (MODULE_CODE.CODE_DEVELOPED)] and [in (MODULE_TESTS.TESTS_DEVELOPED) and
not in (PERSONNEL.ZERO)] / DECREASE_1
after rt hr / print (rt) TESTS_COMPLETE
D [in
(PASSED.TRUE)] / INCREASE_1,
END_FINAL_ROUND
ANALYZED
TESTS_ABORTED or TESTS_COMPLETED
[not in (PASSED.TRUE)]IN_
ANALYZING
after ap hr / print (ap), INCREASE_1, END_ROUND
WAIT
after dc/round hr
![Page 20: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/20.jpg)
20
Process Model:Re-modeled (10)
ONE
TWO
END_ROUND / round = 2
ROUND
THREE
PASSED
END_ROUND / round = 3
END_FINAL_ROUND
ACTIVE
TIME
After 1 s/ ttime = ttime+1
![Page 21: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/21.jpg)
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.
![Page 22: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/22.jpg)
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
![Page 23: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/23.jpg)
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
![Page 24: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/24.jpg)
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.
![Page 25: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/25.jpg)
25
Simulation Results (1)
Module_Code
TNP
NONE
DC
CD
![Page 26: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/26.jpg)
26
Simulation Results (2)
Module_Tests
RNP
NONE
DT
TD
![Page 27: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/27.jpg)
27
Simulation Results (3)Test_Exec_Report
1 7 13 19 25 31 37 43 49 55 61 67 73
PT
NEW
RT
AP
![Page 28: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/28.jpg)
28
Simulation Results (4)
Pool of Programmers
00.5
11.5
22.5
Time
Per
son
nel
![Page 29: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/29.jpg)
29
Comparison of the Results
Module_Code
Module_Tests
Test_Exec_Report
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
Time
![Page 30: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/30.jpg)
30
Example UPM
![Page 31: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/31.jpg)
31
Example CPM
![Page 32: Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f385503460f94c54f95/html5/thumbnails/32.jpg)
32
References1. 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