**Input: *** *, an intermediate testable model of a given scenario |

graph with initial node, . |

**Output: *** *, a collection of test scenarios forming the test suite. |

**Data: *** *, a set of base paths which is initially empty |

* *: a set of internal paths corresponding to a composite node, |

* *. |

1:* *Generate base path, from ITM |

2:* * //* * Add to the set of base paths |

3:* ***while *** ***do** |

4: * ***for ** path * ***do** |

5: Let be a sequence |

of adjacent nodes in |

6: **for all *** ** ***do** |

7: **if ** is not a composite node **then** |

8: // is fully expanded and it |

is added to the test suite |

9: Remove from |

10: **else** |

11: * ***for ** composite node * ***do** |

12: * * * *Get internal paths corresponding to the node |

13: * * * *Let denote internal paths |

* *corresponding to the composite node |

14: * * * ***for *** ***do** |

15: * *Replace the node in with the internal path |

and let the expanded form of be |

16: * * // Add to |

17: * * * ***end for** |

18: * ***end for** |

19: * ***end if** |

20: * ***end for** |

21: * ***end for** |

22:* ***end while** |

Algorithm—Test scenario generation from ITM |