Learning Communicating Automata from MSCs

Benedikt Bollig, Joost-Pieter Katoen, Carsten Kern, Martin Leucker
2010 IEEE Transactions on Software Engineering  
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
more » ... et of positive scenarions 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.
doi:10.1109/tse.2009.89 fatcat:5mbmadir6rdaxp5nodnwp36o7m