Foundations of the X-machine Theory for Testing Research Report CS-02-06

The X-machine (also known as Eilenberg X-machine) is an abstract model similar to the finite-state machine (FSM), which contains a data set. The edges between control-states are labelled with relations (functions) that operate on this data. In this way the machine integrates the control structure and the data processing under the same formalism, and moreover, it allows them to be specified separately. The Xmachine (EXM) is a general model of computation, in the sense that it can simulate other machine models including the Turing machine. Several classes of EXM have been proposed by means of restrictions on the data set or on the form of the relations (functions). The stream X-machine (SXM) is a subclass of EXM with capabilities for handling sequences (streams) of inputs and outputs. Even more important is that the Holcombe-Ipate testing approach (SXMT) corroborates the functional equivalence between SXM behaviours (finds all the faults). Some recent investigations have shown that the SXMT can be extended to some other classes of EXM, and to deal with non-determinism. This report presents a comprehensive survey of the theoretical foundations on which the testing approaches for these machines are based. The applicability of the SXMT to systems of communicating EXM has been studied elsewhere. This report covers two models related to these systems, namely the straight-move stream X-machine (Sm-SXM), and the multiple-stream X-machine (MSXM). The M-SXM is formalised and analysed here and it is proved that any MSXM can be reduced to a SXM that computes the same relation.

[1]  J. Glenn Brookshear,et al.  Theory of Computation: Formal Languages, Automata, and Complexity , 1989 .

[2]  Marian Gheorghe,et al.  Deterministic stream X-machines based on grammar systems , 2001, Where Mathematics, Computer Science, Linguistics and Biology Meet.

[3]  Mike Holcombe What are X-Machines? , 2000, Formal Aspects of Computing.

[4]  Marian Gheorghe,et al.  A Subclass of Stream X machines with Underlying Distributed Grammars , 2000 .

[5]  Florentin Ipate Theory of X-machines with applications in specification and testing , 1995 .

[6]  Florentin Ipate,et al.  Another Look at Computability , 1996, Informatica.

[7]  J. Barnard,et al.  Communicating X-machines , 1996, Inf. Softw. Technol..

[8]  Judith Barnard,et al.  COMX: a design methodology using communicating X-machines , 1998, Inf. Softw. Technol..

[9]  Florentin Ipate,et al.  Generating Test Sets from Non-Deterministic Stream X-Machines , 2000, Formal Aspects of Computing.

[10]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[11]  Alexandre Petrenko,et al.  Test Selection Based on Communicating Nondeterministic Finite-State Machines Using a Generalized WP-Method , 1994, IEEE Trans. Software Eng..

[12]  Florentin Ipate,et al.  An integration testing method that is proved to find all faults , 1997, Int. J. Comput. Math..

[13]  Mike Holcombe X-machines as a basis for dynamic system specification , 1988, Softw. Eng. J..

[14]  A. J. Cowling,et al.  A Structured Way to Use Channels for Communication in X-Machine Systems , 2000, Formal Aspects of Computing.

[15]  Tudor Balanescu Generalised Stream X-Machines with Output Delimited Type , 2000, Formal Aspects of Computing.

[16]  Mike Holcombe,et al.  Using an X-Machine to Model a Video Cassette Recorder , 1995 .

[17]  Gilbert Thomas Laycock,et al.  The theory and practice of specification based software testing , 1993 .

[18]  Cristina Vertan,et al.  A New Approach to Communicating X-Machine Systems , 2000, J. Univers. Comput. Sci..

[19]  Mike Holcombe An integrated methodology for the specification, verification and testing of systems , 1993, Softw. Test. Verification Reliab..

[20]  Petros Kefalas,et al.  Formal Modelling of Reactive Agents as an Aggregation of Simple Behaviours , 2002, SETN.

[22]  Florentin Ipate,et al.  X-machine Speciication and Reenement of Digital Devices , 1997 .

[23]  M. W. Shields An Introduction to Automata Theory , 1988 .

[24]  Stephen P. Banks,et al.  Modelling of Hybrid Systems Based on Extended Coloured Petri Nets , 1994, Hybrid Systems.

[25]  M. Holcombe,et al.  Almost all software testing is futile ! , 2022 .

[26]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[27]  Mark Harman,et al.  Testing conformance of a deterministic implementation against a non-deterministic stream X-machine , 2004, Theor. Comput. Sci..

[28]  Florentin Ipate,et al.  Specification and Testing Using Generalised Machines: A Presentation and a Case Study , 1998, Softw. Test. Verification Reliab..

[29]  C. J. Harwood Correct Systems: Building a Business Process Solution , 2000 .

[30]  Florentin Ipate,et al.  Testing Non-Deterministic X-Machines , 2003, Grammars and Automata for String Processing.

[31]  Marian Gheorghe,et al.  Communicating Stream X-Machines Systems are no more than X-Machines , 1999, J. Univers. Comput. Sci..

[32]  Anthony J. H. Simons,et al.  Complete Behavioural Testing of Object-Oriented Systems using CCS- Augmented X-Machines , 2002 .

[33]  Mark Harman,et al.  Testing Conformance to a Quasi-Non-Deterministic Stream X-Machine , 2000, Formal Aspects of Computing.

[34]  Marian Gheorghe,et al.  On Testing Generalized Stream X-Machines , 2000, Recent Topics in Mathematical and Computational Linguistics.

[35]  Florentin Ipate,et al.  A method for refining and testing generalised machine specifications , 1998, Int. J. Comput. Math..

[36]  Marian Gheorghe Generalised Stream X-Machines and Cooperating Distributed Grammar Systems , 2000, Formal Aspects of Computing.

[37]  Marian Gheorghe,et al.  P Systems with Replicated Rewriting and Stream X-Machines (Eilenberg Machines) , 2002, Fundam. Informaticae.

[38]  Petros Kefalas,et al.  A DESIGN LANGUAGE AND TOOL FOR X-MACHINES SPECIFICATION , 2000 .