Channel system (computer science)

Last updated

In computer science, a channel system is a finite state machine similar to communicating finite-state machine in which there is a single system communicating with itself instead of many systems communicating with each other. A channel system is similar to a pushdown automaton where a queue is used instead of a stack. Those queues are called channels. Intuitively, each channel represents a sequence a message to be sent, and to be read in the order in which they are sent.

Contents

Definition

Channel system

Formally, a channel system (or perfect channel system) is defined as a tuple with:

Depending on the author, a channel system may have no initial state and may have an empty alphabet. [2]

Configuration

A configuration or global state of the channel system is a tuple belonging to . Intuitively, a configuration represents that a run is in state and that its -th channel contains the word .

The initial configuration is , with the empty word.

Step

Intuitively, a transition means that the system may goes to control state to by writing an to the end of the channel . Similarly means that the system may goes to control state to by removing a starting the word .

Formally, given a configuration , and a transition , there is a perfect step , where the step adds a letter to the end of the -th word. Similarly, given a transition , there is a perfect step where the first letter of the -th word is and has been removed during the step.

Run

A perfect run is a sequence of perfect step, of the form . We let denote that there is a perfect run starting at and ending at .

Languages

Given a perfect or a lossy channel system , multiple languages may be defined.

A word over is accepted by if it is the concatenation of the labels of a run of . The language defined by is the set of words accepted by .

The set of reachable configuration of , denoted is defined as the set of configuration reachable from the initial state. I.e. as the set of configurations such that .

Given a channel , the channel of is the set of tuples such that .

Channel system and Turing machine

Most problem related to perfect channel system are undecidable [1] :92. [3] :22 This is due to the fact that such a machine may simulates the run of a Turing machine. This simulation is now sketched.

Given a Turing machine , there exists a perfect channel system such that any run of of length can be simulated by a run of of length . Intuitively, this simulation consists simply in having the entire tape of the simulated Turing machine in a channel. The content channel is then entirely read and immediately rewritten in the channel, with one exception, the part of the content representing the head of the Turing machine is changed, to simulate a step of the Turing machine computation.

Variants

Multiple variants of channel systems have been introduced. The two variants introduced below does not allow to simulate a Turing machine and thus allows multiple problem of interest to be decidable.

One channel machine

A one-channel machine is a channel system using a single channel. The same definition also applies for all variants of channel system.

Counter machine

When the alphabet of a channel system contains a single message, then each channel is essentially a counter. It follows that those systems are essentially Minsky machines. We call such systems counter machines. This same definition applies for all variants of channel system. [4] :337

Completely specified protocol

A completely specified protocol (CSP) is defined exactly as a channel system. However, the notion of step and of run are defined differently.

A CSP admits two kinds of steps. Perfect steps, as defined above, and a message loss transition step. We denote a message loss transition step by .

Looseness

A lossy channel system or machine capable of lossiness error is an extension of completely specified protocol in which letters may disappear anywhere.

A lossy channel system admits two kinds of steps. Perfect steps, as defined above, and lossy step. We denote a lossy step, .

A run in which channel are emptied as soon as messages are sent into them is a valid run according to this definition. For this reason, some fairness conditions may be introduced to those systems.

Channel fairness

Given a message a channel , a run is said to be channel fair with respect to if, assuming there are infinitely many steps in which a letter is sent to then there are infinitely many steps in which a letter is read from . [5] :88

A computation is said to be channel fair if it is channel fair with respect to each channel .

Impartiality

The impartiality condition is a restriction to the channel fairness condition in which both the channel and the letter are considered.

Given a message and a channel , a run is said to be impartial with respect to and if, assuming there are infinitely many steps in which is sent to then there are infinitely many steps in which is read from . [5] :83

A computation is said to be impartial with respect to a channel if it is impartial with respect to and a messages . It is said to be impartial if it is impartial with respect to every channels .

Message fairness

The message fairness property is similar to impartiality, but the condition only have to hold if there is an infinite number of step at which may be read. Formally, a run is said to be message faire with respect to and if, assuming there are infinitely many steps in which is sent to , and infinitely many step which occurs in a state such that there exists a transition , then there are infinitely many steps in which is read from . [5] :88

Boundedness

The run is said to have bounded lossiness if the number of letter removed between two perfect steps is bounded. [4] :339

Insertion of errors

A machine capable of insertion of error is an extension of channel system in which letters may appear anywhere.

A machine capable of insertion of error admits two kinds of steps. Perfect steps, as defined above, and insertion steps. We denote an insertion step by . [3] :25

Duplication errors

A machine capable of duplication error is an extension of machine capable of insertion of error in which the inserted letter is a copy of the previous letter.

A machine capable of insertion of error admits two kinds of steps. Perfect steps, as defined above, and duplication steps. We denote an insertion step by . [3] :26

A non-duplicate machine capable of duplication error is a machine which ensures that in each channel, the letters alternate between a special new letter #, and a regular letter from the alphabet of message. If it is not the caes, it means a duplication occurred and the run rejects. This process allow to encode any channel system into a machine capable of duplication error, while forcing it not to have errors. Since channel systems can simulate machines, it follows that machines capable of duplication error can simulate Turing machine.

