BioMed Research International

Volume 2017, Article ID 7941845, 33 pages

https://doi.org/10.1155/2017/7941845

## Model Checking Temporal Logic Formulas Using Sticker Automata

^{1}School of Information Engineering, Zhengzhou University, Zhengzhou 450001, China^{2}The Second Affiliated Hospital of Zhengzhou University, Zhengzhou 450001, China^{3}School of Informatics and Computing, Indiana University-Purdue University Indianapolis, Indianapolis, IN, USA

Correspondence should be addressed to Weijun Zhu; moc.361@67nujiewuhz

Received 4 October 2016; Revised 13 February 2017; Accepted 18 April 2017; Published 28 September 2017

Academic Editor: J. R. Torregrosa

Copyright © 2017 Weijun Zhu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

As an important complex problem, the temporal logic model checking problem is still far from being fully resolved under the circumstance of DNA computing, especially Computation Tree Logic (CTL), Interval Temporal Logic (ITL), and Projection Temporal Logic (PTL), because there is still a lack of approaches for DNA model checking. To address this challenge, a model checking method is proposed for checking the basic formulas in the above three temporal logic types with DNA molecules. First, one-type single-stranded DNA molecules are employed to encode the Finite State Automaton (FSA) model of the given basic formula so that a sticker automaton is obtained. On the other hand, other single-stranded DNA molecules are employed to encode the given system model so that the input strings of the sticker automaton are obtained. Next, a series of biochemical reactions are conducted between the above two types of single-stranded DNA molecules. It can then be decided whether the system satisfies the formula or not. As a result, we have developed a DNA-based approach for checking all the basic formulas of CTL, ITL, and PTL. The simulated results demonstrate the effectiveness of the new method.

#### 1. Introduction

Differing from an electronic computer, a DNA computer uses DNA molecules as the carrier of computation. In 1994, a Turing Award winner Professor Adleman published an article in that solved a small-scale Hamiltonian path problem with a DNA experiment [1], which is regarded as the pioneering work in the field of DNA computing. As DNA computing has a huge advantage for parallel processing, this technique was subsequently advanced rapidly. Many models and approaches based on DNA computing have been developed to solve some complex computational problems, especially the famous NP-hard problems and PSPACE-hard ones. For example, Lipton published an article in that improved Adleman’s idea for the SAT problem [2]. Ouyang et al. published an article in that presented a DNA-computing-based model for solving the maximal clique problem [3]. Benenson et al. published an article in that solved an automata problem of two states and two characters using the autonomous DNA computing technique [4].

Many other DNA models have been constructed, such as the restricted model [5], the sticker system [6], the length-encoding model [7], the sticker automaton model [8], the DNA Turing machine model [9], the nonenumerative DNA model [10], the giant-magneto-resistance-based DNA model [11], the logical DNA molecular model [12], and the logical nanomolecular model [13]. And a series of methods based on nonautonomous or self-assembling are proposed for solving various complex computational problems, including the Nondeterministic Polynomial (NP) ones. For example, there are methods proposed for the maximum clique problem [14, 15], the vertex coloring one [10, 16], the SAT one [11], the queen one [17], the maximum matching one [18], the minimum vertex cover one [19], the minimum and exact cover one [20], the subset-sum one [21], the classical Ramsey number one [22], the spatial cluster analysis [23, 24], and the knapsack [25].

On the one hand, some problems in computer science can be solved by applying the techniques based on biochemical reactions in test tubes, nanodevices, or molecular self-assembly [1, 26–28]. On the other hand, due to the excellent information processing mechanism and the huge parallelism, some living cells can also be employed to perform some computations. The site-specific DNA recombinase Hin, which can mediate inversion of DNA segments that represent variables, was used to produce the solution. In this model, each cell can produce and examine a solution of satisfiability problem. As a result, billions of cells can explore billions of possible solutions [29]. In this way, Professor Chen et al. constructed a cellular computing model [29] to solve the satisfiability problem. In addition, a conditional learning system in* Escherichia coli* was built to identify the “bad man” signal with the help of the “learning” signal. It is a useful attempt to construct the artificial intelligent system using some molecular biological techniques.

One of the key differences between computer and other computing tools is the universality. Professor Xu constructed a mathematical model called “probe machine” for the general DNA computer [30]. By integrating the storage system, operation system, detection system, and control system into a whole, a real general DNA computer was gradually obtained, which was the “Zhongzhou DNA computer” [30]. A probe machine is a nine-tuples consisting of data library, probe library, data controller, probe controller, probe operation, computing platform, detector, true solution storage, and residue collector [15]. It is a universal DNA computing model which can be realized in biology. And a Turing machine is just a “special case” of a probe machine [15]. This significant progress has raised the practical importance of the researches on DNA computing.

More studies on DNA computing have been conducted for the last three years. Some of the major studies are summarized as follows: (1) aiming to deal with some inherent flaws of DNA computing, such as adaptability [31] and instability [32]; (2) employing DNAs to realize some basic computing components and/or techniques, such as data storage [33], database operations [34], odd parity checker [35], half adder [36], encryption [37], and data hiding [38]; (3) utilizing DNAs to address some problems in real world, such as the inverse kinematics redundancy problem of six-degree-of-freedom humanoid robot arms [39], dynamic control of elevator systems [40], and hyperspectral remote sensing data/imagery [41, 42].

Besides the satisfiability problem, model checking (MC) is another important computational problem. These two problems are correlated. The MC proposed by the Turing Award winner Professor Clarke et al. [43] is widely used in the fields of CPU verification [44], network protocol verification, security protocol verification [45], and software verification [46]. MC algorithms answer automatically the question of whether a system satisfies the given property or not. NASA, Intel, IBM, and Motorola are using this technique. The general principles of MC can be given as follows: (i) a system model is constructed with an automaton; (ii) a property which the system should satisfy is described by a temporal logic formula; and (iii) if an automaton is a model of the formula, the system model satisfies the property; otherwise, the system does not satisfy the property.

In order to describe the different temporal properties, some different temporal logic types have been proposed. For instance, Linear Temporal Logic (LTL) was introduced into computer science to express the linear properties by the Turing Award winner Professor Pnueli [47]. Computation Tree Logic (CTL) was proposed to express the branch properties by the Turing Award winner Professor Clarke [48, 49]. Interval Temporal Logic (ITL), Duration Calculus (DC), and Projection Temporal Logic (PTL) were also investigated to express other temporal properties [50–52].

As a complex computational problem, model checking under the circumstance of DNA computing is always a goal for researchers. In 2006, some DNA molecules were applied to conduct CTL model checking for the first time by the Turing Award winner Professor Emerson et al. [53]. However, this method can check only one basic CTL formula, called EF*p*. It is known that there are eight basic formulas in CTL, that is, E*p*U*q*, A*p*U*q*, EF*p*, AF*p*, EG*p*, AG*p*, EX*p*, and AX*p*. It has been a pending and challenging issue to perform model checking for all of the eight basic CTL formulas using DNA computing. As shown in Table 1, there are eight basic formulas for CTL, two for ITL, and one for PTL. Except for the EF*p* formula, all the other ten basic formulas in CTL, ITL, and PTL cannot conduct model checking under the circumstance of DNA computing using the existing methods.