Next Article in Journal
Design and Modeling of a Fully Integrated Microring-Based Photonic Sensing System for Liquid Refractometry
Previous Article in Journal
Biometric-Based Key Generation and User Authentication Using Acoustic Characteristics of the Outer Ear and a Network of Correlation Neurons
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Bounded Model Checking for Metric Temporal Logic Properties of Timed Automata with Digital Clocks †

by
Agnieszka M. Zbrzezny
1 and
Andrzej Zbrzezny
2,*
1
Faculty of Mathematics and Computer Science, University of Warmia and Mazury, Sloneczna 54, 10-710 Olsztyn, Poland
2
Department of Mathematics and Computer Science, Jan Dlugosz University in Czestochowa, Armii Krajowej 13/15, 42-200 Czestochowa, Poland
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in Zbrzezny, A.M. and Zbrzezny, A. Simple Bounded MTL Model Checking for Discrete Timed Automata (Extended abstract). In Proceedings of the 23th International Workshop on Concurrency, Specification and Programming (CS&P 2016), Rostock, Germany, 28–30 September 2016; Volume 1698, CEUR Workshop Proceedings, pp. 37–48.
Submission received: 3 November 2022 / Revised: 30 November 2022 / Accepted: 2 December 2022 / Published: 6 December 2022
(This article belongs to the Section Sensor Networks)

Abstract

:
Metric temporal logic (MTL) is a popular real-time extension of linear temporal logic (LTL). This paper presents a new simple SAT-based bounded model-checking (SAT-BMC) method for MTL interpreted over discrete infinite timed models generated by discrete timed automata with digital clocks. We show a new translation of the existential part of MTL to the existential part of linear temporal logic with a new set of atomic propositions and present the details of the new translation. We compare the new method’s advantages to the old method based on a translation of the hard reset LTL (HLTL). Our method does not need new clocks or new transitions. It uses only one path and requires a smaller number of propositional variables and clauses than the HLTL-based method. We also implemented the new method, and as a case study, we applied the technique to analyze several systems. We support the theoretical description with the experimental results demonstrating the method’s efficiency.

1. Introduction

This paper is a full version of the extended abstract published in informal proceedings of the 25th International Workshop on Concurrency, Specification and Programming [1]. Improvements and extensions compared to that paper are listed in Appendix A.
There are many ways to check the model. Hardware- and software-based systems are increasingly used in safety-critical situations to control and connect physical systems, e.g., simple cardiac pacemakers or very complex space rockets. The complexity and criticality of systems also increase the need for effective verification techniques.
The specification language and the system model usually depend on the type of property we want to verify. Suppose we want to verify the discrete-time execution properties of a system. In that case, discrete-time logic may be the correct specification choice, and the system may best be represented as a discrete timed automaton.
Integrating specialized components is fundamental to many embedded engineering projects. The behavior of these components is often specified in informal timing diagrams that engineers interpret during interface hardware and software design [2,3,4,5,6,7]. The timed automata are one of the models that enable the formal modeling of those components.
Timed automata (TA) [8] are finite-state automata augmented with a finite set of variables called clocks. The clocks are used to measure the elapsed time. Timed automata are very convenient for modeling and reasoning about timed systems: they combine a powerful formalism with advanced expressiveness and efficient algorithmic and tool support. The timed automata formalism is applied to the analysis of software and asynchronous circuits [9] and real-time control programs [10].
The model-checking technique is widely used in sensor verification [2,3,4,5,6,7]. The sensor networks are modeled, e.g., by the network of timed automata, and their properties are specified in terms of temporal logic.
One of the most famous frameworks in the specification and verification of computer systems is temporal logic. There are many types of temporal logic to express the requirements of the systems: computation tree logic (CTL) [11], soft real-time CTL (RTCTL) [12], linear temporal logic (LTL) [13], and metric temporal logic (MTL) [14].
Linear temporal logic (LTL) allows expressing properties about each execution of a system, such as the fact that any occurrence of a problem eventually triggers the alarm. Metric temporal logic (MTL) extends LTL by constraining the temporal operators with time intervals. It was introduced by Koymans [14] in 1990 and has appeared as a real-time specification formalism. MTL has two main semantics: “continuous” and “pointwise” [15,16,17,18]. The pointwise semantics is based on timed words, the widespread interpretation for systems modeled as timed automata [8]. Both semantics have been extensively studied [15,16,17,18]. MTL allows expressing, for example, that any occurrence of a problem in a system will trigger the alarm within at most five units of time. Here, we consider MTL with pointwise semantics interpreted over linear discrete infinite digital-clock models [19] generated by timed automata with integer time.
Bounded model checking [20,21,22] (BMC) is one of the symbolic model-checking techniques designed for finding witnesses for existential properties or counterexamples for universal properties. Its main idea is to consider a model reduced to a specific depth. The method works by mapping a BMC problem to the satisfiability problem (SAT). The MTL satisfiability and model-checking problems are undecidable over interval-based semantics [23]. It has led to various restrictions being considered on MTL to recover decidability [24,25].
We provide a new, efficient method of the bounded model-checking technique for metric temporal logic properties of timed automata with digital clocks, which can be successfully used to verify sensor networks.
Developing new model-checking techniques for a network of automata is an essential research direction. It is due to the fact that timed automata are used to verify the modes of, often, life-critical time systems. Systems and their properties are becoming more and more complex. It results in developing model-checking methods that will work faster than the older methods. To be successfully applied, these methods should be faster than the old ones and use as little memory as possible. However, they should also be easy to implement and understand so that everything is evident at the design stage of such a method. For such a reason, in this paper, we developed a completely new and much faster method of bounded model checking than the one presented in [26].
The main contributions of the paper are as follows:
  • Defining the translation of the existential model-checking problem for MTL to the existential model-checking problem for linear temporal logic with additional propositional variables q I (this logic is denoted by LTL q );
  • Clarification of the steps of the new method;
  • Proving the correctness of the above translation;
  • Defining bounded semantics for LTL q ;
  • Defining the BMC algorithm;
  • Implementing the new method;
  • A detailed experimental evaluation of the old and the new methods on two earlier presented benchmarks: a timed generic pipeline paradigm (TGPP) and a timed train controller system (TTCS),
  • Modeling a dining philosophers problem with time as the timed dining philosophers problem (TDPP);
  • A detailed experimental evaluation of the old and the new methods on TDPP.
In this paper, we used the weakly monotonic semantics [27] for timed automata with digital clocks [19,27]. The main steps of our new method for MTL and TA with discrete time can be described as follows: first, the infinite timed model is reduced to a finite model. Next, the MTL formulae are translated to LTL q formulae [1], and eventually, since the interval modalities in MTL appear as literals in the LTL q formula, existential properties are reduced to a satisfiability problem (SAT). Our method’s main advantages are that the translation from MTL to LTL q requires neither new clocks nor new transitions. Moreover, our BMC method needs only one path, whereas the BMC method from [26] needs many paths depending on a given formula φ . Thus, one may expect that our method is much more effective since the intuition is that an encoding that results in fewer variables and clauses is usually easier to solve.
We evaluate the BMC method using a timed generic pipeline paradigm (TGPP), a timed train controller system (TTCS), and the timed dining philosophers problem (TDPP), which we model by a network of discrete timed automata and compare with the corresponding method [26].

Related Work

Timed automata were introduced in the early 1990s by Alur and Dill [8] to model real-time systems. Timed automata cause the specification and verification of models of real-time systems to be easier. The two primary semantics are discussed in the literature: the discrete-time and dense-time semantics [8]. However, the dense-time semantics is more natural from a real-life point of view. It allows us to model real-time systems easily.
Our choice of time domain is N , the set of natural numbers. In our method, the key property of the time domain is its discreteness, which implies that a finite amount of events can happen at different times in any interval of nonzero length. There are many methods for verifying real-time systems using discrete-time models [12,28,29,30,31]. Authors of [19] established that the timed reachability problem has the same answer, irrespective of the choice between N and I R under certain restrictions.
The other formalisms for discrete time modeling apart from discrete timed automata were presented, such as durational transition graphs (DTG [32]) and embedded system modeling language (EMLAN [33]).
Discrete time models were also widely used for modeling systems’ behaviors [34,35,36,37,38].
MTL has been widely discussed in the literature. Checking properties expressed in MTL in timed automata is still an actual research topic [39,40,41,42,43,44]. In [45], the authors took into account MTL over the N . They also used the pointwise semantics over the N and considered two semantic variants: the non-strict and strict semantics. They devised two translations from MTL to LTL:
  • The time difference translation for strict semantics, where new propositional variables encode time differences between states (the time difference translation is similar to the method presented in [1]).
  • The gap translation for the strict semantics uses a new propositional variable, called gap, to encode the jumps between states. The gap is intended to be true in LTL states corresponding to unmapped time points in MTL models. The main idea for their translation is to map each timed state sequence into a state sequence. Both LTL translations are exponential in the size of the MTL input formula due to the binary encoding of the numbers in the intervals.
In [26], the authors investigated a SAT-based BMC method for MTL that is also interpreted over linear discrete infinite time models generated by discrete timed automata. They translated the existential model-checking problem for MTL into the existential model-checking problem for a variant of linear temporal logic (called HLTL). They also provided a SAT-based BMC technique for HLTL. The presented translation requires as many new clocks as there are intervals in a given formula. It also requires adding exponential resetting transitions and many paths that depend on a given MTL formula. The complexity of the satisfiability and model-checking problems for fragments of MTL concerning different semantic models were studied in [46] and in [15]. MTL expressiveness was extensively discussed in [17,47,48]. The BMC problem for MTL properties of timed automata with the dense time was discussed in [49]. However, experimental results have shown that this is not feasible.
Additionally, other types of logic were used for the specification of discrete-time systems, such as QsCTL [29], which extends CTL [11] with quantitative bounded temporal operators and is a variant of RTCTL [11], discrete-time CTL [33], and HyperLTL [50], which is a temporal logic for hyper-properties, which allows reasoning about multiple execution paths simultaneously.

