Testing a distributed protocol P employed in a high assurance system involves the modeling of two distinct aspects: i) the intended goals G(P) to be satisfied by P, and ii) the external environment E(P) under which P operates. In complex distributed systems, a wide range of environment behaviors need to be captured by E(P) and/or diverse application requirements need to be stipulated in G(P). This model-based behavior generation is then used as a reference to compare with the actual behavior of a target system protocol. Our approach embodies two functional elements: first, an 'observer' at the service interface of P to the application that monitors the compliance to the conditions stipulated in G(P), and second, an 'injector' that subjects P to a variety of external disturbances as stipulated in E(P). The latter are either actual occurrences of system-level anomalies during an execution of P or computer-generated error conditions as aided by production rules that depict E(P). The modular decomposition that underlies our 3-tier approach (i.e., the observer and perturber modules interweaving with the target system module) enables a flexible testing of distributed protocols in various operating environments and under various application-level goals. The paper describes a language-based tool for generating events that drive the execution of P, and compare the observed behavior of P with a reference desired behavior.
[1]
K. Ravindran,et al.
Structural Complexity and Execution Efficiency of Distributed Application Protocols
,
1993,
SIGCOMM.
[2]
Guy Juanole,et al.
Observer-A Concept for Formal On-Line Validation of Distributed Systems
,
1994,
IEEE Trans. Software Eng..
[3]
K. Ravindran,et al.
Simulation-based validation of protocols for concurrent systems
,
2004,
IEEE Global Telecommunications Conference Workshops, 2004. GlobeCom Workshops 2004..
[4]
Mahesh Viswanathan,et al.
Verisim: Formal analysis of network simulations
,
2000,
ISSTA '00.
[5]
A. Udaya Shankar,et al.
Specifying modules to satisfy interfaces: A state transition system approach
,
1990,
Distributed Computing.
[6]
Martin Peschke,et al.
Design and Validation of Computer Protocols
,
2003
.
[7]
Pamela Zave,et al.
Deriving Specifications from Requirements: an Example
,
1995,
1995 17th International Conference on Software Engineering.
[8]
Pamela Zave,et al.
Component coordination: a telecommunication case study
,
2004,
Comput. Networks.