Synthesizing hierarchical state machines from expressive scenario descriptions

Whittle, Jon and Jayaraman, Praveen K. (2010) Synthesizing hierarchical state machines from expressive scenario descriptions. ACM Transactions on Software Engineering and Methodology, 19 (3). 8:1-8:45. ISSN 1557-7392

Full text not available from this repository.


There are many examples in the literature of algorithms for synthesizing state machines from scenario-based models. The motivation for these is to automate the transition from scenario-based requirements to early behavioral design models. To date, however, these synthesis algorithms have tended to generate flat state machines which can be difficult to understand or adapt for practical systems. One of the reasons for this is that relationships between scenarios are often not taken into account during synthesis—either because the relationships are not explicitly defined or because the synthesis algorithms are not sophisticated enough to cope with them. If relationships are not considered, it is impossible for a synthesis algorithm to know, for example, where one scenario stops and another continues. Furthermore, the lack of relationships makes it difficult to introduce structure into the generated state machines. With the introduction of interaction overview diagrams (IODs) in UML2.0, relationships such as continuation and concurrency can now be specified between scenarios in a way that conforms to the UML standard. But synthesis algorithms do not currently exist that take into account all of these relationships. This article presents a novel synthesis algorithm for an extended version of interaction overview diagram. This algorithm takes into account not only continuation and concurrency, but also preemption, suspension and the notion of a negative scenario. Furthermore, the synthesis algorithm generates well-structured state machines. These state machines are executable and can therefore be used to validate the scenarios. The hierarchy generated aids readability and so the state machines are more amenable to subsequent design steps. Our IOD extensions have a formal semantics and are supported by a synthesis and execution tool, UCSIM, which is currently provided as a plug-in to IBM Rational Software Modeler.

Item Type:
Journal Article
Journal or Publication Title:
ACM Transactions on Software Engineering and Methodology
Uncontrolled Keywords:
ID Code:
Deposited By:
Deposited On:
21 Aug 2012 09:19
Last Modified:
18 Sep 2023 00:34