2. Discrete Timed Automata and MTL

In this paper, we used the weakly monotonic semantics [27] for timed automata with digital clocks [19,27]. The paper [19] shows that bounded invariance MTL properties and bounded-response MTL properties are digitizable. That is why we consider timed automata with digital clocks.
The formalism of timed automata was defined in [8] by Alur and Dill for representing systems with real-time constraints. A timed automaton is a finite automaton which manipulates finitely many variables called clocks.

2.1. Discrete Timed Automata

Let N = { 0 , 1 , 2 , } be the set of natural numbers, and  N + = N \ { 0 } . We assume a finite set X = { x 0 , , x n 1 } of variables, called clocks. Each clock is a variable ranging over N . A clock valuation is a total function v : X N that assigns to each clock x a non-negative integer value v ( x ) . The set of all the clock valuations is denoted by N X . For  X X , the valuation v = v [ X : = 0 ] is defined as x X , v ( x ) = 0 and x X \ X , v ( x ) = v ( x ) . By δ , we denote a delay of δ > 0 time units. For δ N + , v + δ denotes the valuation v such that x X , v ( x ) = v ( x ) + δ ; let x X , c N , and  { < , , = , , > } . The set C ( X ) of clock constraints over the set of clocks X is defined by the abstract grammar:
cc : = x c | cc cc .
Let v be a clock valuation, and  cc C ( X ) . A clock valuation v satisfies a clock constraint cc , written as v cc if cc evaluates to true using the clock values given by the valuation v.
 Definition 1. 
A discrete timed automaton (DTA for short) is a tuple
A = ( A c t , L o c , 0 , X , T , I n v , AP , V ) , where
  • A c t is a finite set of actions,
  • L o c is a finite set of locations,
  • 0 L o c is the initial location,
  • X is a finite set of clocks,
  • T L o c × A c t × C ( X ) × 2 X × L o c is a transition relation,
  • I n v : L o c C ( X ) is a state invariant function,
  • AP is a set of atomic propositions, and 
  • V : L o c 2 AP is a valuation function assigning to each location a set of atomic propositions true in this location.
Each t T , denoted by σ , cc , X , represents a transition from ℓ to on the action σ. X X is the set of the clocks to be reset upon this transition, and  cc C ( X ) is the enabling condition for t.

2.2. Product of a Network of Discrete Timed Automata

A network of discrete timed automata can be composed into a global (product) discrete timed automaton [51] in the following way. The transitions of the discrete timed automata that do not correspond to a shared action are interleaved, whereas the transitions labeled with a shared action, are synchronized.
Let n N , I = { 1 , , n } be a non-empty and finite set of indices, { A i i I } be a family of discrete timed automata A i = ( A c t i , L o c i , i 0 , X i , T i , I n v i , AP i , V i ) such that X i X j = and AP i AP j = for i j . Moreover, let I ( σ ) = { i I σ A c t i } . The parallel compositioni of the family { A i i I } of discrete timed automata is the discrete timed automaton A = ( A c t , L o c , 0 , X , T , I n v , AP , V ) such that:
  • A c t = i I ( A c t i ) ,
  • L o c = i I L o c i ,
  • 0 = ( 1 0 , , n 0 ) ,
  • X = i I X i ,
  • I n v ( l 1 , , l n ) = i = 1 n I n v i ( l i ) ,
  • AP = i I AP i ,
  • V ( 1 , , n ) = i = 1 n V i ( i )
and a transition is defined as follows:
( ( 1 , , n ) , ( σ 1 , , σ n ) , i I cc i , i I X i , ( 1 , , m ) ) T iff ( i I ) ) ( i , σ i , cc i , X i , i ) T i ) and ( i I \ I ( σ ) ) i = i .

2.3. Concrete Model

The semantics of the DTA is defined by associating with it a transition system, which we call a concrete model.
 Definition 2. 
Let A = ( A c t , L o c , 0 , X , T , I n v , AP , V ) be a DTA, and  v 0 a clock valuation such that x X , v 0 ( x ) = 0 .
The concrete model for A is a tuple
M A = ( Q , q 0 , , V ) where ,
  • Q = L o c × N X is the set of the concrete states.
  • q 0 = ( 0 , v 0 ) is the initial state.
  • A valuation function V : Q 2 AP is defined as V ( ( , v ) ) = V ( ) for each state ( , v ) Q Q × ( A c t N + ) × Q is a transition relation on Q defined by action and time transitions as follows.
  • For a A c t and δ N + :
    1.
    Action transition: ( , v ) a ( , v ) if there is a transition a , cc , X T such that v cc I n v ( ) and v = v [ X : = 0 ] and v I n v ( ) ,
    2.
    Time transition: ( , v ) δ ( , v + δ ) iff v I n v ( ) and ( 0 < δ δ ) v + δ I n v ( ) .
Let us observe that for the considered set of clock constraints C ( X ) , the condition of the time transition l , v δ l , v + δ can be replaced by a simpler one. Namely, v I n v ( ) and v + δ I n v ( ) .
A path  ρ in A is an infinite sequence of concrete states q 0 , q 1 , q 2 , such that for all j N , q j μ j q j + 1 for some μ j N + A c t . Such a definition of the path permits two consecutive actions to be performed one after the other, i.e.,  no time has to elapse between two consecutive actions. It means that we are dealing with the point-based weakly monotonic integer-time semantics.
From now on, for a path ρ = q 0 , q 1 , q 2 , , by  ρ ( m ) , we denote the state q m .

2.4. MTL Logic

MTL [14,15] (metric LTL) is the extension of LTL in which temporal operators are replaced by its time-constrained versions. MTL can express many time constraints. For example, we can express a system property: if a system is in the state q, then it will be in the state q exactly 3 time units later.

2.4.1. Syntax

We begin with some preliminary definitions. Let p AP be an atomic proposition and I the set of all the intervals in N of the form [ a , b ) or [ a , ) , where a , b N and a < b , and let I I . Observe that we do not exclude one-element intervals since [ a , a ] can be expressed as [ a , a + 1 ) . The MTL logic in positive normal form is defined in the following way:
α : = true false p ¬ p α α α α α U I α G I α .
The operators U I and G I are called bounded until and bounded always, respectively, and they are read as “until in the interval I ” and “always in the interval I ”. The operator F I is defined in the standard way: F I α = df true U I α .

2.4.2. Semantics

There are two possible semantics for metric temporal logic: the “pointwise” semantics and the “continuous” semantics [15]. In the pointwise approach, temporal assertions are interpreted only at time points where the action happens in the observed timed behavior of a system. In the continuous one, it is allowed to assert formulae at arbitrary time points between actions as well. In the presented method, we use the pointwise semantics.
Let A be a DTA, and M A the concrete model for A . For a path ρ = q 0 , q 1 , , let Γ ρ ( j ) = { i N i < j and for some δ i N , q i δ i q i + 1 } , i.e Γ ρ ( j ) is a set of indices of time transitions. Now, we define a function ζ ρ : N N such that, for all j 0 , ζ ρ ( j ) = i Γ ρ ( j ) δ i . For all j 0 , the function ζ ρ ( j ) returns the value of the global time (called “duration” in [15]).
Here and in what follows, we use the convention to omit the model from expressions with ⊨ for the sake of brevity.
 Definition 3. 
Let α and β be MTL formulae. The satisfaction relation MTL , which defines truth of an  MTL formula in the concrete model M A along a path ρ starting at position m N , is defined inductively:
  • ( ρ , m ) MTL true ,
  • ( ρ , m ) MTL false ,
  • ( ρ , m ) MTL p iff p V ( ρ ( m ) ) ,
  • ( ρ , m ) MTL ¬ p iff p V ( ρ ( m ) ) ,
  • ( ρ , m ) MTL α β iff ( ρ , m ) MTL α and ( ρ , m ) MTL β ,
  • ( ρ , m ) MTL α β iff ( ρ , m ) MTL α or ( ρ , m ) MTL β ,
  • ( ρ , m ) MTL α U I β iff ( j m ) ( ζ ρ ( j ) ζ ρ ( m ) I and ( ρ , m + j ) MTL β and ( m j < j ) ( ρ , m + j ) MTL α ) ,
  • ( ρ , m ) MTL G I β iff ( j m ) ( ζ ρ ( j ) ζ ρ ( m ) I implies ( ρ , m + j ) MTL β ) .
For simplicity of notation, we write ρ instead of ( ρ , 0 ) . Therefore, we shall write M A , ρ MTL φ for M A , ( ρ , 0 ) MTL φ . An MTL formula φ is existentially valid in the model M A , which is denoted as M A MTL E φ , if and only if M A , ρ MTL φ for some path ρ starting in the initial state of M A . Determining whether an MTL formula φ is existentially valid in a given model is called the existential model-checking problem.

3. Bounded Model Checking

The verification method presented in this paper is based on the translation of MTL formula to LTL q formula. We extend a standard LTL logic by adding an extra set of propositional variables. We compare our new method with the corresponding method presented in [26].

3.1. The Translation

The set of all the clock valuations is infinite, which means that the model has an infinite set of states. We need to abstract the proposed model before we can apply the BMC technique.

3.1.1. Abstract Model

Let A = ( A c t , L o c , 0 , T , X , I n v , AP , V ) be a discrete timed automaton with X = { x 0 , , x n 1 } . For each j { 0 , , n 1 } , let c j m a x be the largest constant appearing in any clock constraint involving clock x j and used in the state invariants and guards of A . Two clock valuations v and v in N X are equivalent, which is denoted by v v , if and only if for each 0 j < n either v ( x j ) > c j m a x and v ( x j ) > c j m a x or v ( x ) c j m a x and v ( x ) c j m a x and v ( x ) = v ( x ) .
It is easy to see that the relation ≃ is an equivalence relation, which enables us to construct a finite abstract model.
To this end, we define the set of possible values of clock x j in the abstract model as I D j = { 0 , , c j m a x + 1 } for 0 j < n . Moreover, for two clock valuations v and v in I D 0 × × I D n 1 , we say that v is the time successor of v (denoted s u c c ( v ) ) as follows: for each 0 j < n ,
s u c c ( v ) ( x j ) = v ( x j ) + 1 , if v ( x j ) c j m a x , c j m a x + 1 , if v ( x j ) = c j m a x + 1 .
 Definition 4. 