Properties

The set of reachable configurations is recognizable for lossy channel machines [3] :23 and machines capable of insertions of errors [3] :26. It is recursively enumerable for machine capable of duplication error [3] :27.

Problems and their complexity

This section contain a list of problems over channel system, and their decidability of complexity over variants of such systems.

Termination problem

The termination problem consists in deciding, given a channel system and an initial configuration whether all runs of starting at are finite. This problem is undecidable over perfect channel systems, even when the system is a counter machine [4] or when it is a one-channel machine [3] :26.

This problem is decidable but nonprimitive recursive over lossy channel system. [2] :10 This problem is trivially decidable over machine capable of insertion of errors [3] :26.

Reachability problem

The reachability problem consists in deciding, given a channel system and two initial configurations and whether there is a run of from to . This problem is undecidable over perfect channel systems and decidable but nonprimitive recursive over lossy channel system. [2] :10 This problem is decidable over machine capable of insertion of errors . [3] :26

Reachability problem

The deadlock problem consists in deciding whether there is a reachable configuration without successor. This problem is decidable over lossy channel system [2] :10 and trivially decidable over machine capable of insertion of errors [3] :26. It is also decidable over counter machine. [6]

Model checking problem

The model checking problem consists in deciding whether given a system and a CTL**-formula or a LTL-formula or a whether the language defined by satisfies . This problem is undecidable over lossy channel system. [3] :23 [5]

Recurrent state problem

The recurrent state problem consists in deciding, given a channel system and an initial configuration and a state whether there exists a run of , starting at , going infinitely often through state . This problem is undecidable over lossy channel system, even with a single channel. [3] :23 [5] :80

Equivalent finite state machine

Given a system , there is no algorithm which computes a finite state machine representing for the class of lossy channel system. [3] :24 This problem is decidable over machine capable of insertion of error . [3] :26

Boundedness problem

The boundedness problem consists in deciding whether the set of reachable configuration is finite. I.e. the length of the content of each channel is bounded. This problem is trivially decidable over machine capable of insertion of errors [3] :26. It is also decidable over counter machine. [6]

Eventually properties

The eventuality property, or inevitability property problem consists in deciding, given a channel system and a set of configurations whether all run of starting at goes through a configuration of . This problem is undecidable for lossy channel system with impartiality [5] :84 and with the two other fairness constraints. [5] :87

Safety property

The safety property problem consists in deciding, given a channel system and a regular set whether

Structural termination

The structural termination problem consists in deciding, given a channel system if the termination problem holds for for every initial configuration. This problem is undecidable even over counter machine. [4] :342

Communicating Hierarchical State Machine

Hierarchical state machines are finite state machines whose states themselves can be other machines. Since a communicating finite state machine is characterized by concurrency, the most notable trait in a communicating hierarchical state machine is the coexistence of hierarchy and concurrency. This had been considered highly suitable as it signifies stronger interaction inside the machine.

However, it was proved that the coexistence of hierarchy and concurrency intrinsically costs language inclusion, language equivalence, and all of universality. [7]

Related Research Articles

Pushdown automaton Type of automaton

In the theory of computation, a branch of theoretical computer science, a pushdown automaton (PDA) is a type of automaton that employs a stack.

Turing machine Computation model defining an abstract machine

A Turing machine is a mathematical model of computation that defines an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, given any computer algorithm, a Turing machine capable of simulating that algorithm's logic can be constructed.

The Post correspondence problem is an undecidable decision problem that was introduced by Emil Post in 1946. Because it is simpler than the halting problem and the Entscheidungsproblem it is often used in proofs of undecidability.

Automata theory Study of abstract machines and automata

Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word automata comes from the Greek word αὐτόματος, which means "self-acting, self-willed, self-moving". An automaton is an abstract self-propelled computing device which follows a predetermined sequence of operations automatically. An automaton with a finite number of states is called a Finite Automaton (FA) or Finite-State Machine (FSM).

Perceptron Algorithm for supervised learning of binary classifiers

In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers. A binary classifier is a function which can decide whether or not an input, represented by a vector of numbers, belongs to some specific class. It is a type of linear classifier, i.e. a classification algorithm that makes its predictions based on a linear predictor function combining a set of weights with the feature vector.

In computational complexity theory, an alternating Turing machine (ATM) is a non-deterministic Turing machine (NTM) with a rule for accepting computations that generalizes the rules used in the definition of the complexity classes NP and co-NP. The concept of an ATM was set forth by Chandra and Stockmeyer and independently by Kozen in 1976, with a joint journal publication in 1981.

In physics, the Hamilton–Jacobi equation, named after William Rowan Hamilton and Carl Gustav Jacob Jacobi, is an alternative formulation of classical mechanics, equivalent to other formulations such as Newton's laws of motion, Lagrangian mechanics and Hamiltonian mechanics. The Hamilton–Jacobi equation is particularly useful in identifying conserved quantities for mechanical systems, which may be possible even when the mechanical problem itself cannot be solved completely.

