Software Process Modeling and Simulation - PowerPoint PPT Presentation

About This Presentation
Title:

Software Process Modeling and Simulation

Description:

Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003 – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 33
Provided by: SadafMu2
Category:

less

Transcript and Presenter's Notes

Title: Software Process Modeling and Simulation


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
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 ModelRe-modeled (1)
INITIAL
TRUE
SET_INITIAL_TO_FALSE
FALSE
12
Process ModelRe-modeled (2)
REWORK_CODE
FALSE
in (MODULE_CODE.CODE_DEVELOPED)
SET_REWORK_CODE_TO_FALSE
TRUE
13
Process ModelRe-modeled (3)
REWORK_TESTS
FALSE
in (MODULE_CODE.TESTS_DEVELOPED)
SET_REWORK_TESTS_TO_FALSE
TRUE
14
Process ModelRe-modeled (4)
CLEAN
FALSE
in (MODULE_CODE.DEVELOPING_CODE)
in (MODULE_CODE.DEVELOPING_CODE)
TRUE
15
Process ModelRe-modeled (5)
PASSED
FALSE
in (TEST_EXEC_REPORT.RUNNING_TESTS)
TRUE
16
Process ModelRe-modeled (6)
PERSONNEL
TWO
DECREASE_1
INCREASE_1
ONE
DECREASE_1
INCREASE_1
ZERO
17
Process ModelRe-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_FA
LSE
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 ModelRe-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 ModelRe-modeled (9)
TEST_EXEC_REPORT
NEW
in (MODULE_CODE.CODE_DEVELOPED) and in
(MODULE_TESTS.TESTS_DEVELOPED) and not in
(PERSONNEL.ZERO) / DECREASE_1
RUNNING _TESTS
after dc/round hr
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 ModelRe-modeled (10)
TIME
ROUND
ONE
ACTIVE
END_ROUND / round 2
After 1 s/ ttime ttime1
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
  1. 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?doid74587.7463
    1
Write a Comment
User Comments (0)
About PowerShow.com