Let A = ( A c t , L o c , 0 , X , T , I n v , AP , V ) be a discrete timed automaton. The abstract model for A is a tuple
M ^ = ( S ^ , s 0 , , V ^ ) where ,
  • S ^ = L × ( I D 0 × × I D n 1 ) is the set of abstract states;
  • s 0 = ( 0 , { 0 } n ) is the initial state;
  • V ^ : S ^ 2 AP is a valuation function such that for all p AP , p V ^ ( ( , v ) ) if and only if p V ( ) ;
  • S × A c t × S , where A c t = A c t { τ } is a transition relation defined by the time and action transitions.
    The time transition is defined as ( , v ) τ ( , v ) if and only if v I n v ( ) , v = s u c c ( v ) and v I n v ( ) .
    The action transition is defined as follows: for any a A c t , ( , v ) a ( , v ) if and only if there exists a transition a , cc , X T such that v cc I n v ( ) , v = v [ X : = 0 ] and v I n v ( ) .
 Definition 5. 
Apathin the abstract model M ^ is a sequence π = ( s 0 , s 1 , ) of states such that for each j N , either ( s j τ s j + 1 ) or ( s j a s j + 1 ) , for some action a A c t .
For a given path π , π ( j ) denotes the j-th state s j of the path π , π [ . . j ] = ( π ( 0 ) , , π ( j ) ) denotes the j-th prefix of the path π ending with π ( j ) . Given a path π one can define a function ζ π : N N such that, for each j 0 , ζ π ( j ) is equal to the number of time transitions on the prefix π [ . . j ] .
 Definition 6. 
Let M A be the concrete model for A and M ^ the abstract model for A . We say that a state q = ( l , v ) in the concrete model M A , and a state s = ( l , v ) in the abstract model M ^ areequivalent, which is denoted by q s , if and only if l = l and v v .
It is well-known [52] that the relation ≅ is weak-time-bisimulation equivalent between the concrete model and the abstract model. The reason is that one can replace one δ -value time transition in the concrete model by δ individual transitions in the abstract model, whereas δ individual transitions in the abstract model can be replaced by one δ -value time transition in the concrete model.

3.1.2. MTL Semantics in the Abstract Model

 Definition 7. 
The satisfiability relation MTL d , which defines the truth of an MTL formula in the abstract model M ^ along the abstract path π with the starting point m at the depth d m , is inductively defined as follows:
  • ( π , m ) MTL d true ,
  • ( π , m ) MTL d false ,
  • ( π , m ) MTL d p  iff  p V ^ ( π ( d ) ) ,
  • ( π , m ) MTL d ¬ p  iff  p V ^ ( π ( d ) ) ,
  • ( π , m ) MTL d α β iff ( π , m ) MTL d α and ( π , m ) MTL d β ,
  • ( π , m ) MTL d α β iff ( π , m ) MTL d α or ( π , m ) MTL d β ,
  • ( π , m ) MTL d α U I β iff ( j d ) ( ζ π ( j ) ζ π ( d ) I and ( π , d ) MTL j β
    and ( d i < j ) ( π , d ) MTL i α ) ,
  • ( π , m ) MTL d G I β  iff  ( j d ) ( ζ π ( j ) ζ π ( d ) I  implies  ( π , d ) MTL j β ) .
In the above definition, m does not play itself a part in the satisfaction relation. However, this notation is helpful for Definition 8.
 Theorem 1 
(The equivalence of the MTL semantics in the concrete and abstract models). Let M ^ be the abstract model for the discrete timed automaton A and M A the concrete model for A . Then, for each MTL formula φ, the following equivalence holds: M ^ , ( π , m ) MTL d φ M A , ( ρ , m ) MTL φ .
 Proof. 
The proof of Theorem 1 follows from the definition of the satisfiability relation and the weak-timed-bisimulation equivalence of the models M A and M ^ .    □

3.1.3. LTL q Logic

Let I be the set of all intervals and AP I = { q I I I } a set of the new propositional variables. An  LTL q formula in the negation normal form is defined by the following grammar:
ψ : : = true false p ¬ p q I ¬ q I ψ ψ ψ ψ ψ U ψ G ψ ,
where p AP and q I AP I .
 Definition 8. 
The satisfaction relation d , which defines the truth of an LTL q formula in the abstract model M ^ along the abstract path π at the position m, at depth d m is inductively defined as follows:
  • ( π , m ) d true ,
  • ( π , m ) d false ,
  • ( π , m ) d p  iff  p V ^ ( π ( d ) ) ,
  • ( π , m ) d ¬ p  iff  p V ^ ( π ( d ) ) ,
  • ( π , m ) d q I  iff  ζ π ( d ) ζ π ( m ) I ,
  • ( π , m ) d ¬ q I  iff  ζ π ( d ) ζ π ( m ) I ,
  • ( π , m ) d α β  iff  ( π , m ) d α  and  ( π , m ) d β ,
  • ( π , m ) d α β  iff  ( π , m ) d α  or  ( π , m ) d β ,
  • ( π , m ) d α U β  iff  ( j d ) ( ( π , d ) j β  and  ( d i < j ) ( π , d ) i α ) ) ,
  • ( π , m ) d G β  iff  ( j d ) ( ( π , d ) j β ) .
An LTL q formula ψ is existentially valid in the abstract model M ^ , denoted as M ^ E ψ , if and only if M ^ , ( π , 0 ) 0 ψ on some path π starting in the initial state of M ^ .

3.1.4. The Translation from MTL to LTL q

Two translations from MTL to LTL were described in [45]. However, in the first translation, the new propositional variables encode time differences between states, and in the second translation a new propositional variable called gap encodes the jumps between states. In the translation presented below, we use global time approach [1]. However, in [1] the strongly monotonic semantics was used.
 Definition 9. 
Let p AP , and α, β a MTL formulae. The translation from MTL to LTL q is defined as a function tr : MTL LTL q by the following equations:
  • tr ( true ) = true ,
  • tr ( false ) = false ,
  • tr ( p ) = p ,
  • tr ( ¬ p ) = ¬ p ,
  • tr ( α β ) = tr ( α ) tr ( β ) ,
  • tr ( α β ) = tr ( α ) tr ( β ) ,
  • tr ( α U I β ) = tr ( α ) U ( q I tr ( β ) ) , and
  • tr ( G I β ) = G ( ¬ q I tr ( β ) ) .
The translation of the F I operator follows from its definition in terms of the U I operator. Observe that the translation of literals, as well as logical connectives, is straightforward. The translation of the operator U I ensures that the formula β holds at some point in the interval I (it is expressed by the requirement q I tr ( β ) ) and α holds everywhere before β holds. Similarly, the translation of the G I operator ensures that β holds at every point in the interval I (it is expressed by the requirement ¬ q I tr ( β ) ).
The translation from EMTL to E LTL q is more straightforward than the one presented in [48], e.g., TPTL expressiveness is higher than LTL q . In our case, we do not need this extension of the logic to solve the given problem.
 Theorem 2. 
Let A be a discrete timed automaton, φ an MTL formula, and  M ^ the abstract model for A . Then M ^ MTL E φ if, and only if M ^ E tr ( φ ) .

4. Proof of the Theorem 2

A proof of the Theorem 2 follows directly from the Lemmas 1 and 2.
 Lemma 1. 
Let A be a discrete timed automaton, φ an MTL formula, M ^ an abstract model for discrete timed automaton A , and π an abstract path in the abstract model M ^ . If ( π , m ) MTL d φ , then ( π , m ) d tr ( φ ) .
 Proof. 
We proceed by induction on the length of a given formula.
Assume that ( π , m ) MTL d φ . Consider the following cases:
  • φ AP . Because  tr ( φ ) = φ , it is obvious that tr ( φ ) AP . Therefore, ( π , m ) MTL d φ φ V ^ ( π ( d ) ) tr ( φ ) V ^ ( π ( d ) ) ( π , m ) d tr ( φ ) .
  • φ = ¬ p , where p AP . Thus, tr ( φ ) = φ . Therefore, ( π , m ) MTL d φ φ V ( π ( d ) ) ( π , m ) MTL ¬ p ( π , m ) d φ ( π , m ) d tr ( φ ) .
  • φ = α β . From the definition of the satisfiability relation (Definition 7) it follows that ( π , m ) MTL d α and ( π , m ) MTL d β . By inductive hypothesis, we obtain ( π , m ) d tr ( α ) and ( π , m ) d tr ( β ) . Therefore, ( π , m ) d tr ( α ) tr ( β ) , and hence ( π , m ) d tr ( α β ) ( π , m ) d tr ( φ ) .
  • φ = α β . From the definition of the satisfiability relation (Definition 7) it follows that ( π , m ) MTL d α or ( π , m ) MTL d β . By inductive hypothesis, we obtain that ( π , m ) d tr ( α ) or ( π , m ) d tr ( β ) . Therefore, ( π , m ) d tr ( α ) tr ( β ) , and hence ( π , m ) d tr ( α β ) ( π , m ) d tr ( φ ) .
  • φ = α U I β . Assume that ( π , m ) MTL d φ . From the definition of the satisfiability relation (Definition 7), it follows that ζ π ( j ) ζ π ( d ) I and ( ( π , d ) MTL j β and ( d i < j ) ( π , d ) MTL i α ) , for some j d . By inductive hypothesis, we obtain ζ π ( j ) ζ π ( d ) I and ( π , d ) j tr ( β ) , for some j d and ( π , d ) i tr ( α ) , for all d i < j . Therefore, ( π , d ) j q I tr ( β ) , for some j d , and  ( π , d ) i tr ( α ) , for all d i < j . Therefore, we conclude that ( π , m ) d tr ( α U I β ) .
  • φ = G I β . Assume that ( π , m ) MTL d φ . From the definition of the satisfiability relation (Definition 7), it follows that ( j d ) ( ζ π ( j ) ζ π ( d ) I implies ( π , d ) MTL j β ) , which means that ζ π ( j ) ζ π ( d ) I ( π , d ) MTL j β , for all j d . By inductive hypothesis, we obtain ζ π ( j ) ζ π ( d ) I ( π , d ) j tr ( β ) , for all j d . Hence, ( π , d ) j ¬ q I tr ( β ) , for all j d . From the semantics of LTL q , it follows that ( π , m ) d G ( ¬ q I tr ( β ) ) . So, we can conclude that ( π , m ) d tr ( G I β ) .
 Lemma 2. 
