libalf: the automata learning framework
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
PETRI NETS'10 Proceedings of the 31st international conference on Applications and Theory of Petri Nets
An enhanced flow analysis technique for detecting unreachability faults in concurrent systems
Information Sciences: an International Journal
A framework for pathologies of message sequence charts
Information and Software Technology
Fundamenta Informaticae - Applications and Theory of Petri Nets and Other Models of Concurrency, 2010
Model learning and test generation for event-b decomposition
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
A protocol development framework for SLA negotiations in cloud and service computing
GECON'12 Proceedings of the 9th international conference on Economics of Grids, Clouds, Systems, and Services
Unifying FSM-inference algorithms through declarative specification
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.01 |
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.