The following provides guidelines for :
The number of scenaria embedded in the change process model can be calculated using the recursive function provided below. This function is a breath first descent in the change process model. It is first called with the parameter G as the top goal. In this function, Gi are the sub-goals of G.
Top of the pageFunction Calculate(G)If G participates to a AND resolution ThenEnd CalculateC : = 1If G participates to a OR resolution Then
For all Gi
C : = C * Calculate(Gi)
Calculate := CC : = 0If G participates to a AND/OR resolution Then
For all Gi
C : = C + Calculate(Gi)
Calculate := CC : = 0Else Calculate : = 1
For all Gi
C : = C + Calculate(Gi)
Calculate := 2C - 1
The procedure for generating all scenaria from the change process model is called Generate(G), where G is a goal and Gi its sub-goals. It is a recursive procedure that must be initially called with the top goal of the change process model as the parameter, an empty scenario description must be created first. It shall be noticed that this procedure is a simplification of the more general one that transforms a logical formula into a disjunction of conjunctions.
Let G be a change goal and Gi its sub-goals and desS a scenario description under generation (empty at the first place).
Procedure Generate(G)
Concatenate(G, desS)End Generate
/* this function extends the scenario description desS with G */If G participates to a AND resolution
Then For each scenario description desS comprising GIf G participates to a OR resolutionFor each Gi
Concatenate(Generate(Gi), desS)Then For each scenario description desS comprising GIf G participates to a AND/OR resolutionCreate i-1 copies of desS (called desSi)
For each Gi
Concatenate(Generate(Gi), desSi)Then For each scenario description desS comprising GCreate 2i-2 copies of desS (called desSi)
For each of the 2i-1 alternatives AiFor each goal Gi of Ai
Concatenate(Generate(Gi), desSi)