Let A be a discrete timed automaton, φ an MTL formula, M ^ an abstract model for the discrete timed automaton A , and π an abstract path in the abstract model M ^ . If ( π , m ) d tr ( φ ) , then ( π , m ) MTL d φ .
 Proof. 
We proceed by induction on the length of a given formula.
  • φ AP . Since φ = tr ( φ ) , it follows that φ AP . Therefore, ( π , m ) d tr ( φ ) tr ( φ ) V ^ ( π ( d ) ) φ V ^ ( π ( d ) ) ( π , m ) MTL d φ .
  • φ = ¬ p , where p AP . Then φ = tr ( φ ) . Therefore, ( π , m ) d tr ( φ ) tr ( φ ) V ( π ( d ) ) φ V ( π ( d ) ) ( π , m ) MTL d ¬ p ( π , m ) MTL d φ .
  • φ = α β . Thus, tr ( φ ) = tr ( α β ) = tr ( α ) tr ( β ) . From the definition of the satisfiability relation (Definiton 8) it follows that ( π , m ) d tr ( α ) and ( π , m ) d tr ( β ) . By inductive hypothesis, we obtain ( π , m ) MTL d α and ( π , m ) MTL d β . Hence, ( π , m ) MTL d α β and thus ( π , m ) MTL d α β ( π , m ) MTL d φ .
  • φ = α β . Then tr ( φ ) = tr ( α β ) = tr ( α ) tr ( β ) . From the definition of the satisfiability relation (Definition 8) it follows that ( π , m ) d tr ( α ) or ( π , m ) d tr ( β ) . By inductive hypothesis, we obtain ( π , m ) MTL d tr ( α ) or ( π , m ) MTL d tr ( β ) . Hence, ( π , m ) d α β , and thus ( π , m ) MTL d α β ( π , m ) MTL d φ .
  • φ = α U I β . Assume that ( π , m ) MTL d φ . From the definition of the translation, it follows that ( π , m ) d tr ( α ) U ( q I tr ( β ) ) . From the definition of the satisfiability relation 8, it follows that ( π , d ) j q I tr ( β ) and ( d i < j ) ( π , d ) i tr ( α ) , for some j d . Therefore, ( π , d ) j ζ π ( j ) ζ π ( d ) I ( π , d ) j tr ( β ) and ( d i < j ) ( π , d ) i tr ( α ) , for some j d . From the inductive hypothesis, we obtain ( π , d ) MTL j ζ π ( j ) ζ π ( d ) I ( π , d ) MTL j β and ( d i < j ) ( π , d ) MTL i α , thus ( π , d ) MTL j ζ π ( j ) ζ π ( d ) I β and ( d i < j ) ( π , d ) MTL i α . Thus, we conclude that ( π , m ) MTL d α U I β .
  • φ = G I β . Assume that ( π , m ) d φ . From the definition of the translation, it follows that ( π , m ) d G ( ¬ q I tr ( β ) ) . From the definition of the satisfiability relation ( j d ) ( ( π , d ) j ¬ q I or ( π , d ) j tr ( β ) ) , which means ( ( π , d ) j ζ π ( j ) ζ π ( d ) I or ( π , d ) j tr ( β ) ) , for all j d . By inductive hypothesis, we obtain ( j d ) ( ( π , d ) MTL j ζ π ( j ) ζ π ( d ) I or ( π , d ) j β ) , which is equivalent to ( j d ) ( ( π , d ) MTL j ζ π ( j ) ζ π ( d ) I β ) . Therefore, ( π , m ) MTL d G I β .
 Proof of Theorem 2. 
(⟹) Assume that M ^ MTL E φ . Therefore, M ^ , π MTL 0 φ , for some abstract path π in M ^ such that π ( 0 ) = s 0 . It means that M ^ , ( π , 0 ) MTL 0 φ . From Lemma 1, it follows that ( π , 0 ) 0 tr ( φ ) . Therefore, ( π , m ) 0 tr ( φ ) , for  m = 0 . Thus M ^ E tr ( φ ) .
(⟸) Assume that M ^ E tr ( φ ) . Hence, M ^ , π 0 tr ( φ ) , for some abstract path π in M ^ such that π ( 0 ) = s 0 . It means that ( π , 0 ) 0 tr ( φ ) . From Lemma 2, it follows that M ^ , ( π , 0 ) MTL 0 φ . Therefore, M ^ , ( π , m ) MTL 0 φ , for  m = 0 . Thus M ^ MTL E φ .    □

4.1. Bounded Semantics

To define the bounded semantics, we need to represent infinite paths in the abstract model using k-paths and loops [20,21].
 Definition 10. 
Let M ^ be an abstract model, k N and 0 l k . A k-path is a pair ( π , l ) , which is also denoted as π l , where π is a finite sequence of the abstract states π = ( s 0 , , s k ) such that for each 0 j < k , either ( s j τ s j + 1 ) or ( s j a s j + 1 ) , for some a A c t . Moreover, every action transition is preceded by at least one time transition. A k-path π l is a loop, written as ( π l ) for short, if  l < k and π ( k ) = π ( l ) .
If a k-path π l is a loop, it represents the infinite path of the form u v ω , where u = ( π ( 0 ) , , π ( l ) ) and v = ( π ( l + 1 ) , , π ( k ) ) . We denote this unique path by π l ˜ . Note that for each j N , π l ˜ ( l + j ) = π l ˜ ( k + j ) .
Given a path π l ˜ , one can define a function ζ π l ˜ : N N such that for each j 0 , ζ π l ˜ ( j ) is equal to the number of time transitions on the prefix π l ˜ [ . . j ] . Note that for each j 0 , ζ π l ˜ ( j ) gives the value of the global time in the j-th state.
In the definition of bounded semantics for variables from AP I , one needs to use only a finite prefix of the sequence ( ζ π l ˜ ( 0 ) , ζ π l ˜ ( 1 ) , ) . Namely, for a k-path π l that is not a loop, the prefix of the length k is needed, and for a k-path π l that is a loop, the prefix of the length k + k l is needed.
 Definition 11 
(Bounded semantics). Let M ^ be the abstract model, π l a k-path in M ^ , 0 m k , and 0 d k . The relation k d is defined inductively as follows:
( π l , m ) k d true , ( π l , m ) k d false , ( π l , m ) k d p iff p V ( π l ( d ) ) , ( π l , m ) k d ¬ p iff p V ( π l ( d ) ) ( π l , m ) k d q I iff ζ π l ( d ) ζ π l ( m ) I , if ¬ ( π l ) , ζ π l ( d ) ζ π l ( m ) I , if ( π l ) and d m , ζ π l ˜ ( d + k l ) ζ π l ˜ ( m ) I , if ( π l ) and d < m , ( π l , m ) k d ¬ q I iff ( π l , m ) ¬ k d q I , ( π l , m ) k d α β iff ( π l , m ) k d α and ( π l , m ) k d β , ( π l , m ) k d α β iff ( π l , m ) k d α or ( π l , m ) k d β , ( π l , m ) k d α U β iff ( d j k ) ( ( π l , d ) k j β and ( d i < j ) ( π l , d ) k i α ) or ( ( π l ) and ( l < j < d ) ( π l , d ) k j β and ( l < i < k ) ( π l , d ) k j α and ( d i k ) ( π l , d ) k i α ) , ( π l , m ) k d G β iff ( π l ) and ( j k ) j min ( d , l ) implies ( π l , d ) k j β .
The proof of Lemma 3 below is based on induction on the length of the given formula. It is analogous to the proof of Lemma 7 from the paper [20].
 Lemma 3. 
Let A be a discrete timed automaton, φ an LTL q formula, and  M ^ the abstract model for the automaton A . For each LTL q formula φ, each k path π l in  M ^ , each 0 m k and each 0 d k , if  ( π l , m ) k d φ , there exists a path π such that π [ . . k ] = π l and m d and ( π , m ) d φ or m > d and ( π , m ) d + k l φ .
The proof of the Lemma 4 below is based on the well-known fact that if the LTL formula is true on some infinite path, it is also true on an infinite path of the form u v ω , where u and v are finite sequences of states [20].
 Lemma 4. 
Let A be a discrete timed automaton, φ an LTL q formula, M ^ the abstract model for the automaton A , π a path in the abstract model, and  k 0 . For each LTL q formula φ, each 0 m k and each 0 d k , if  ( π , m ) d φ , there exists a k path π l such that ( π l , m ) k d φ .
An LTL q formula φ existentially k-holds in the model M ^ , written as M ^ k E φ , if and only if M ^ , ( π l , 0 ) k 0 φ for some k path π l starting at the initial state.
Theorem 3 shows that for some specific bound, bounded and unbounded semantics are equivalent. The proof of Theorem 3 follows directly from Lemmas 3 and 4.
 Theorem 3. 
