Synthesizing hierarchical state machines from expressive scenario descriptions

Synthesizing hierarchical state machines from expressive scenario descriptions
复制标题

DOI:
10.1145/1656250.1656252
复制
发表时间:
2010
期刊:
ACM Trans. Softw. Eng. Methodol.
影响因子:
--
通讯作者:
J. Whittle;P. K. Jayaraman
J. Whittle;P. K. Jayaraman
中科院分区:
其他
文献类型:
--
作者:
J. Whittle;P. K. Jayaraman

文献摘要

被引文献

相似文献

在用于从基于场景的模型合成状态机的算法的文献中有许多例子。这样做的动机是自动化从基于场景的需求到早期行为设计模型的转换。然而,到目前为止,这些综合算法倾向于生成平面状态机,这可能难以理解或适应实际系统。其中一个原因是,在合成过程中往往不考虑场景之间的关系--要么是因为没有明确定义这些关系,要么是因为合成算法不够复杂,不足以处理它们。如果不考虑关系,合成算法就不可能知道,例如,一个场景在哪里停止,另一个场景在哪里继续。此外,缺乏关系使得很难将结构引入到生成的状态机中。随着UML2.0中交互概述图(IOD)的引入,现在可以以符合UML标准的方式在场景之间指定诸如连续性和并发性之类的关系。但目前还不存在考虑所有这些关系的合成算法。本文提出了一种新的交互概观图扩展版本的综合算法。该算法不仅考虑了连续和并发,还考虑了抢占、暂停和否定场景的概念。此外,该综合算法生成结构良好的状态机。这些状态机是可执行的,因此可用于验证场景。生成的层次结构有助于可读性,因此状态机更易于执行后续的设计步骤。我们的IOD扩展具有正式的语义,并由合成和执行工具UCSIM支持,该工具目前是作为IBM Rational Software Modeler的插件提供的。
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.