Fair computational tree logic is conventional
computational tree logic
Computation tree logic (CTL) is a branching-time logic, meaning that its model of time is a tree-like structure in which the future is not determined; there are different paths in the future, any one of which might be an actual path that is realiz ...
studied with explicit fairness constraints.
Weak fairness / justice
This declares conditions such as all processes execute infinitely often. If you consider the processes to be P
i, then the condition becomes:
:
Strong fairness / compassion
Here, if a process is requesting a resource infinitely often (R), it should be allowed to get the resource (C) infinitely often:
:
Model checking for fair CTL
Consider a
Kripke model with set of states ''F''. A path
is considered a fair path, if and
only if the path includes all members of ''F'' infinitely often.
Fair CTL
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
restricts the checks to only fair paths. There are two kinds of fair quantifiers:
:1. M
f, s
i , = A
if and only if
holds in ''all'' fair paths.
: 2. M
f, s
i , = E
if and only if
holds in ''one or more'' fair paths.
A fair state is one from which at least one fair path originates. This translates to M
f, s , = EGtrue.
SCC-based approach
A
strongly connected component
In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of an arbitrary directed graph form a partition into subgraphs that ...
(SCC) of a directed graph is a maximal strongly connected subgraph—all the nodes are reachable from each other. A fair SCC is one that has an edge into at least one node for each of the fair conditions.
To check for fair EG for any formula,
# Compute what is called the ''denotation'' of the formula ''φ'': the set of states such that M, s , = ''φ''.
# Restrict the model to the denotation.
# Find the fair SCC.
# Obtain the union of all 3 (above).
# Compute the states that can reach the union.
Emerson Lei algorithm
The fix point characterization of Exist Globally is given by:
Gφ= νZ .(
�∩
XZ , which is basically the limit applied according to
Kleene's theorem
In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to ...
. To fair paths, it becomes
f Gφ= νZ .(
�∩
Fi ∈FT X[E(Z U(Z ∧ Fi )), which means the formula holds in the current state and the next states and the next to next states until it meets all the members of the fair conditions. This means that, the condition is equivalent to a sort of accepting point where the accepting condition is the entire set of Fair conditions.
References
*
* {{cite journal , author1=Clarke, E. M. , author1link = Edmund M. Clarke, author2=Emerson, E. A. , author3= Sistla, A. P. , name-list-style=amp , title=Automatic verification of finite-state concurrent systems using temporal logic specifications , journal=ACM Transactions on Programming Languages and Systems, year=1986, volume=8 , issue=2 , pages=244–263 , doi=10.1145/5397.5399, s2cid=52853200
Temporal logic