TL;DR: Two major Forth extensions provide high-level support for building rapid prototypes for systems as mentioned in this paper, and they form distinct language vocabularies available in the Forth environment, one is a Finite State Machine Language, named FSML, and the other is an object oriented language, named 200L.
Abstract: Two major Forth extensions provide high-level support for building rapid prototypes for systems. These extensions form distinct language vocabularies available in the Forth environment. One is a Finite State Machine Language, named FSML, and the other is an object oriented language, named 200L. Using these extension and the inherent expandability of the Forth language, a prototype can be rapidly created. The modeling method requires four steps. First, using 200L, the system is described as a set of objects. At least one of the objects must be a controlling object and so identified. Second, using FSML, the controlling object is described as a finite state machine. Third, the system's operation is expressed as a collection of one or more finite state machines. Each finite state machine type is defined with a unique machine type name. Any number of instances of a finite state machine type can be dynamically created at execution time. Fourth, communication is allowed between the finite state machines.
TL;DR: This paper presents the theoretical basis for a method for generating test sets from non-deterministic generalised stream X-machines and proves to detect all faults of the implementation provided that the system meets certain initial requirements.
Abstract: X-machines were proposed by Holcombe as a possible specification language and since then a number of further investigations have demonstrated that the model is intuitive and easy to use as well as general enough to cater for a wide range of applications. In particular (generalised) stream X-machines have been found to be extremely useful as a specification method and most of the theory developed so far has concentrated on this particular class of X-machines. Furthermore, a method for testing systems specified by stream X-machines exists and is proved to detect all faults of the implementation provided that the system meets certain initial requirements. However, this method can only be used to generate test sequences from deterministic X-machine specifications. In this paper we present the theoretical basis for a method for generating test sets from non-deterministic generalised stream X-machines.
TL;DR: In this article, the authors present a method and apparatus for determining an objective measure of performance of an extended finite state machine, i.e., the time required to perform a particular service.
Abstract: A method and apparatus is disclosed for determining an objective measure of performance of an extended finite state machine. Many modern complex systems, for example, computer communications protocols and computer or machine user interfaces, can be represented as extended finite state machines. A formal description of the extended finite state machine is employed to obtain a canonical form description. The canomical form description, combined with a service description, is used to generate a list of canocial state transitions transited by the extended finite state machine to perform the service. From this list, an objective measurement of performance, e.g., the time required to perform a particular service, is obtained. This objective measurement may then be used as desired, for example, to select an optimum extended finite state machine from a plurality of extended finite state machines.
TL;DR: This paper presents a refinement of a type of generalized machine, namely the stream X-machine, both as a specification tool and as a basis of a testing method and provides a method for testing machines constructed through such a process of refinement.
Abstract: Ipate and Holcombe [6] present such an integrated approach by using a type of generalized machine, namely the stream X-machine, both as a specification tool and as a basis of a testing method However, if this type of specification method is to become usable in a wide range of software applications and acceptable to a wide community of software engineers then there needs to be ways of refining existing specifications into more complex and more detailed versions Also, for each such process of refinement, there needs to be methods of deriving the test set for the resulting machine from that of the initial machine This paper present such a refinement and also provides a method for testing machines constructed through such a process of refinement