So far, we have studied TTCN-3's mechanisms to test the system under test (SUT) via an asynchronous, message-based communication mechanism. This is the appropriate test approach in many applications and indeed has been the only communication paradigm that was available in TTCN-2 . One of the major drivers behind the renewal of TTCN, which resulted in the standardisation of TTCN-3, was the extension of TTCN-based testing to new application areas. Many of these cannot be adequately modelled using message-based communication but rather require some form of procedure-based communication to be tested in a natural manner. Thus, a procedure-based communication paradigm was added to TTCN-3. In this chapter, we will study how systems that rely on procedure-based communication can be tested adequately with TTCN-3.
6.1 Procedure- versus Message-Based Communication
Message-based communication, which has been the dominating paradigm in the previous sections, is distinguished by the fact that communication is between equals: even in a client/server scenario, messages are sent and received using the same primitives (send, receive) regardless of the role of the communication partner. Only the semantics of the protocol create the distinction between clients and servers.
In contrast, procedure-based communication makes a clear distinction between these roles: for each communication act, there exists a distinct client that invokes (calls) a remote procedure, ...