Home > Research > Publications & Outputs > Synthesizing hierarchical state machines from e...
View graph of relations

Synthesizing hierarchical state machines from expressive scenario descriptions

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Synthesizing hierarchical state machines from expressive scenario descriptions. / Whittle, Jon; Jayaraman, Praveen K.
In: ACM Transactions on Software Engineering and Methodology, Vol. 19, No. 3, 01.02.2010, p. 8:1-8:45.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Whittle, J & Jayaraman, PK 2010, 'Synthesizing hierarchical state machines from expressive scenario descriptions', ACM Transactions on Software Engineering and Methodology, vol. 19, no. 3, pp. 8:1-8:45. https://doi.org/10.1145/1656250.1656252

APA

Whittle, J., & Jayaraman, P. K. (2010). Synthesizing hierarchical state machines from expressive scenario descriptions. ACM Transactions on Software Engineering and Methodology, 19(3), 8:1-8:45. https://doi.org/10.1145/1656250.1656252

Vancouver

Whittle J, Jayaraman PK. Synthesizing hierarchical state machines from expressive scenario descriptions. ACM Transactions on Software Engineering and Methodology. 2010 Feb 1;19(3):8:1-8:45. doi: 10.1145/1656250.1656252

Author

Whittle, Jon ; Jayaraman, Praveen K. / Synthesizing hierarchical state machines from expressive scenario descriptions. In: ACM Transactions on Software Engineering and Methodology. 2010 ; Vol. 19, No. 3. pp. 8:1-8:45.

Bibtex

@article{65ad0ea0e4b04e5ca64d29ef26770b90,
title = "Synthesizing hierarchical state machines from expressive scenario descriptions",
abstract = "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.",
author = "Jon Whittle and Jayaraman, {Praveen K.}",
year = "2010",
month = feb,
day = "1",
doi = "10.1145/1656250.1656252",
language = "English",
volume = "19",
pages = "8:1--8:45",
journal = "ACM Transactions on Software Engineering and Methodology",
issn = "1557-7392",
publisher = "Association for Computing Machinery (ACM)",
number = "3",

}

RIS

TY - JOUR

T1 - Synthesizing hierarchical state machines from expressive scenario descriptions

AU - Whittle, Jon

AU - Jayaraman, Praveen K.

PY - 2010/2/1

Y1 - 2010/2/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=76149111133&partnerID=8YFLogxK

U2 - 10.1145/1656250.1656252

DO - 10.1145/1656250.1656252

M3 - Journal article

VL - 19

SP - 8:1-8:45

JO - ACM Transactions on Software Engineering and Methodology

JF - ACM Transactions on Software Engineering and Methodology

SN - 1557-7392

IS - 3

ER -