Subscribe

Issue No.03 - May/June (2010 vol.36)

pp: 390-408

Benedikt Bollig , ENS Cachan and CNRS, Cachan

Joost-Pieter Katoen , RWTH Aachen University, Aachen

Carsten Kern , RWTH Aachen University, Aachen

Martin Leucker , Technical University Munich, Munich

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2009.89

ABSTRACT

This paper is concerned with bridging the gap between requirements and distributed systems. Requirements are defined as basic message sequence charts (MSCs) specifying positive and negative scenarios. Communicating finite-state machines (CFMs), i.e., finite automata that communicate via FIFO buffers, act as system realizations. The key contribution is a generalization of Angluin's learning algorithm for synthesizing CFMs from MSCs. This approach is exact—the resulting CFM precisely accepts the set of positive scenarios and rejects all negative ones—and yields fully asynchronous implementations. The paper investigates for which classes of MSC languages CFMs can be learned, presents an optimization technique for learning partial orders, and provides substantial empirical evidence indicating the practical feasibility of the approach.

INDEX TERMS

Software engineering/requirements/specifications/elicitation methods, software engineering/design/design concepts, computing methodologies/artificial intelligence/learning/induction, theory of computation/computation by abstract devices/models of computation/automata.

CITATION

Benedikt Bollig, Joost-Pieter Katoen, Carsten Kern, Martin Leucker, "Learning Communicating Automata from MSCs",

*IEEE Transactions on Software Engineering*, vol.36, no. 3, pp. 390-408, May/June 2010, doi:10.1109/TSE.2009.89REFERENCES