Guide to Advanced Empirical


Essentials of System Dynamics Models



Download 1.5 Mb.
View original pdf
Page90/258
Date14.08.2024
Size1.5 Mb.
#64516
TypeGuide
1   ...   86   87   88   89   90   91   92   93   ...   258
2008-Guide to Advanced Empirical Software Engineering
3299771.3299772, BF01324126
5.1. Essentials of System Dynamics Models
SD models are represented by a set of difference equations, which is resolved by numerical integration. Model variables, which represent the model state are called
levels and have the following form:
Level t dt = Level t + Integral Rate_in t Rate_out t )
( )

( ))

 dt (The value of a level at a certain point in time
2
depends on its value at the previous discrete point in time plus the integral of the inflows minus the outflows. The initialization of the level happens at the start time of a simulation. In the world of difference equations this would correspond to the starting conditions. In the example given by (1) there is only one inflow, represented by the rate variable Rate_in(t) and one outflow, represented by Rate_out(t). Level variables can be considered as containers or reservoirs that accumulate some tangible (e.g., a pile of papers) or intangible (e.g., number of defects in ad ocuments or motivation level of developers) entities, represented by some countable attribute.
In the physical world, the quantities of the accumulated commodities in a reservoir can be regulated through inflow and outflow pipes, each pipe having a valve. In SD models rate variables play the role of valves. Like levels, rates are represented by equations. Rates can depend on levels, e.g., if information feedback concerning the quantity in a level affects the rate of flow elsewhere in the model, on constants, or on auxiliary variables, which are used as abbreviations for intermediate calculations to breakup more complex computations.
(2) gives an example of a rate variable that represents the development rate inflow) of a design document (level variable DesignDocSize). If DesignDocSize(t) is less than the estimated expected size of the design document (constant
TargetSize), then the daily amount of design documentation added to
DesignDocSize equals the product of the number of active designers (Workforce allocated at time t) and the average productivity per person (constant AveragePr oductivityPerPerson). If the design document is complete, i.e., DesignDocSize ≥
TargetSize, then there is nothing to do and the rate variable DesignDevelopment
Rate equals 0. Thus no more is added to DesignDocSize unless or until some other activity in the model reduces DesignDocSize or increases TargetSize.
2
“dt” denotes a time step from one discrete point in time to the next.


128 MM ller and D. Pfahl
DesignDevelopmentRate t
IF THEN ELSE
DesignDocSize t
Tar
( )
=
( )
<
g getSize,
Workforce t *AverageProductivityPerPerson, 0
(
( )
)
(2)

Download 1.5 Mb.

Share with your friends:
1   ...   86   87   88   89   90   91   92   93   ...   258




The database is protected by copyright ©ininet.org 2024
send message

    Main page