One of the main design goals of IBDL is to provide formal support and automation to testing. Specifications written in IBDL can be compiled into code that can be used to validate tests. IBDL can support sequence testing very well, as a specification explicitly expresses the behaviors of subsequent messages after a message completion. One can send a sequence of messages one after the other to the implementation, and check for every message with respect to all the previous messages, if it is behaving as defined by the specification.
The sequence testing and validation system (Fig. 1) consist of