Let M ^ be the abstract model and φ an LTL q formula. Then, M ^ E φ if and only if there exists a  k 0 such that M ^ k E φ .
 Example 1. 
Figure 1 shows an automaton modeling a simple light switch. It consists of two locations, a and b. When the action on is performed, the clock x 0 is reset. The automaton can stay in the location b until the valuation of the clock x 0 is less or equal to 6. The transition from location b to location a (action off) can be performed when the valuation of the clock x 0 is greater than 3.
Figure 2 shows an abstract path in the abstract model for the simple light switch. Under the states, we show the global time at the given position.
 Example 2. 
Let us check the satisfiability of formula q I for the case when π l is not a loop. Let I = [ 0 , 5 ) , k = 2 , m = 3 and d = 5 .
( π 2 , 3 ) 8 5 q I ζ π ( 5 ) ζ π ( 3 ) I 2 I .
Figure 3 shows an example of the k path, which is a loop. Note that for l = 2 and k = 8 , u = ( π ( 0 ) , π ( 1 ) , π ( 2 ) ) , and  v = ( π ( 3 ) , π ( 4 ) , π ( 5 ) , π ( 6 ) , π ( 7 ) , π ( 8 ) ) . Under the states, we show the global time in the given state.
 Example 3. 
Let us check the satisfiability of formula q I for the case when π l is a loop and d m . Let I = [ 0 , 5 ) , k = 8 , l = 2 , m = 3 and d = 5 .
( π 2 , 3 ) 8 5 q I ζ π l ˜ ( 5 ) ζ π l ˜ ( 3 ) I 2 I .
 Example 4. 
Let us check the satisfiability of the formula q I for the case when π l is a loop and d < m . Let I = [ 0 , 5 ) , k = 8 , l = 2 , m = 8 and d = 5 .
( π 2 , 8 ) 8 5 q I ζ π l ˜ ( 5 + 8 2 ) ζ π l ˜ ( 8 ) I ζ π l ˜ ( 11 ) ζ π l ˜ ( 8 ) I 4 I .

4.2. Translation to SAT

The last step of our method is the standard one ([26,53]). It consists in encoding the transition relation of M ^ and the LTL q formula tr ( φ ) . The only novelty lies in the encoding of the finite prefix of the sequence ( ζ π l ˜ ( 0 ) , ζ π l ˜ ( 1 ) , ) .
Let M ^ be the abstract model for the automaton A , tr ( φ ) be the LTL q formula, and  k 0 a bound. The formula [ tr ( φ ) ] k encodes a bounded semantics of the LTL q formula tr ( φ ) . It is defined over the same set of the propositional variables as the propositional formula [ M ^ tr ( φ ) , s 0 ] k .
The definition of the formula [ M ^ tr ( φ ) , s 0 ] k assumes that, states and actions in the abstract model M ^ , and passage of time are encoded symbolically. This is possible if the set of states and the set of actions are finite. Formally, each symbolic abstract state s ^ S ^ is represented by a vector, w ¯ = ( ( w 1 , v 1 ) , , ( w r , v r ) ) of propositional variables, where the length r depends on the number of states in the abstract model. This vector is called a symbolic state. Each action a A c t is represented by a vector a ¯ = ( a 1 , , a t ) of propositional variables, where the length t depends on number of local actions in A . It is called a symbolic action.
A pair consisting of a sequence of the symbolic transitions and a symbolic number is called a symbolic k-path. Let π be a pair which represents a symbolic k-path: ( ( w ¯ 0 , w ¯ 1 , , w ¯ k 1 , w ¯ k ) , u ¯ ) , where w ¯ i is a symbolic state, for 0 i k , and u ¯ is a symbolic number, which is a vector u ¯ = ( u 1 , , u y ) of propositional variables with y = m a x ( 1 , log 2 ( k + 1 ) ) . Moreover, let a ¯ i , for  0 < i k , be a symbolic action.
Let w ¯ and w ¯ be two different symbolic states, a ¯ a symbolic action and u ¯ a symbolic number. To define the formula [ M ^ tr ( φ ) , s 0 ] k , we use the following auxiliary propositional formulae: I s ^ ( w ¯ ) encodes a state s ^ in the abstract model M ^ , H ( w ¯ , w ¯ ) encodes the equality of two global states, T A c t ( w ¯ , a ¯ , w ¯ ) encodes an action transition in M ^ , T τ ( w ¯ , τ , w ¯ ) encodes a time transition in M ^ , B j ( u ¯ ) , for { < , , = , > , } encodes the relation ∼ between j and u ¯ , and  L k , m l ( π ) encodes the existence of a loop for path π at position l.
The propositional formula [ M ^ tr ( φ ) , s 0 ] k , encodes the unfolding of the transition relation of the abstract model M ^ to the depth k in the following way:
[ M ^ tr ( φ ) , s 0 ] k : = s s 0 I s ( w ¯ 0 ) l = 0 k B l = ( u ¯ ) ( j = 0 k 1 T τ ( w ¯ j , τ , w ¯ j + 1 ) T A c t ( w ¯ j , a ¯ j , w ¯ j + 1 ) )
, where w ¯ i , a ¯ i and u ¯ are, respectively, symbolic states, symbolic actions and the symbolic number for 0 i k .
The next step of the method is the translation of the LTL q formula tr ( φ ) into the propositional formula [ tr ( φ ) ] k : = [ tr ( φ ) ] [ k , 0 ] 0 . To translate the formula tr ( φ ) to SAT problem, we use the auxiliary propositional formulae defined in [53] and the propositional formula G t I d , m ( π ) . The formula G t I d , m ( π ) encodes the condition that says that the difference of the symbolic global time at the depth d and in the starting point m on the symbolic path π belongs to the interval  I .
 Definition 12 
(The translation from ELTL q to SAT). Let M ^ be the abstract model, tr ( φ ) an LTL q formula, and  k 0 a bound. The translation of the formula tr ( φ ) on the path starting at point m at the depth d is defined inductively:
true [ k , m ] d : = true , false [ k , m ] d : = false , p [ k , m ] d : = p ( w ¯ d ) , ¬ p [ k , m ] d : = ¬ p ( w ¯ d ) , q I [ k , m ] d : = l = 0 k 1 G t I d , m ( π ) ¬ H ( w ¯ k , w ¯ l ) l = 0 k 1 G t I d , m ( π ) H ( w ¯ k , w ¯ l ) , if d m l = 0 k 1 G t I d , m ( π ) ¬ H ( w ¯ k , w ¯ l ) l = 0 k 1 G t I d + k l , m ( π ) H ( w ¯ k , w ¯ l ) , if d < m ¬ q I [ k , m ] d : = ¬ q I [ k , m ] d , α β [ k , m ] d : = α [ k , m ] d β [ k , m ] d , α β [ k , m ] d : = α [ k , m ] d β [ k , m ] d , [ α U β ] [ k , m ] d : = j = d k [ β ] [ k , m ] j i = d j 1 [ α ] [ k , m ] i ( l = 0 d 1 L k , m l ( π ) j = 0 d 1 ( B j > ( u ¯ ) [ β ] [ k , m ] j i = 0 j 1 ( B i > ( u ¯ ) [ α ] [ k , m ] i ) i = d k [ α ] [ k , m ] i ) ) ,
[ G α ] [ k , m ] d : = l = 0 k 1 L k , m l ( π ) j = 0 d 1 B j ( u ¯ ) [ α ] [ k , m ] j j = d k [ α ] [ k , m ] j .
 Theorem 4. 
Let M ^ be the abstract model. Then for every k N , at the depth d k , M ^ k d E tr ( φ ) if, and only if, the propositional formula [ M ^ tr ( φ ) , s 0 ] k [ tr ( φ ) ] k is satisfiable.
The proof of the above theorem is analogous to the proofs presented in [26,53].

5. Experimental Results

