Issue No. 03 - May/June (2010 vol. 36)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2009.89
Benedikt Bollig , ENS Cachan and CNRS, Cachan
Martin Leucker , Technical University Munich, Munich
Joost-Pieter Katoen , RWTH Aachen University, Aachen
Carsten Kern , RWTH Aachen University, Aachen
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.
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.
Benedikt Bollig, Martin Leucker, Joost-Pieter Katoen, Carsten Kern, "Learning Communicating Automata from MSCs", IEEE Transactions on Software Engineering, vol. 36, no. , pp. 390-408, May/June 2010, doi:10.1109/TSE.2009.89