Hubbry Logo
Transition systemTransition systemMain
Open search
Transition system
Community hub
Transition system
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Transition system
Transition system
from Wikipedia

In theoretical computer science, a transition system is a concept used in the study of computation. It is used to describe the potential behavior of discrete systems. It consists of states and transitions between states, which may be labeled with labels chosen from a set; the same label may appear on more than one transition. If the label set is a singleton, the system is essentially unlabeled, and a simpler definition that omits the labels is possible.

Transition systems coincide mathematically with abstract rewriting systems (as explained further in this article) and directed graphs. They differ from finite-state automata in several ways:

  • The set of states is not necessarily finite, or even countable.
  • The set of transitions is not necessarily finite, or even countable.
  • No "start" state or "final" states are given.

Transition systems can be represented as directed graphs.

Formal definition

[edit]

Formally, a transition system is a pair where is a set of states and , the transition relation, is a subset of . We say that there is a transition from state to state if , and denote it .

A labelled transition system is a tuple where is a set of states, is a set of labels, and , the labelled transition relation, is a subset of . We say that there is a transition from state to state with label iff and denote it

Labels can represent different things depending on the language of interest. Typical uses of labels include representing input expected, conditions that must be true to trigger the transition, or actions performed during the transition. Labelled transitions systems were originally introduced as named transition systems.[1]

Special cases

[edit]
  • If, for any given and , there exists only a single tuple in , then one says that is deterministic (for ).
  • If, for any given and , there exists at least one tuple in , then one says that is executable (for ).

Coalgebra formulation

[edit]

The formal definition can be rephrased as follows. Labelled state transition systems on with labels from correspond one-to-one with functions , where is the (covariant) powerset functor. Under this bijection is sent to , defined by

.

In other words, a labelled state transition system is a coalgebra for the functor .

Relation between labelled and unlabelled transition system

[edit]

There are many relations between these concepts. Some are simple, such as observing that a labelled transition system where the set of labels consists of only one element is equivalent to an unlabelled transition system. However, not all these relations are equally trivial.

Comparison with abstract rewriting systems

[edit]

As a mathematical object, an unlabeled transition system is identical with an (unindexed) abstract rewriting system. If we consider the rewriting relation as an indexed set of relations, as some authors do, then a labeled transition system is equivalent to an abstract rewriting system with the indices being the labels. The focus of the study and the terminology are different, however. In a transition system one is interested in interpreting the labels as actions, whereas in an abstract rewriting system the focus is on how objects may be transformed (rewritten) into others.[2]

Extensions

[edit]

In model checking, a transition system is sometimes defined to include an additional labeling function for the states as well, resulting in a notion that encompasses that of Kripke structure.[3]

Action languages are extensions of transition systems, adding a set of fluents F, a set of values V, and a function that maps F × S to V.[4]

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
A transition system is a fundamental mathematical model in computer science for representing the behavior of discrete dynamic systems, consisting of a set of states that capture the system's configurations, one or more initial states, and a transition relation that defines the possible evolutions or steps between states. Formally, a transition system can be defined as a structure TS=(S,I,)TS = (S, I, \rightarrow), where SS is a (possibly infinite) set of states, ISI \subseteq S is the set of initial states, and S×S\rightarrow \subseteq S \times S is the transition relation indicating valid state changes. This model abstracts away implementation details to focus on behavioral properties, such as sequences of states (called processes or executions) that start from an initial state and follow the transition relation, which may be finite or infinite. Transition systems serve as a in for specifying and verifying systems, including algorithms, concurrent programs, and hardware designs, by enabling rigorous analysis of correctness criteria like invariants (properties preserved across transitions) and termination (guaranteed ending of processes). Key applications include , where transition systems are explored to verify temporal properties (e.g., : no bad states are reached; liveness: good states are eventually reached), and simulation relations, which allow abstraction and reduction of complex systems while preserving behaviors like trace inclusion. Extensions such as labeled transition systems incorporate action labels on transitions to model observable events in process algebras (e.g., CCS or CSP), supporting semantic equivalences like bisimulation for comparing system behaviors. Further variants, including timed, probabilistic, or hybrid transition systems, address real-time constraints, uncertainty, or continuous dynamics, finding use in tools like UPPAAL for verifying embedded systems.

Introduction

Overview