A finite-state transducer (FST) is a finite-state machine with two memory tapes, following the terminology for Turing machines: an input tape and an output tape. This contrasts with an ordinary finite-state automaton, which has a single tape. An FST is a type of finite-state automaton (FSA) that maps between two sets of symbols. An FST is more general than an FSA. An FSA defines a formal language by defining a set of accepted strings, while an FST defines relations between sets of strings.

In logic, a rule of inference is admissible in a formal system if the set of theorems of the system does not change when that rule is added to the existing rules of the system. In other words, every formula that can be derived using that rule is already derivable without that rule, so, in a sense, it is redundant. The concept of an admissible rule was introduced by Paul Lorenzen (1955).

In continuum mechanics, the finite strain theory—also called large strain theory, or large deformation theory—deals with deformations in which strains and/or rotations are large enough to invalidate assumptions inherent in infinitesimal strain theory. In this case, the undeformed and deformed configurations of the continuum are significantly different, requiring a clear distinction between them. This is commonly the case with elastomers, plastically-deforming materials and other fluids and biological soft tissue.

In automata theory, a deterministic pushdown automaton is a variation of the pushdown automaton. The class of deterministic pushdown automata accepts the deterministic context-free languages, a proper subset of context-free languages.

In logic, finite model theory, and computability theory, Trakhtenbrot's theorem states that the problem of validity in first-order logic on the class of all finite models is undecidable. In fact, the class of valid sentences over finite models is not recursively enumerable.

In computer science, a computation history is a sequence of steps taken by an abstract machine in the process of computing its result. Computation histories are frequently used in proofs about the capabilities of certain machines, and particularly about the undecidability of various formal languages.

In mathematics, the Melnikov method is a tool to identify the existence of chaos in a class of dynamical systems under periodic perturbation.

A queue machine or queue automaton is a finite state machine with the ability to store and retrieve data from an infinite-memory queue. It is a model of computation equivalent to a Turing machine, and therefore it can process the same class of formal languages.

In computer science, more specifically in automata and formal language theory, nested words are a concept proposed by Alur and Madhusudan as a joint generalization of words, as traditionally used for modelling linearly ordered structures, and of ordered unranked trees, as traditionally used for modelling hierarchical structures. Finite-state acceptors for nested words, so-called nested word automata, then give a more expressive generalization of finite automata on words. The linear encodings of languages accepted by finite nested word automata gives the class of visibly pushdown languages. The latter language class lies properly between the regular languages and the deterministic context-free languages. Since their introduction in 2004, these concepts have triggered much research in that area.

In continuum mechanics, a compatible deformation tensor field in a body is that unique tensor field that is obtained when the body is subjected to a continuous, single-valued, displacement field. Compatibility is the study of the conditions under which such a displacement field can be guaranteed. Compatibility conditions are particular cases of integrability conditions and were first derived for linear elasticity by Barré de Saint-Venant in 1864 and proved rigorously by Beltrami in 1886.

Well-structured transition system

In computer science, specifically in the field of formal verification, well-structured transition systems (WSTSs) are a general class of infinite state systems for which many verification problems are decidable, owing to the existence of a kind of order between the states of the system which is compatible with the transitions of the system. WSTS decidability results can be applied to Petri nets, lossy channel systems, and more.

In data mining and machine learning, -flats algorithm is an iterative method which aims to partition observations into clusters where each cluster is close to a -flat, where is a given integer.

An enumerator is an automaton that lists, possibly with repetitions, elements of some set S, which it is said to enumerate. A set enumerated by some enumerator is said to be recursively enumerable. An enumerator is equivalent to a Turing machine.

References

  1. 1 2 Abdulla, Parosh Aziz; Jonsson, Bengt (1996). "Verifying Programs with Unreliable Channels". Information and Computation. 127 (2): 91–101. doi: 10.1006/inco.1996.0053 .
  2. 1 2 3 4 Schnoebelen, Ph (15 September 2002). "Verifying Lossy Channel Systems has Nonprimitive Recursive Complexity". Information Processing Letters. 83 (5): 251–261. doi:10.1016/S0020-0190(01)00337-4.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Cécé, Gérard; Finkel, Alain (10 January 1996). "Unreliable Channels Are Easier to Verify Than Perfect Channels". Information and Computation. 124 (1): 20–31. doi: 10.1006/inco.1996.0003 .
  4. 1 2 3 4 Mayr, Richard (17 March 2008). "Undecidable problems in unreliable computations". Theoretical Computer Science. 297 (1–3): 337–354. doi: 10.1016/S0304-3975(02)00646-1 .
  5. 1 2 3 4 5 6 7 Abdulla, Parosh Aziz; Jonsson, Bengt (10 October 1996). "Undecidable Verification Problems for Programs with Unreliable Channels". Information and Computation. 130 (1): 71–90. doi: 10.1006/inco.1996.0083 .
  6. 1 2 Rosier, Louis E.; Gouda, Mohamed G (1983). Deciding progress for a class of communicating finite state machines (Report).
  7. Alur, Rajeev; Kannan, Sampath; Yannakakis, Mihalis. "Communicating hierarchical state machines," Automata, Languages and Programming. Prague: ICALP, 1999