ABSTRACT

This chapter aims to familiarize the reader with an example of a real-world library for making families of communication protocols. Although it is not perfect, it is in use and evolving. The main argument against it may be that there are too few C++ classes with too many function members. The programmer has two basic classes at his or her disposal, namely, FSMSystem and FiniteStateMachine. The class FiniteStateMachine models a generic communication process (communication protocol). Each individual communication protocol is represented by an instance of this class. The FSM system clearly represents just an infrastructure, or an unused platform. In reality, an FSM system is always used so that at least a couple of finite state machines are registered to it, together representing a group of finite state machines. An instance of the class FSMSystem is an object representing a finite state machine system, that is, a group of finite state machines.