A transition system is an abstract model used in to represent the potential behaviors of discrete systems, consisting of a set of states and transitions that capture how the system evolves over time. These models provide a high-level for describing the dynamics of reactive, concurrent, or distributed systems, such as software protocols or hardware circuits, without delving into low-level implementation details like specific algorithms or structures. By focusing on possible evolutions rather than concrete executions, transition systems enable formal analysis techniques, including verification of properties like and liveness, which are essential for ensuring reliability in complex environments. Key terminology in transition systems includes states, which represent configurations or snapshots of the system at a particular moment, such as the values of variables or the status of components. Transitions denote the possible changes between states, modeling events or actions that drive the system's progression. Finally, paths or traces refer to sequences of states connected by transitions, illustrating finite or infinite executions that trace the system's behavior from an initial state onward. Transition systems can be unlabelled, focusing solely on state changes, or labelled, where transitions are annotated with actions or events to distinguish different types of evolutions; the latter variant is common in modeling concurrent processes. A simple illustrative example is a traffic light controller, with states red, green, and yellow, where transitions occur between them based on timer triggers—such as red to green after a fixed duration, green to yellow, and yellow back to red—forming cyclic paths that repeat indefinitely.

Historical development

The concept of transition systems originated in during the and , building on early models of computation like finite state machines to represent discrete behaviors through states and transitions. Stephen Kleene's 1956 work formalized finite automata as representations of regular events, establishing a mathematical basis for state-based transitions in computational processes. Similarly, Edward Moore's 1956 Gedanken-experiments explored sequential machines, introducing state transition diagrams as visual tools for analyzing digital systems. These developments laid the groundwork for modeling dynamic systems in . Transition systems were formalized in the context of in the late and early , particularly for describing concurrent processes. Robin Milner's 1980 book A Calculus of Communicating Systems introduced labeled transition systems as a semantic framework for CCS, enabling precise definitions of process interactions and . Building on this, Gordon Plotkin's 1981 technical report A Structural Approach to proposed , using transition rules to specify programming language behaviors in a compositional manner. During the 1980s and 1990s, transition systems evolved through integration with concurrency models and verification techniques. C. A. R. Hoare's 1985 book incorporated transition-based traces to model parallel interactions in CSP, influencing distributed system design. Concurrently, modal logics for verification advanced, with Hennessy-Milner logic from characterizing observational equivalences on transition systems via modal formulas. In the post-2000 period, transition systems found a unified coalgebraic perspective, as Jan Rutten's 2000 paper framed them as coalgebras over endofunctors to study behavioral semantics categorically. This formulation briefly references coalgebraic methods for system specification, detailed elsewhere. Transition systems remain integral to and AI planning, with ongoing applications in areas like transition function prediction using large models as recently as 2024; no major conceptual updates have emerged post-2020.

Core Definitions

Unlabelled transition systems

An unlabelled transition system consists of a set of states and a binary transition relation over those states, representing possible evolutions without distinguishing the nature of transitions via labels. Formally, it is a pair (S,T)(S, T), where SS is a set of states and TS×ST \subseteq S \times S is the transition relation. A transition from state pp to state qq is denoted pqp \to q if (p,q)T(p, q) \in T, with p,qSp, q \in S. The relation TT supports paths as finite or infinite sequences of states linked by successive transitions. Reachability between states is captured by the reflexive transitive closure TT^* of TT, which includes the identity relation (reflexivity for zero-step paths) and compositions of transitions (transitivity for multi-step paths). Thus, a state qq is reachable from pp if pTqp \, T^* \, q. For instance, a simple counter can be modeled with states S=NS = \mathbb{N} (non-negative integers) and transitions T={(n,n+1)nN}T = \{(n, n+1) \mid n \in \mathbb{N}\}, where each step increments the value by 1; starting from 0, the reflexive transitive closure TT^* reaches all natural numbers.

Labelled transition systems

A labelled transition system extends the basic notion of a transition system by associating labels, representing observable actions or events, with each transition, thereby enabling the modeling of behavioral aspects such as communication or operations in concurrent processes. Formally, a labelled transition system is defined as a triple (S,Λ,T)(S, \Lambda, T), where SS is a nonempty set of states, Λ\Lambda is a nonempty set of labels (often denoting actions), and TS×Λ×ST \subseteq S \times \Lambda \times S is the labelled transition relation. The transition relation TT specifies that for states p,qSp, q \in S and label αΛ\alpha \in \Lambda, a transition pαqp \xrightarrow{\alpha} q
Add your contribution
Related Hubs
User Avatar
No comments yet.