Title :
Learning Communicating Automata from MSCs
Author :
Bollig, Benedikt ; Katoen, Joost-Pieter ; Kern, Carsten ; Leucker, Martin
Author_Institution :
LSV, ENS Cachan, Cachan, France
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.
Keywords :
distributed processing; finite state machines; learning (artificial intelligence); Angluin learning algorithm; FIFO buffers; MSC; communicating automata; communicating finite-state machines; distributed systems; finite automata; message sequence charts; optimization technique; Software engineering/requirements/specifications/elicitation methods; computing methodologies/artificial intelligence/learning/induction; software engineering/design/design concepts; theory of computation/computation by abstract devices/models of computation/automata.;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2009.89