In this section, we experimentally evaluate the performance of our new translation (We performed our experimental results on a computer equipped with I7-3770 processor, 32 GB of RAM, and the operating system Arch Linux. All the benchmarks together with instructions on how to reproduce our experimental results can be found at the web page https://tinyurl.com/satbmc4dtta-emtl, accessed on 3 November 2022). Our SAT-based BMC algorithm is implemented as a standalone program written in the programming language C++. We compared the new method with the corresponding one from [26]. For both methods, we used the state-of-the-art Kissat SAT solver [54]. We conducted the experiments using the slightly modified TGPP [26], the TTCS [26], and TDPP, and we compared our result with the results generated using the implementation from [26].

5.1. Timed Dining Philosophers

As the first benchmark, we used the well-known dining philosophers problem [55], and we extended it using clocks. The system consists of n discrete timed automata, each of which models a philosopher, together with n automata, each of which models a fork, together with one automaton which models the lackey. The latter automaton is used to coordinate the philosophers’ access to the dining room. In fact, this automaton ensures that no deadlock is possible. The global system is obtained as the parallel composition of the components, which are shown in Figure 4.
We assume that one unit of time represents 30 min. A philosopher has to think at least 30 min (1 time unit, x j T 2 ) and at most 2 h and 30 min (5 time units x j T 1 ). He also has to eat for, at most, one hour (2 time units, x j E 1 ), but he also can finish eating earlier ( x j E 2 ).
Let us consider the following formulae:
  • φ 1 = F [ 0 , T 2 + E 2 + 1 ) ( j = 1 n L f r e a l e a s e d j ) . At least one philosopher will eventually eat and put down both forks.
  • φ 2 = F [ 0 , T 2 + 1 ) ( j = { 1 , 3 , 5 , } n 1 E a t i n g j ) . Eventually, every second philosopher (starting with the first one) eats.
  • φ 3 = G ( F [ 0 , T 2 + 1 ) ( j = 1 n L f r e a l e a s e d j ) . Every second philosopher (starting with the first one) always eats in the end.
All these formulae are existentially valid in the model of TDPP.
Figure 5 shows experimental results for φ 1 and φ 2 . For the simple eventually formula φ 1 we can observe that time usage for the method based on the old translation is better than for the method based on the new one. However there is a noticeable difference in memory usage. In this case, the new method is better. For the formulae φ 2 and φ 3 , we can see the advantages of the new method.
Figure 6 shows experimental results for φ 3 .
Figure 7 shows generated clauses and variables for φ 1 and φ 3 .

5.2. Timed Generic Pipeline Paradigm

The TGPP (Figure 8) discrete timed automata model [26] consists of a producer producing data within the time interval ( [ a , b ] ) or being inactive, a consumer receiving data within the time interval ( [ c , d ] ) or being inactive within the time interval ( [ g , h ] ), and a chain of n intermediate nodes which can be ready for receiving data within the time interval ( [ c , d ] ), processing data within the time interval ( [ e , f ] ) or sending data. We assume that a = c = e = g = 1 and b = d = f = h = 2 · n + 2 , where n represents number of nodes in the TGPP.
To compare our experimental results with [26], we tested the TGPP discrete timed automata model on the following MTL formulae that existentially hold in the model of TGPP (n is the number of nodes). In the below formulae, we use p r o d 0 , p r o d 1 , c o n s 0 , and  c o n s 1 for P r o d R e a d y , P r o d S e n d , C o n s R e a d y , and  C o n s F r e e respectively. Moreover, we write G for G [ 0 , ) . Let us consider the following formulae:
  • φ 1 = G ( p r o d 0 c o n s 0 ) . It states that always either the producer has sent the data or the consumer has received the data.
  • φ 2 = F [ 0 , 2 · n + 3 ) ( G ( p r o d 1 c o n s 1 ) ) . It states that eventually in time less then 2 · n + 3 , it is always the case that the producer is ready to send the data or the consumer has received the data.
  • φ 3 = G ( F [ 0 , 2 · n + 3 ) ( c o n s 1 ) ) . It states that the Consumer infinitely often eventually receives the data in time less than 2 · n + 3 units.
All these formulae are existentially valid in the model of TGPP.
Charts in Figure 9 show the total time usage and total memory usage for TGPP needed for verification φ 1 and φ 2 . In both cases, the new method outperforms the old one. For  φ 2 , the LTL q -based method was able to verify the system with 19 nodes, and the HLTL-based method was able to verify the system only with 9 nodes. For  φ 3 , the memory usage is similar in both cases. However, the time usage for the old method exponentially grows. The second plot shows the number of generated clauses and variables.
Charts in Figure 10 shows the total time usage and total memory usage for TGPP needed for verification φ 3 . The second plot shows the number of generated clauses and variables.

5.3. Timed Train Controller System

The TTCS (Figure 11) consists of n (for n 2 ) trains T 1 , , T n , each one using its own circular track for traveling in one direction and containing its own clock x i , together with controller C used to coordinate the access of trains to the tunnel through which all trains have to pass at a certain point. There is only one track in the tunnel, so trains arriving from each direction cannot use it in the same time. There are signals on both sides of the tunnel, which can be either red or green. All trains notify the controller when they request entry to the tunnel or when they leave the tunnel. The controller controls the color of the displayed signal, and the behavior of the scenario depends on the values δ and Δ ( Δ > δ + 1 makes it incorrect—the mutual exclusion does not hold).
Controller C has n + 1 locations, with the location 0 being the initial one. The action S t a r t i of train T i denotes the passage from the location away to the location where the train wishes to obtain access to the tunnel. This is allowed only if controller C is in location 0. Similarly, train T i synchronizes with controller C on action a p p r o a c h i , which denotes setting C to location i > 0 , as well as o u t i , which denotes setting C to location 0. Finally, action i n i denotes the entering of train T i into the tunnel.
Moreover, we assume the following set of propositional variables: AP = { t u n n e l 1 , , t u n n e l n } .
Let us consider the following formulae:
  • φ 1 = F [ 0 , 2 · δ + 4 ) ( i = 1 n 1 j = i + 1 n ) ( t u n n e l i t u n n e l j ) . It expresses that the system violates the mutual exclusion property.
  • φ 2 = G ( F [ 0 , 2 · δ + 1 ) t u n n e l 1 ) . It expresses that the first train can infinitely often and from any state enter the tunnel in time less than 2 · δ + 1 .
  • φ 3 = G ( F [ 0 , 2 · δ + 7 ) t u n n e l 1 F [ 0 , 2 · δ + 7 ) ¬ t u n n e l 1 ) . It expresses that the first train is infinitely often in the tunnel and outside the tunnel in time less than 2 · δ + 7 .
All these formulae are existentially valid in the model of TTCS.
As we can see in Figure 12, Figure 13 and Figure 14, the new method surpasses the old one. As we expected, the difference between the two methods is smaller for the simple formula that expresses reachability problem ( φ 1 ). However, a significant difference can be seen for the formulae φ 2 and φ 3 . Figure 14 also shows the number of clauses and variables for the new and the old method. As we can see, the numbers of variables and clauses grow exponentially for the old method.

6. Statistics

We performed one- and two-sided Wicoxon tests for DPTT (Figure 15). Tests showed that the new method outperforms the old one: the new method used less time ( p = 0.36 ), and used less memory ( p = 0.99 ).
We performed the two-sided and one-sided Wilcoxon tests for all the experiments. As a dataset, we took the whole set of the experimental results (note that we deleted some results in the figures in Section 5 to make them clear—whole data can be found in the .tar.xz file we delivered).

7. Conclusions

In this work, we proposed a new SAT-based BMC for soft real-time systems modeled by discrete time automata with digital clocks and for properties expressible in metric temporal logic with semantics over discrete time automata with digital clocks.
The first step of this method is translating the existential model-checking problem for MTL into the existential model-checking problem for LTL q logic by replacing temporal operators with intervals (MTL) with temporal operators and new propositional variables corresponding to these intervals ( LTL q ). The second step is translating the existential model-checking problem for LTL q into the satisfiability problem for the propositional formulae. The efficiency of the new method is due to the fact that only one additional clock for measuring global time is needed, unlike the earlier method [26], which translates the existential model-checking problem for MTL into the existential model-checking problem translation to HLTL.
The earlier method [26] needs to add to a timed automaton one extra clock, one extra path, and an extra transition for each occurrence of the temporal operator in the formula.
We implemented our method as a standalone program written in the programming language C++. This implementation allowed us to experimentally evaluate and compare the new approach with the old one.
The experimental results show that our approach is significantly better than the approach based on translation to HLTL. The new method substantially reduces the conjunction normal form (CNF) formula’s size, an input formula for the SAT solver. The reduced size of the CNF formula causes the SAT solver to use much less time and memory to determine the satisfiability of the input formula.
In future work, we plan to extend our method by adding discrete data [56]. We also would like to improve and develop and prove the method presented in [49].

Author Contributions

Conceptualisation, A.M.Z. and A.Z.; methodology, A.M.Z. and A.Z.; software, A.Z.; validation, A.M.Z.; formal analysis, A.M.Z.; proving, A.M.Z.; investigation, A.M.Z. and A.Z.; writing—original draft preparation, A.M.Z.; writing—review and editing, A.M.Z. and A.Z.; visualisations, A.M.Z.; supervision, A.Z.; All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

    The following abbreviations are used in this manuscript:
MTLMetric Temporal Logic
HLTLHard Reset LTL
LTLLinear Temporal Logic
TATimed Automata
DTADiscrete Timed Automaton
BMCBounded Model Checking
LTL q Linear Temporal Logic with Additional Propositional Variables q I
TGPPTimed Generic Pipeline Paradigm
TTCSTimed Train Controller System
TDPPTimed Dining Philosophers Problem

Appendix A. Improvements and Extensions Compared to the Workshop Paper

  • We improved it and proved the main theorem. The workshop paper presented only the idea of the method;
  • We improved definitions;
  • We changed the semantics: the weakly monotonic semantics seems to be more natural in the case of discrete time. In [1], we used strongly monotonic semantics;
  • We redefined the concrete model. The process of creating the concrete model presented in [26] was unnecessarily complicated;
  • We redefined the semantics of MTL;
  • We showed the translation to SAT for the LTL q formula on the path starting at point m at the depth d;
  • We extended the experimental section by adding the timed dining philosophers problem (to the best of our knowledge, we modeled TDP for the first time as a network of discrete timed automata—we could find only the modeling using timed Petri nets in the literature).

Appendix B. Code Reproducibility

Appendix B.1. Preliminary

This code was successfully tested on the Linux operating system. Requirements for running the benchmarks: a reasonably modern 64-bit Linux environment with Python 3 installed. As all the programs in our package are statically linked, they do not rely on the particular version of libraries available on the final system.
In order to run the code of the experiments, one needs to download the supplementary material (.tar.xz file attached from https://tinyurl.com/bmc4dtta-mtl, accessed on 3 November 2022) and unpack it:
$ tar -xvf bmc4dtta-emtl.tar.gz
Once unpacked, one should go to the directory named bmc4dtta-emtl that contains the code necessary to replicate all the experiments:
$ cd bmc4dtta-emtl

Appendix B.2. Running Experiments

To launch a SAT-based BMC for DTTA and LTL q experiment, go to the newbmc\{SYSTEM_ACRONYM-f{FORMULA_NR}}\ directory, where {FORMULA_NR} is a natural number n { 1 , 2 , 3 } , and {SYSTEM_ACRONYM} is either ‘ttcs’, ‘tgpp’ or ‘tdpl’, and run the bash file all-new-{SYSTEM_ACRONYM}-f{FORMULA_NR}.sh. We report a few usage examples below.

Appendix B.3. Example-TTCS

Let us suppose that we want to verify TTCS system with 25 trains and formula φ 1 = F [ 0 , 2 · δ + 7 ) ( i = 1 n 1 j = i + 1 n ) ( t u n n e l i t u n n e l j ) ) . We have to navigate to the directory ttcs-f1
$ cd ttcs-f1
and then execute the BMC algorithm
$ nohup nice ./bmcalg-new-ttcs-f1-cms.sh 25 0 &
The first argument sets the number of trains in the system to 25, and the second argument sets the initial k-path k to 0.
One can also perform all the experiments for the formula φ 1 using the proper script:
$ nohup nice ./all-new-ttcs-f1-cms.sh &
It will perform all the experiments for n { 2 100 } .

References

  1. Zbrzezny, A.M.; Zbrzezny, A. Simple Bounded MTL Model Checking for Discrete Timed Automata (Extended abstract). In Proceedings of the 23th International Workshop on Concurrency, Specification and Programming (CS&P 2016), Rostock, Germany, 28–30 September 2016; Volume 1698, pp. 37–48. [Google Scholar]
  2. Bourke, T.; Sowmya, A. Analyzing an Embedded Sensor with Timed Automata in Uppaal. ACM Trans. Embed. Comput. Syst. (TECS) 2013, 13, 44-1–44-26. [Google Scholar] [CrossRef] [Green Version]
  3. Chen, G.; Jiang, T.; Wang, M.; Tang, X.; Ji, W. Design and model checking of timed automata oriented architecture for Internet of thing. Int. J. Distrib. Sens. Netw. 2020, 16, 1550147720911008. [Google Scholar] [CrossRef]
  4. Iversen, T.K.; Kristoffersen, K.J.; Larsen, K.G.; Laursen, M.; Madsen, R.G.; Mortensen, S.K.; Pettersson, P.; Thomasen, C.B. Model-checking real-time control programs: Verifying Lego(R) MindstormsTM systems using UPPAAL. In Proceedings of the 12th Euromicro Conference on Real-Time Systems (ECRTS 2000), Stockholm, Sweden, 19–21 June 2000; IEEE Computer Society: Washington, DC, USA, 2000; pp. 147–155. [Google Scholar] [CrossRef]
  5. Lahtinen, J. Model Checking Timed Safety Instrumented Systems; Research Report TKK-ICS-R3; Helsinki University of Technology, Department of Information and Computer Science: Espoo, Finland, 2008. [Google Scholar]
  6. Hammal, Y.; Monnet, Q.; Mokdad, L.; Ben-Othman, J.; Abdelli, A. Timed automata based modeling and verification of denial of service attacks in wireless sensor networks. Stud. Inform. Universalis 2014, 12, 1–46. [Google Scholar]
  7. Mouradian, A.; Augé-Blum, I. Modeling Local Broadcast Behavior of Wireless Sensor Networks with Timed Automata for Model Checking of WCTT. In Proceedings of the WCTT’12, San Juan, Puerto Rico, 4 December 2012; pp. 23–30. [Google Scholar]
  8. Alur, R.; Dill, D. A Theory of Timed Automata. Theor. Comput. Sci. 1994, 126, 183–235. [Google Scholar] [CrossRef] [Green Version]
  9. Bozga, M.; Hou, J.; Maler, O.; Yovine, S. Verification of Asynchronous Circuits using Timed Automata. Electr. Notes Theor. Comput. Sci. 2002, 65, 47–59. [Google Scholar] [CrossRef] [Green Version]
  10. Dierks, H. PLC-automata: A new class of implementable real-time automata. Theor. Comput. Sci. 2001, 253, 61–93. [Google Scholar] [CrossRef] [Green Version]
  11. Clarke, E.M.; Emerson, E.A. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. In Proceedings of the Logics of Programs, Yorktown Heights, NY, USA, 4–6 May 1981; Springer: Berlin/Heidelberg, Germany, 1981; Volume 131, pp. 52–71. [Google Scholar]
  12. Emerson, E.A.; Mok, A.K.; Sistla, A.P.; Srinivasan, J. Quantitative Temporal Reasoning. Real-Time Syst. 1992, 4, 331–352. [Google Scholar] [CrossRef]
  13. Pnueli, A. The Temporal Logic of Programs. In Proceedings of the 18th Annual Symposium on Foundations of Computer Science, Providence, RI, USA, 20–23 October 1977; pp. 46–57. [Google Scholar]
  14. Koymans, R. Specifying Real-Time Properties with Metric Temporal Logic. Real-Time Syst. 1990, 2, 255–299. [Google Scholar] [CrossRef]
  15. Bouyer, P. Model-checking Timed Temporal Logics. Electr. Notes Theor. Comput. Sci. 2009, 231, 323–341. [Google Scholar] [CrossRef] [Green Version]
  16. Furia, C.A.; Spoletini, P. Tomorrow and All our Yesterdays: MTL Satisfiability over the Integers. In Proceedings of the ICTAC, Istanbul, Turkey, 1–3 September 2008; Springer: Berlin/Heidelberg, Germany, 2008; Volume 5160, pp. 126–140. [Google Scholar]
  17. Ho, H.; Ouaknine, J.; Worrell, J. On the Expressiveness and Monitoring of Metric Temporal Logic. Logical Methods in Comp. Sci. 2019, 15. [Google Scholar] [CrossRef]
  18. Pradella, M.; Morzenti, A.; Pietro, P.S. Bounded satisfiability checking of metric temporal logic specifications. ACM Trans. Softw. Eng. Methodol. 2013, 22, 20:1–20:54. [Google Scholar] [CrossRef]
  19. Henzinger, T.; Manna, Z.; Pnueli, A. What good are digital clocks? In Proceedings of the ICALP 92: Automata, Languages, and Programming, Wien, Austria, 13–17 July 1992; Kuich, W., Ed.; Springer: Berlin/Heidelberg, Germany, 1992; pp. 545–558. [Google Scholar]
  20. Biere, A.; Cimatti, A.; Clarke, E.; Zhu, Y. Symbolic Model Checking without BDDs. In Proceedings of the TACAS’99, Amsterdam, The Netherlands, 22–28 March 1999; Springer: Berlin/Heidelberg, Germany, 1999; Volume 1579, pp. 193–207. [Google Scholar]
  21. Biere, A.; Cimatti, A.; Clarke, E.M.; Strichman, O.; Zhu, Y. Bounded Model Checking. Adv. Comput. 2003, 58, 117–148. [Google Scholar]
  22. Penczek, W.; Woźna, B.; Zbrzezny, A. Bounded Model Checking for the Universal Fragment of CTL. Fundam. Inform. 2002, 51, 135–156. [Google Scholar]
  23. Alur, R.; Henzinger, T.A. Real-time Logics: Complexity and Expressiveness. In Proceedings of the LICS ’90, Philadelphia, PA, USA, 4–7 June 1990; pp. 390–401. [Google Scholar]
  24. Alur, R.; Feder, T.; Henzinger, T.A. The Benefits of Relaxing Punctuality. J. ACM 1996, 43, 116–146. [Google Scholar] [CrossRef] [Green Version]
  25. Wilke, T. Specifying Timed State Sequences in Powerful Decidable Logics and Timed Automata. In Proceedings of the Formal Techniques in Real-Time and Fault-Tolerant Systems, Lübeck, Germany, 19–23 September 1994; pp. 694–715. [Google Scholar]
  26. Woźna-Szcześniak, B.; Zbrzezny, A. Checking MTL Properties of Discrete Timed Automata via Bounded Model Checking. Fundam. Inform. 2014, 135, 553–568. [Google Scholar] [CrossRef]
  27. Alur, R.; Henzinger, T.A. Logics and Models of Real Time: A Survey. In Proceedings of the Real-Time: Theory in Practice, REX Workshop, Mook, The Netherlands, 3–7 June 1991; de Bakker, J.W., Huizing, C., de Roever, W.P., Rozenberg, G., Eds.; Springer: Berlin/Heidelberg, Germany, 1991; Volume 600, pp. 74–106. [Google Scholar] [CrossRef] [Green Version]
  28. Bozga, M.; Maler, O.; Tripakis, S. Efficient Verification of Timed Automata Using Dense and Discrete Time Semantics. In Proceedings of the Correct Hardware Design and Verification Methods, 10th IFIP WG 10.5 Advanced Research Working Conference, CHARME ’99, Bad Herrenalb, Germany, 27–29 September 1999; Pierre, L., Kropf, T., Eds.; Springer: Berlin/Heidelberg, Germany, 1999; Volume 1703, pp. 125–141. [Google Scholar] [CrossRef] [Green Version]
  29. Ruf, J.; Kropf, T. Symbolic Verification and Analysis of Discrete Timed Systems. Form. Methods Syst. Des. 2003, 23, 67–108. [Google Scholar] [CrossRef]
  30. Cimatti, A.; Griggio, A.; Magnago, E.; Roveri, M.; Tonetta, S. Extending nuXmv with timed transition systems and timed temporal properties. In Proceedings of the International Conference on Computer Aided Verification, New York, NY, USA, 15–18 July 2019; Springer: Cham, Switzerland, 2019; pp. 376–386. [Google Scholar]
  31. Gao, Y.; Abate, A.; Jiang, F.J.; Giacobbe, M.; Xie, L.; Johansson, K.H. Temporal logic trees for model checking and control synthesis of uncertain discrete-time systems. IEEE Trans. Autom. Control 2021, 67, 5071–5086. [Google Scholar] [CrossRef]
  32. Laroussinie, F.; Markey, N.; Schnoebelen, P. Efficient timed model checking for discrete-time systems. Theor. Comput. Sci. 2006, 353, 249–271. [Google Scholar] [CrossRef]
  33. Krystosik, A. Embedded Systems Modeling Language. In Proceedings of the 2006 International Conference on Dependability of Computer Systems (DepCoS-RELCOMEX 2006), Szklarska Poreba, Poland, 24–28 May 2006; IEEE Computer Society: Washington, DC, USA, 2006; pp. 27–34. [Google Scholar] [CrossRef]
  34. Bruneel, H.; Kim, B.G. Discrete-Time Models for Communication Systems Including ATM; Springer Science & Business Media: New York, NY, USA, 2012; Volume 205. [Google Scholar]
  35. Belta, C.; Yordanov, B.; Gol, E.A. Formal Methods for Discrete-Time Dynamical Systems; Springer: Cham, Switzerland, 2017; Volume 15. [Google Scholar]
  36. Allen, L.; Jones, M.; Martin, C. A discrete-time model with vaccination for a measles epidemic. Math. Biosci. 1991, 105, 111–131. [Google Scholar] [CrossRef]
  37. Li, S.; Lu, Y.; Garrido, J. A review of discrete-time risk models. RACSAM-Rev. De La Real Acad. De Cienc. Exactas Fis. Y Nat. Ser. A Mat. 2009, 103, 321–337. [Google Scholar] [CrossRef]
  38. Oli, M.K.; Venkataraman, M.; Klein, P.A.; Wendland, L.D.; Brown, M.B. Population dynamics of infectious diseases: A discrete time model. Ecol. Model. 2006, 198, 183–194. [Google Scholar] [CrossRef]
  39. Quaas, K. MTL-Model Checking of One-Clock Parametric Timed Automata is Undecidable. In Proceedings of the 1st International Workshop on Synthesis of Continuous Parameters, SynCoP 2014, Grenoble, France, 6 April 2014; André, É., Frehse, G., Eds.; Open Publishing Association: Waterloo, Australia, 2014; Volume 145, pp. 5–17. [Google Scholar] [CrossRef] [Green Version]
  40. Bae, K.; Lee, J. Bounded model checking of signal temporal logic properties using syntactic separation. Proc. ACM Program. Lang. 2019, 3, 1–30. [Google Scholar] [CrossRef] [Green Version]
  41. Li, J.; Vardi, M.Y.; Rozier, K.Y. Satisfiability checking for mission-time LTL. In Proceedings of the International Conference on Computer Aided Verification, New York, NY, USA, 15–18 July 2019; Springer: Cham, Switzerland, 2019; pp. 3–22. [Google Scholar]
  42. Jonk, R.; Voeten, J.; Geilen, M.; Basten, T.; Schiffelers, R. SMT-based verification of temporal properties for component-based software systems. IFAC-PapersOnLine 2020, 53, 493–500. [Google Scholar] [CrossRef]
  43. Smith, R.L.; Bersani, M.M.; Rossi, M.; San Pietro, P. Improved Bounded Model Checking of Timed Automata. In Proceedings of the 9th IEEE/ACM International Conference on Formal Methods in Software Engineering, FormaliSE@ICSE 2021, Madrid, Spain, 17–21 May 2021; Bliudze, S., Gnesi, S., Plat, N., Semini, L., Eds.; IEEE: Piscataway, NJ, USA, 2021; pp. 97–110. [Google Scholar] [CrossRef]
  44. Hofmann, T.; Schupp, S. Controlling Timed Automata against MTL Specifications with TACoS. Sci. Comput. Program. 2022, 225, 102898. [Google Scholar] [CrossRef]
  45. Hustadt, U.; Ozaki, A.; Dixon, C. Theorem Proving for Pointwise Metric Temporal Logic Over the Naturals via Translations. J. Autom. Reason. 2020, 64, 1553–1610. [Google Scholar] [CrossRef] [Green Version]
  46. Ouaknine, J.; Worrell, J. Some Recent Results in Metric Temporal Logic. In Proceedings of the Formal Modeling and Analysis of Timed Systems, 6th International Conference, FORMATS 2008, Saint Malo, France, 15–17 September 2008; Cassez, F., Jard, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; Volume 5215, pp. 1–13. [Google Scholar] [CrossRef]
  47. D’Souza, D.; Prabhakar, P. On the expressiveness of MTL in the pointwise and continuous semantics. Int. J. Softw. Tools Technol. Transf. 2007, 9, 1–4. [Google Scholar] [CrossRef]
  48. Bouyer, P.; Chevalier, F.; Markey, N. On the expressiveness of TPTL and MTL. Inf. Comput. 2010, 208, 97–116. [Google Scholar] [CrossRef] [Green Version]
  49. Zbrzezny, A.M.; Zbrzezny, A. Checking MTL Properties of Timed Automata with Dense Time using Satisfiability Modulo Theories (Extended Abstract). In Proceedings of the 28th International Workshop on CS&P, Olsztyn, Poland, 24–26 September 2019; Volume 2571. [Google Scholar]
  50. Bonakdarpour, B.; Prabhakar, P.; Sánchez, C. Model checking timed hyperproperties in discrete-time systems. In Proceedings of the NASA Formal Methods Symposium, Moffett Field, CA, USA, 11–15 May 2020; Springer: Cham, Switzerland, 2020; pp. 311–328. [Google Scholar]
  51. Penczek, W.; Półrola, A. Advances in Verification of Time Petri Nets and Timed Automata: A Temporal Logic Approach; Studies in Computational Intelligence; Springer: Berlin/Heidelberg, Germany, 2006; Volume 20. [Google Scholar]
  52. Tripakis, S.; Yovine, S. Analysis of Timed Systems Using Time-Abstracting Bisimulations. Form. Methods Syst. Des. 2001, 18, 25–68. [Google Scholar] [CrossRef]
  53. Zbrzezny, A. A new translation from ECTL* to SAT. Fundam. Informaticae 2012, 120, 377–397. [Google Scholar] [CrossRef]
  54. Biere, A.; Fazekas, K.; Fleury, M.; Heisinger, M. CaDiCaL, Kissat, Paracooba, Plingeling and Treengeling Entering the SAT Competition 2020. In Proceedings of the SAT Competition 2020–Solver and Benchmark Descriptions, virtual event affiliated with the 23rd International Conference on Theory and Applications of Satisfiability Testing, Alghero, Italy, 5–9 July 2020; Balyo, T., Froleyks, N., Heule, M., Iser, M., Järvisalo, M., Suda, M., Eds.; University of Helsinki: Helsinki, Finland, 2020; Volume B-2020-1, pp. 51–53. [Google Scholar]
  55. Probst, D.K.; Li, H.F. Verifying Timed Behavior Automata with Nonbinary Delay Constraints. In Proceedings of the Computer Aided Verification, Fourth International Workshop, CAV ’92, Montreal, QC, Canada, 29 June–1 July 1992; von Bochmann, G., Probst, D.K., Eds.; Springer: Berlin/Heidelberg, Germany, 1992; Volume 663, pp. 123–136. [Google Scholar] [CrossRef]
  56. Zbrzezny, A.; Pólrola, A. SAT-Based Reachability Checking for Timed Automata with Discrete Data. Fundam. Informaticae 2007, 79, 579–593. [Google Scholar]
Figure 1. The simple light switch.
Figure 1. The simple light switch.
Sensors 22 09552 g001
Figure 2. An example of the path.
Figure 2. An example of the path.
Sensors 22 09552 g002
Figure 3. An example of the k-path, which is a loop.
Figure 3. An example of the k-path, which is a loop.
Sensors 22 09552 g003
Figure 4. The TDPP system.
Figure 4. The TDPP system.
Sensors 22 09552 g004
Figure 5. TDPP with n philosophers: φ 1 and φ 2 .
Figure 5. TDPP with n philosophers: φ 1 and φ 2 .
Sensors 22 09552 g005
Figure 6. The TDPP with n philosophers: φ 3 .
Figure 6. The TDPP with n philosophers: φ 3 .
Sensors 22 09552 g006
Figure 7. The TDPP with n philosophers clauses and variables: φ 1 and φ 3 .
Figure 7. The TDPP with n philosophers clauses and variables: φ 1 and φ 3 .
Sensors 22 09552 g007
Figure 8. The TGPP system.
Figure 8. The TGPP system.
Sensors 22 09552 g008
Figure 9. φ 1 and φ 2 : TGPP with n nodes.
Figure 9. φ 1 and φ 2 : TGPP with n nodes.
Sensors 22 09552 g009
Figure 10. Results for φ 3 : TGPP with n nodes. Number of variables and clauses for φ 3 .
Figure 10. Results for φ 3 : TGPP with n nodes. Number of variables and clauses for φ 3 .
Sensors 22 09552 g010
Figure 11. The TTCS system.
Figure 11. The TTCS system.
Sensors 22 09552 g011
Figure 12. φ 1 : TTCS with n trains.
Figure 12. φ 1 : TTCS with n trains.
Sensors 22 09552 g012
Figure 13. φ 3 : TTCS with n trains.
Figure 13. φ 3 : TTCS with n trains.
Sensors 22 09552 g013
Figure 14. Results for φ 2 . Number of variables and clauses for φ 2 and TTCS with n trains.
Figure 14. Results for φ 2 . Number of variables and clauses for φ 2 and TTCS with n trains.
Sensors 22 09552 g014
Figure 15. TDPP: Pairs Wilcoxon plots for total time usage and total memory usage for φ 1 , φ 2 , and φ 3 .
Figure 15. TDPP: Pairs Wilcoxon plots for total time usage and total memory usage for φ 1 , φ 2 , and φ 3 .
Sensors 22 09552 g015
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zbrzezny, A.M.; Zbrzezny, A. Bounded Model Checking for Metric Temporal Logic Properties of Timed Automata with Digital Clocks. Sensors 2022, 22, 9552. https://0-doi-org.brum.beds.ac.uk/10.3390/s22239552

AMA Style

Zbrzezny AM, Zbrzezny A. Bounded Model Checking for Metric Temporal Logic Properties of Timed Automata with Digital Clocks. Sensors. 2022; 22(23):9552. https://0-doi-org.brum.beds.ac.uk/10.3390/s22239552

Chicago/Turabian Style

Zbrzezny, Agnieszka M., and Andrzej Zbrzezny. 2022. "Bounded Model Checking for Metric Temporal Logic Properties of Timed Automata with Digital Clocks" Sensors 22, no. 23: 9552. https://0-doi-org.brum.beds.ac.uk/10.3390/s22239552

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop