A data-flow approach to test multi-agent ASMs.

This paper illustrates the theoretical basis of an approach to apply data flow testing techniques to abstract state machines (ASMs). In particular, we focus on multi-agent ASMs extended with the seq construct for turbo ASMs. We explain why traditional data flow analysis can not simply be applied to...

Full description

Bibliographic Details
Main Author: Cavarra, A
Format: Journal article
Language:English
Published: 2011
Description
Summary:This paper illustrates the theoretical basis of an approach to apply data flow testing techniques to abstract state machines (ASMs). In particular, we focus on multi-agent ASMs extended with the seq construct for turbo ASMs. We explain why traditional data flow analysis can not simply be applied to ASMs: data flow coverage criteria are strictly based on the mapping between a program and its flow graph whereas in this context we are interested in tracing the flow of data between states in ASM runs as opposed to between nodes in a program's flow graph.We revise the classical concepts in data flow analysis taking into account the specific, parallel nature of ASMs, and define them on two levels: the syntactic (rule) level, and the computational (run) level. In particular, we analyze the role played by different types of terms in ASMs and deal with the problem of terms that are monitored by a given agent but controlled by another one, terms that are shared between several agents, and derived terms. We also discuss what consequences the use of the turbo ASM construct seq has on our analysis and revise the approach accordingly. Finally, we specify a family of ad hoc data flow coverage criteria for this class of ASMs and introduce a model checking-based approach to generate automatically test cases satisfying a given set of coverage criteria from ASM models. BCS © 2009.