<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2016.99030</article-id><article-id pub-id-type="publisher-id">JSEA-71093</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Specification and Verification of Dynamically Reconfigurable Systems Using Dynamic Linear Hybrid Automata
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ryo</surname><given-names>Yanase</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Tatsunori</surname><given-names>Sakai</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Makoto</surname><given-names>Sakai</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Satoshi</surname><given-names>Yamane</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Graduate School of Natural Science &amp;amp; Technology, Kanazawa University, Kanazawa, Japan</addr-line></aff><aff id="aff2"><addr-line>Institute of Science and Engineering, Kanazawa University, Kanazawa, Japan</addr-line></aff><pub-date pub-type="epub"><day>07</day><month>09</month><year>2016</year></pub-date><volume>09</volume><issue>09</issue><fpage>452</fpage><lpage>478</lpage><history><date date-type="received"><day>July</day>	<month>15,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>September</month>	<year>27,</year>	</date><date date-type="accepted"><day>September</day>	<month>30,</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  A dynamically reconfigurable system can change its configuration during operation, and studies of such systems are being carried out in many fields. In particular, medical technology and aerospace engineering must ensure system safety because any defect will have serious consequences. Model checking is a method for verifying system safety. In this paper, we propose the Dynamic Linear Hybrid Automaton (DLHA) specification language and show a method to analyze reachability for a system consisting of several DLHAs.
 
</p></abstract><kwd-group><kwd>Formal Method</kwd><kwd> Model Checking</kwd><kwd> Hybrid Automata</kwd><kwd> Embedded Systems</kwd><kwd>  Dynamically Reconfigurable Systems</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Dynamically reconfigurable systems can change their configuration during operation. Such systems are being used in a number of areas [<xref ref-type="bibr" rid="scirp.71093-ref1">1</xref>] - [<xref ref-type="bibr" rid="scirp.71093-ref4">4</xref>] of an apparatus that involves human lives or expensive manufactured goods (e.g., in medical or aerospace engineering). Here, it is very important to guarantee safety. The major methods of checking system safety include simulation and testing; however, it is difficult for them to ensure safety precisely, since large systems can have infinite state spaces. In such a case, model checking that performs exhaustive searches is a more effective method.</p><p>In this paper, we propose the Dynamic Linear Hybrid Automaton (DLHA) specification language for describing dynamically reconfigurable systems and provide a reachability analysis algorithm for verifying system safety.</p><sec id="s1_1"><title>1.1. Our Proposal</title><p>The target of our research is an embedded system in which a CPU and dynamically reconfigurable hardware, e.g., DRP (Dynamically Reconfigurable Processor) or dynamically reconfigurable FPGA (Field-Programmable Gate Array) [<xref ref-type="bibr" rid="scirp.71093-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.71093-ref6">6</xref>] operate cooperatively. The DRP is a coarse-grained programmable processor developed by NEC Corporation [<xref ref-type="bibr" rid="scirp.71093-ref4">4</xref>] , and it manages both the power conservation and miniaturization. The DRP is used to accelerate the computations of a general purpose CPU through cooperative operations, and it has the following features:</p><p>・ Dynamic creation/destruction of functions: when a process occurs, the DRP constitutes a private circuit for processing it. The circuit configuration is released after the process finishes.</p><p>・ Hybrid property: the operation frequency changes whenever a context switch occurs.</p><p>・ Parallel execution: the DRP executes several processes on the same board at the same time.</p><p>・ Queue for communication: the DRP asynchronously receives processing requests from the CPU.</p><sec id="s1_1_1"><title>1.1.1. Specification</title><p>We devised the following new specification techniques for dynamically reconfigurable systems consisting of CPUs and DRPs:</p><p>・ We use linear hybrid automata [<xref ref-type="bibr" rid="scirp.71093-ref7">7</xref>] describing changes in the operating frequency.</p><p>・ We use linear hybrid automata that have creation/destruction events describing dynamic creations and destructions of configuration components.</p><p>・ We use FIFO queues describing asynchronous communication.</p><p>We developed a new specification language (DLHA) based on a linear hybrid automaton with both creation/destruction events and unbounded FIFO queues. DLHA is different from existing research in the following points:</p><p>・ V. Varshavsky and J. Esparza proposed the GALA (Globally Asynchronous - Locally Arbitrary) modeling approach including timed guards [<xref ref-type="bibr" rid="scirp.71093-ref8">8</xref>] . This approach cannot describe hybrid systems since it is the specification language based on discrete systems. Thus, GALA cannot represent changes in operating frequency.</p><p>・ S. Minami and others have specified a dynamically reconfigurable system using linear hybrid automata and have verified it by using a model checker, H YT ECH [<xref ref-type="bibr" rid="scirp.71093-ref9">9</xref>] . Since linear hybrid automata cannot describe changes to the configuration and asynchronous communications, the system has been specified as a static system. Therefore, the specification presented in their work is unsuitable for representing dynamically reconfigurable systems. Moreover, they verified only the schedulability property of the system, whereas we have verified several other properties in our work.</p></sec><sec id="s1_1_2"><title>1.1.2. Verification Method</title><p>The originality of our work on the verification method is twofold:</p><p>・ Our method targets systems that dynamically change their configurations, which is something the existing work, such as H YT ECH, has studied. We extend the syntax and semantics of linear hybrid automata with special actions called creation actions and destruction actions. We define a state in which an automaton does not exist and transitions for creation and destruction.</p><p>・ Our method is a comprehensive symbolic verification for hybrid properties, FIFO queues and creation/destruction of tasks.</p></sec><sec id="s1_1_3"><title>1.1.3. Experiments on Verifying Dynamically Reconfigurable Systems</title><p>For the experiments, we specified a dynamically reconfigurable embedded system consisting of a CPU and DRP, and verified some of its important features. This is the first time that specification and verification of dynamic changes have been tried in a practical case.</p></sec></sec><sec id="s1_2"><title>1.2. Related Work</title><p>Here, we describe related work and how it differs from our work.</p><p>・ P. C. Attie and N. A. Lynch specified systems whose components are dynamically created/destroyed by using I/O automata [<xref ref-type="bibr" rid="scirp.71093-ref10">10</xref>] . I/O automata cannot describe changes in variables, for example, changes in the clock and operating frequency.</p><p>・ H. Yamada and others proposed hierarchical linear hybrid automata for specifying dynamically reconfigurable systems [<xref ref-type="bibr" rid="scirp.71093-ref11">11</xref>] . They introduced concepts such as class, object, etc., to the specification language. However, as the scale of the system to be specified increases, the representation and method of analysis in the verification stage tend to be complex.</p><p>・ B. Boigelot and P. Godefroid specified a communication protocol in terms of finite-state machines and unbounded FIFO buffers (queues), and they verified it [<xref ref-type="bibr" rid="scirp.71093-ref12">12</xref>] . Since the finite-state machine also cannot describe changes in variables, it is unsuitable in our case.</p><p>・ A. Bouajjani and others proposed a reachability analysis for pushdown automata and a symbolic reachability analysis for FIFO-channel systems [<xref ref-type="bibr" rid="scirp.71093-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.71093-ref14">14</xref>] . However, since their analysis don’t provide for continuous changes in variables, in languages cannot be used for designing hybrid systems.</p></sec></sec><sec id="s2"><title>2. Dynamic Linear Hybrid Automaton</title><sec id="s2_1"><title>2.1. Preliminaries</title><p>Definition 1 (Constraint). Let V be a finite set of variables. A constraint <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x2.png" xlink:type="simple"/></inline-formula> on V is defined as</p><disp-formula id="scirp.71093-formula1418"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x3.png"  xlink:type="simple"/></disp-formula><p>where<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x4.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x5.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x6.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x7.png" xlink:type="simple"/></inline-formula> are constraints on V, and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x8.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x9.png" xlink:type="simple"/></inline-formula>denotes the set of all constraints on V.</p><p>Definition 2 (Flow condition). Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x10.png" xlink:type="simple"/></inline-formula> be a finite set of (real-valued) variables. A flow condition f on V is defined as</p><disp-formula id="scirp.71093-formula1419"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x11.png"  xlink:type="simple"/></disp-formula><p>where<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x12.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x13.png" xlink:type="simple"/></inline-formula>is the set of all flow conditions.</p><p>For each variable x, we use the dotted variable<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x14.png" xlink:type="simple"/></inline-formula>, to denote the first derivative of x.</p><p>Definition 3 (Update Expression). Let V be a finite set of variables. An update expression upd on V is defined as</p><disp-formula id="scirp.71093-formula1420"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x15.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x16.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x17.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x18.png" xlink:type="simple"/></inline-formula>is the set of all update expressions can be written.</p></sec><sec id="s2_2"><title>2.2. Syntax</title><p>A dynamic linear hybrid automaton (DLHA) is a tuple<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x19.png" xlink:type="simple"/></inline-formula>, where</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x20.png" xlink:type="simple"/></inline-formula>is a finite set of locations.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x21.png" xlink:type="simple"/></inline-formula>is a finite set of (real-valued) variables.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x22.png" xlink:type="simple"/></inline-formula>is a function that assigns a constraint to each location.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x23.png" xlink:type="simple"/></inline-formula>is a function that assigns a flow condition to each location.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x24.png" xlink:type="simple"/></inline-formula>is a finite set of actions.</p><p>- <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x25.png" xlink:type="simple"/></inline-formula> is a finite set of input actions, and each input action has the form<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x26.png" xlink:type="simple"/></inline-formula>. An input action <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x27.png" xlink:type="simple"/></inline-formula> denotes receiving the message m.</p><p>- <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x28.png" xlink:type="simple"/></inline-formula> is a finite set of output actions, and each output action has the form<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x29.png" xlink:type="simple"/></inline-formula>. An output action <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x30.png" xlink:type="simple"/></inline-formula> denotes sending the message m to each DLHA.</p><p>- <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x31.png" xlink:type="simple"/></inline-formula> is a finite set of internal actions that denote changing a state of a DLHA.</p><p>Moreover, we formalize the following special actions:</p><p>- A creation action that has the form <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula> or <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula> denotes a message for creation of DLHA<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x34.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x35.png" xlink:type="simple"/></inline-formula>is an input action, and it represents that <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x36.png" xlink:type="simple"/></inline-formula> has been created. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x37.png" xlink:type="simple"/></inline-formula>is an output action, and represents a request for creating<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x38.png" xlink:type="simple"/></inline-formula>.</p><p>- A destruction action that has the form <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x39.png" xlink:type="simple"/></inline-formula> or <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x40.png" xlink:type="simple"/></inline-formula> denotes a message for a destruction of DLHA<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x41.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x42.png" xlink:type="simple"/></inline-formula>is an input action that indicates <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x42.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x43.png" xlink:type="simple"/></inline-formula> has been destroyed.</p><p>- An enqueue action that has the form <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x44.png" xlink:type="simple"/></inline-formula> denotes enqueueing of message m into a queue q. This action is an internal one, that is,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x45.png" xlink:type="simple"/></inline-formula>.</p><p>- A dequeue action that has the form <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x46.png" xlink:type="simple"/></inline-formula> denotes dequeueing of message m from the top of q.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x47.png" xlink:type="simple"/></inline-formula>is a finite set of transitions. A constraint <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x48.png" xlink:type="simple"/></inline-formula> is called a guard condition.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x49.png" xlink:type="simple"/></inline-formula>is an initial transition.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x50.png" xlink:type="simple"/></inline-formula>is a finite set of destruction-transitions.</p></sec><sec id="s2_3"><title>2.3. Operational Semantics</title><p>A state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x51.png" xlink:type="simple"/></inline-formula> of a DLHA <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x52.png" xlink:type="simple"/></inline-formula> is defined as</p><disp-formula id="scirp.71093-formula1421"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x53.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x54.png" xlink:type="simple"/></inline-formula> is a location, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x55.png" xlink:type="simple"/></inline-formula>is an assignment called evaluation of variables, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x56.png" xlink:type="simple"/></inline-formula> denotes an undefined value.</p><p>We define the semantics <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x57.png" xlink:type="simple"/></inline-formula> of the DLHA by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x58.png" xlink:type="simple"/></inline-formula>, where</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x59.png" xlink:type="simple"/></inline-formula>is a set of states.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x60.png" xlink:type="simple"/></inline-formula>is a set of time transitions and discrete transitions.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x61.png" xlink:type="simple"/></inline-formula>is the initial state.</p><p>The following rules define time and discrete transitions:</p><p>Definition 4 (Time transition of a DLHA). For any<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x62.png" xlink:type="simple"/></inline-formula>,</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x63.png" xlink:type="simple"/></inline-formula></p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x64.png" xlink:type="simple"/></inline-formula>if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x65.png" xlink:type="simple"/></inline-formula></p><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula> denotes an evaluation such that <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x67.png" xlink:type="simple"/></inline-formula>, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x68.png" xlink:type="simple"/></inline-formula> denotes that <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x69.png" xlink:type="simple"/></inline-formula> satisfies the constraint <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x70.png" xlink:type="simple"/></inline-formula> for any<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x70.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x71.png" xlink:type="simple"/></inline-formula>.</p><p>Definition 5 (Discrete transition of a DLHA). For an evaluation <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x72.png" xlink:type="simple"/></inline-formula> and update expressions<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x73.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x73.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x74.png" xlink:type="simple"/></inline-formula>denotes an evaluation updated by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x73.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x75.png" xlink:type="simple"/></inline-formula>, that is, for any<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x73.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x75.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x76.png" xlink:type="simple"/></inline-formula>,</p><disp-formula id="scirp.71093-formula1422"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x77.png"  xlink:type="simple"/></disp-formula><p>・ For any transition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x78.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x79.png" xlink:type="simple"/></inline-formula>if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x80.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x81.png" xlink:type="simple"/></inline-formula>.</p><p>・ (Creation of a DLHA) For the initial transition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x82.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x82.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x83.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x82.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x83.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x84.png" xlink:type="simple"/></inline-formula> is an evaluation such that<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x82.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x83.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x85.png" xlink:type="simple"/></inline-formula>.</p><p>・ (Destruction of a DLHA) For any destruction-transition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x86.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x87.png" xlink:type="simple"/></inline-formula>if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x88.png" xlink:type="simple"/></inline-formula></p><p>For the initial transition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x89.png" xlink:type="simple"/></inline-formula>, the initial state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x89.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x90.png" xlink:type="simple"/></inline-formula> is defined as</p><disp-formula id="scirp.71093-formula1423"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x91.png"  xlink:type="simple"/></disp-formula></sec></sec><sec id="s3"><title>3. Dynamically Reconfigurable Systems</title><p>To describe an asynchronous communication among DLHAs in a dynamically reconfigurable system (DRS), we use a queue (unbounded FIFO buffer) as a model of the communication channel. We assume that the system performs lossless transmission, so we can let the queue be unbounded.</p><sec id="s3_1"><title>3.1. Syntax of DRS</title><p>A dynamically reconfigurable system (DRS) <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x92.png" xlink:type="simple"/></inline-formula>is defined by a tuple <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x92.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x93.png" xlink:type="simple"/></inline-formula> consisting of a finite set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x92.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x93.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x94.png" xlink:type="simple"/></inline-formula> of DLHAs and a finite set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x92.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x93.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x94.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x95.png" xlink:type="simple"/></inline-formula> of queues.</p></sec><sec id="s3_2"><title>3.2. Semantics of DRS</title><p>A state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x96.png" xlink:type="simple"/></inline-formula> of a DRS <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x96.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x97.png" xlink:type="simple"/></inline-formula> is a tuple<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x96.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x97.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x98.png" xlink:type="simple"/></inline-formula>, where</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x99.png" xlink:type="simple"/></inline-formula>is a vector of the states of DLHAs.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x100.png" xlink:type="simple"/></inline-formula>is a vector of the content of the queues, where each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x100.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x101.png" xlink:type="simple"/></inline-formula> is the set of all messages that can be stored in queue<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x100.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x101.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x102.png" xlink:type="simple"/></inline-formula>.</p><p>Definition 6 (Time Transition of a DRS). For an arbitrary<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x103.png" xlink:type="simple"/></inline-formula>, the time transition is defined as</p><disp-formula id="scirp.71093-formula1424"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x104.png"  xlink:type="simple"/></disp-formula><p>Definition 7 (Discrete Transition of a DRS). Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x106.png" xlink:type="simple"/></inline-formula> be <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x106.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x107.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x106.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x107.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x108.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x106.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x107.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x108.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x109.png" xlink:type="simple"/></inline-formula>, and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x105.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x106.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x107.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x108.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x109.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x110.png" xlink:type="simple"/></inline-formula>.</p><p>・ For any output action<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x111.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x111.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x112.png" xlink:type="simple"/></inline-formula></p><disp-formula id="scirp.71093-formula1425"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x113.png"  xlink:type="simple"/></disp-formula><p>An output action is broadcasted to all DLHAs, and a DLHA receiving the action moves by synchronization if the guard condition holds in the state.</p><p>・ For an internal action<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x114.png" xlink:type="simple"/></inline-formula>,</p><p>- in the case of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x115.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x115.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x116.png" xlink:type="simple"/></inline-formula>,</p><disp-formula id="scirp.71093-formula1426"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x117.png"  xlink:type="simple"/></disp-formula><p>- while in the case of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x118.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x118.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x119.png" xlink:type="simple"/></inline-formula>,</p><disp-formula id="scirp.71093-formula1427"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x120.png"  xlink:type="simple"/></disp-formula><p>- otherwise, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x121.png" xlink:type="simple"/></inline-formula>if<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x121.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x122.png" xlink:type="simple"/></inline-formula>.</p><p>A run (or path) <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x123.png" xlink:type="simple"/></inline-formula>of the system <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x123.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x124.png" xlink:type="simple"/></inline-formula> is the following finite (or infinite) sequence of states.</p><disp-formula id="scirp.71093-formula1428"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x125.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x126.png" xlink:type="simple"/></inline-formula> between <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x126.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x127.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x126.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x127.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x128.png" xlink:type="simple"/></inline-formula> is defined as</p><disp-formula id="scirp.71093-formula1429"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x129.png"  xlink:type="simple"/></disp-formula><p>The initial state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula> of a dynamically reconfigurable system is <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x131.png" xlink:type="simple"/></inline-formula> where each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x131.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x132.png" xlink:type="simple"/></inline-formula> is the initial state of DLHA <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x131.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x132.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x133.png" xlink:type="simple"/></inline-formula> and each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x131.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x132.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x133.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x134.png" xlink:type="simple"/></inline-formula> is empty; that is,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x130.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x131.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x132.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x133.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x134.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x135.png" xlink:type="simple"/></inline-formula>.</p><p>Example 1 (DLHA and DRS). A DLHA is represented by a directed graph, where each node represents a location and each edge represents a transition. <xref ref-type="fig" rid="fig1">Figure 1</xref> shows a dynamically reconfigurable system <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x136.png" xlink:type="simple"/></inline-formula> consisting of three DLHAs and one queue.</p><p><img data-original="http://html.scirp.org/file/3-9302282x137.png" /><img data-original="http://html.scirp.org/file/3-9302282x138.png" /><img data-original="http://html.scirp.org/file/3-9302282x139.png" /><img data-original="http://html.scirp.org/file/3-9302282x140.png" /></p><fig-group id="fig1"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Example of DRS consisting of three DLHAs and one queue.</title></caption><fig id ="fig1_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x141.png"/></fig></fig-group><p>where</p><disp-formula id="scirp.71093-formula1430"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x142.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1431"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x143.png"  xlink:type="simple"/></disp-formula><p>This system runs as follows:</p><p>1) <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x144.png" xlink:type="simple"/></inline-formula>requires <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x144.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x145.png" xlink:type="simple"/></inline-formula> to be created from <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x144.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x145.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x146.png" xlink:type="simple"/></inline-formula> by enqueueing a message, and it waits for the message to return from<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x144.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x145.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x146.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x147.png" xlink:type="simple"/></inline-formula>.</p><p>2) When <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x148.png" xlink:type="simple"/></inline-formula> receives the message, it creates<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x148.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x149.png" xlink:type="simple"/></inline-formula>.</p><p>3) After <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x150.png" xlink:type="simple"/></inline-formula> finishes processing the job, it sends the message to <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x150.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x151.png" xlink:type="simple"/></inline-formula> and is destroyed.</p><p>4) This system infinitely repeats steps 1) to 3).</p><p>For example, (1) shows a run <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x152.png" xlink:type="simple"/></inline-formula> of this system is shown.</p><disp-formula id="scirp.71093-formula1432"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302282x153.png"  xlink:type="simple"/></disp-formula></sec></sec><sec id="s4"><title>4. Reachability Analysis</title><sec id="s4_1"><title>4.1. Reachability Problem</title><p>We define reachability and the reachability problem for a DRS as follows:</p><p>Definition 8 (Reachability). For a DRS <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x154.png" xlink:type="simple"/></inline-formula> and a location<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x154.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x155.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x154.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x155.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x156.png" xlink:type="simple"/></inline-formula>reaches <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x154.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x155.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x156.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x157.png" xlink:type="simple"/></inline-formula> if there exists a path such that</p><disp-formula id="scirp.71093-formula1433"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x158.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1434"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x159.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1435"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x160.png"  xlink:type="simple"/></disp-formula><p>Definition 9 (Reachability Problem). Given a DRS <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x161.png" xlink:type="simple"/></inline-formula> and a location<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x161.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x162.png" xlink:type="simple"/></inline-formula>, we output “yes” if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x161.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x162.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x163.png" xlink:type="simple"/></inline-formula> can reach<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x161.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x162.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x163.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x164.png" xlink:type="simple"/></inline-formula>, and “no” otherwise.</p></sec><sec id="s4_2"><title>4.2. Reachability Analysis</title><sec id="s4_2_1"><title>4.2.1. Convex Polyhedra</title><p>Our method introduces convex polyhedra for the reachability analysis in accordance with [<xref ref-type="bibr" rid="scirp.71093-ref15">15</xref>] .</p><p>A polyhedron is convex if it can be defined by a formula which is a conjunction of linear formulae. For a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x165.png" xlink:type="simple"/></inline-formula> of variables, a convex polyhedron <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x165.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x166.png" xlink:type="simple"/></inline-formula> on V is a n-dimensional real space. In particular, we define true and false as <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x165.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x166.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x167.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x165.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x166.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x167.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x168.png" xlink:type="simple"/></inline-formula>.</p><p>Example 2 (Convex Polyhedron). The formula <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x169.png" xlink:type="simple"/></inline-formula> is a convex polyhedron. From linear formula, the existential quantifier can be eliminated effectively. Therefore, we obtain</p><disp-formula id="scirp.71093-formula1436"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x170.png"  xlink:type="simple"/></disp-formula></sec><sec id="s4_2_2"><title>4.2.2. Algorithm of Reachability Analysis</title><p>We define a state s in the reachability analysis as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x171.png" xlink:type="simple"/></inline-formula>, where</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x172.png" xlink:type="simple"/></inline-formula>is a finite set of locations.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x173.png" xlink:type="simple"/></inline-formula>is a convex polyhedron.</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x174.png" xlink:type="simple"/></inline-formula>is a vector of the content of the queues.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref>, <xref ref-type="fig" rid="fig3">Figure 3</xref> and <xref ref-type="fig" rid="fig4">Figure 4</xref> show the algorithm of the reachability analysis.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> is an overview of the reachability analysis, and this algorithm is performed using the expanded method of [<xref ref-type="bibr" rid="scirp.71093-ref16">16</xref>] with a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x175.png" xlink:type="simple"/></inline-formula> of queues. The analysis is performed as follows:</p><p>1. Compute an initial state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x176.png" xlink:type="simple"/></inline-formula> of the system <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x176.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x177.png" xlink:type="simple"/></inline-formula> (ll.1-3).</p><p>2. Initialize a traversed set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x178.png" xlink:type="simple"/></inline-formula> and a untraversed set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x178.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x179.png" xlink:type="simple"/></inline-formula> of states by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x178.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x179.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x180.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x178.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x179.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x180.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x181.png" xlink:type="simple"/></inline-formula> (line 4).</p><p>3. While <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x182.png" xlink:type="simple"/></inline-formula> is not empty, repeat the following process (ll.5-16).</p><p>(a) Take a state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x183.png" xlink:type="simple"/></inline-formula> from <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x183.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x184.png" xlink:type="simple"/></inline-formula> and remove the state from <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x183.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x184.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x185.png" xlink:type="simple"/></inline-formula> (ll.6-7).</p><fig-group id="fig2"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Reachability analysis.</title></caption><fig id ="fig2_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x186.png"/></fig></fig-group><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Subroutine Succ</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x187.png"/></fig><p>(b) If the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x188.png" xlink:type="simple"/></inline-formula> of locations contains the target location, return “yes” and terminate (ll.8-10).</p><p>(c) If the state has not been traversed yet (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x189.png" xlink:type="simple"/></inline-formula>) (line 11),</p><p>i. add the state into <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x190.png" xlink:type="simple"/></inline-formula> (line 12),</p><p>ii. compute the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x191.png" xlink:type="simple"/></inline-formula> of successors by using the subroutine <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x191.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x192.png" xlink:type="simple"/></inline-formula> (line 13), and</p><p>iii. add all components of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x193.png" xlink:type="simple"/></inline-formula> to <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x193.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x194.png" xlink:type="simple"/></inline-formula> (line 14).</p><p>Subroutine Succ <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the subroutine <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x195.png" xlink:type="simple"/></inline-formula> to compute the successors of a state. In this algorithm, we make the following assumptions.</p><disp-formula id="scirp.71093-formula1437"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x196.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1438"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x197.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1439"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x198.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1440"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x199.png"  xlink:type="simple"/></disp-formula><fig-group id="fig4"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Subroutine Syncs.</title></caption><fig id ="fig4_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x200.png"/></fig></fig-group><p>Let the initial state of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x201.png" xlink:type="simple"/></inline-formula> be<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x201.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x202.png" xlink:type="simple"/></inline-formula>; <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x201.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x202.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x203.png" xlink:type="simple"/></inline-formula>is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x201.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x202.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x203.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x204.png" xlink:type="simple"/></inline-formula>, where</p><disp-formula id="scirp.71093-formula1441"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x205.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1442"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x206.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1443"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x207.png"  xlink:type="simple"/></disp-formula><p>Here, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x208.png" xlink:type="simple"/></inline-formula>is a function that assigns a convex polyhedron to each state.</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x209.png" xlink:type="simple"/></inline-formula>is a function that returns a convex polyhedron after performing a time transition on a given set L of locations and a convex polyhedron <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x209.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x210.png" xlink:type="simple"/></inline-formula> (line 4). We define this function in accordance with [<xref ref-type="bibr" rid="scirp.71093-ref15">15</xref>] as follows:</p><p>Let the set of all variables in the system and their derivatives be <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x211.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x211.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x212.png" xlink:type="simple"/></inline-formula>.</p><disp-formula id="scirp.71093-formula1444"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x213.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1445"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x214.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1446"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x215.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1447"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x216.png"  xlink:type="simple"/></disp-formula><p>For a convex polyhedron <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula> and a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula> of update expressions, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula>denotes the convex polyhedron updated by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x220.png" xlink:type="simple"/></inline-formula> for<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x220.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x221.png" xlink:type="simple"/></inline-formula>. Let the set of reset variables and set of shifted variables be <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x220.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x221.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x222.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x220.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x221.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x222.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x223.png" xlink:type="simple"/></inline-formula>. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x217.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x218.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x219.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x220.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x221.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x222.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x223.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x224.png" xlink:type="simple"/></inline-formula>can be computed as</p><disp-formula id="scirp.71093-formula1448"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x225.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1449"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x226.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1450"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x227.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1451"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x228.png"  xlink:type="simple"/></disp-formula><p>Given a state <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x229.png" xlink:type="simple"/></inline-formula> and a system, the successors are computed using the procedure described below.</p><p>1. For each transition <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x230.png" xlink:type="simple"/></inline-formula> (or destruction-transition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x230.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x231.png" xlink:type="simple"/></inline-formula>) outgoing from a location<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x230.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x231.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x232.png" xlink:type="simple"/></inline-formula>, the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x230.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x231.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x232.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x233.png" xlink:type="simple"/></inline-formula> of post states is computed as follows (ll.5-31):</p><p>(a) Compute the convex polyhedron for the time transition (line 4).</p><disp-formula id="scirp.71093-formula1452"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x234.png"  xlink:type="simple"/></disp-formula><p>(b) If a is an internal action, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x235.png" xlink:type="simple"/></inline-formula>is computed as follows:</p><p>i. Compute the set of locations (line 8)</p><disp-formula id="scirp.71093-formula1453"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x236.png"  xlink:type="simple"/></disp-formula><p>ii. Compute the convex polyhedron for the discrete transition (line 9)</p><disp-formula id="scirp.71093-formula1454"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x237.png"  xlink:type="simple"/></disp-formula><p>iii. If a is an enqueue action <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x238.png" xlink:type="simple"/></inline-formula> (ll.11-15),</p><disp-formula id="scirp.71093-formula1455"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x239.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1456"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x240.png"  xlink:type="simple"/></disp-formula><p>iv. If a is a dequeue action <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x241.png" xlink:type="simple"/></inline-formula> (ll.16-20),</p><disp-formula id="scirp.71093-formula1457"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x242.png"  xlink:type="simple"/></disp-formula><p>v. If a is another internal action (line 22),</p><disp-formula id="scirp.71093-formula1458"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x243.png"  xlink:type="simple"/></disp-formula><p>(c) If a is an output action<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x244.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x244.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x245.png" xlink:type="simple"/></inline-formula>is computed with the subroutine Syncs (line 26 and 29).</p><p>(d) If a is an input action,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x246.png" xlink:type="simple"/></inline-formula>.</p><p>Subroutine Syncs <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the subroutine Syncs of Succ to compute successors by using the transition that has an output action. Given a state<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x247.png" xlink:type="simple"/></inline-formula>, a transition (or destruction-transition)<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x247.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x248.png" xlink:type="simple"/></inline-formula>, and a system<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x247.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x248.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x249.png" xlink:type="simple"/></inline-formula>, a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x247.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x248.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x249.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x250.png" xlink:type="simple"/></inline-formula> of successors is computed as follows:</p><p>1. Initialize <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x251.png" xlink:type="simple"/></inline-formula> as <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x251.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x252.png" xlink:type="simple"/></inline-formula> (line 1).</p><p>2. Compute a convex polyhedron <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x253.png" xlink:type="simple"/></inline-formula> for the time transition (line 2).</p><disp-formula id="scirp.71093-formula1459"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x254.png"  xlink:type="simple"/></disp-formula><p>3. For each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x255.png" xlink:type="simple"/></inline-formula> in the system<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x255.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x256.png" xlink:type="simple"/></inline-formula>, compute the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x255.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x256.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x257.png" xlink:type="simple"/></inline-formula> of transitions that are outgoing from the state by using an input action <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x255.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x256.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x257.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x258.png" xlink:type="simple"/></inline-formula> (ll.3-5),</p><disp-formula id="scirp.71093-formula1460"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x259.png"  xlink:type="simple"/></disp-formula><p>4. Compute the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x260.png" xlink:type="simple"/></inline-formula> of combinations of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x260.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x261.png" xlink:type="simple"/></inline-formula> (line 6).</p><disp-formula id="scirp.71093-formula1461"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x262.png"  xlink:type="simple"/></disp-formula><p>5. For each combination<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x263.png" xlink:type="simple"/></inline-formula>, the successor <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x263.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x264.png" xlink:type="simple"/></inline-formula> is computed as follows (ll.7-29):</p><p>(a) Compute the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x265.png" xlink:type="simple"/></inline-formula> of transitions (line 9).</p><disp-formula id="scirp.71093-formula1462"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x266.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1463"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x267.png"  xlink:type="simple"/></disp-formula><p>(b) Compute the set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x268.png" xlink:type="simple"/></inline-formula> of locations (ll.9-14, line 21).</p><disp-formula id="scirp.71093-formula1464"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x269.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1465"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x270.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1466"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x271.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1467"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x272.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71093-formula1468"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x273.png"  xlink:type="simple"/></disp-formula><p>(c) Compute the update expression <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x274.png" xlink:type="simple"/></inline-formula> (ll.9-14).</p><disp-formula id="scirp.71093-formula1469"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x275.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1470"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x276.png"  xlink:type="simple"/></disp-formula><p>(d) Compute the conjunction of guard conditions (ll.9-14).</p><disp-formula id="scirp.71093-formula1471"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x277.png"  xlink:type="simple"/></disp-formula><p>(e) Compute the convex polyhedron <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x278.png" xlink:type="simple"/></inline-formula> (ll.22-24).</p><disp-formula id="scirp.71093-formula1472"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x279.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.71093-formula1473"><graphic  xlink:href="http://html.scirp.org/file/3-9302282x280.png"  xlink:type="simple"/></disp-formula><p>(f) If<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x281.png" xlink:type="simple"/></inline-formula>, the successor is added to <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x281.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x282.png" xlink:type="simple"/></inline-formula> (ll.26-27).</p><p>The correctness of this algorithm is implied by Lemma 1 and Lemma 2.</p><p>Lemma 1. If the algorithm terminates and returns “<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x283.png" xlink:type="simple"/></inline-formula>is not reachable”, the system <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x283.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x284.png" xlink:type="simple"/></inline-formula> has the safety property.</p><p>Lemma 2. If this algorithm terminates and returns “<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x285.png" xlink:type="simple"/></inline-formula>is reachable”, the system <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x285.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x286.png" xlink:type="simple"/></inline-formula> does not hold the safety property.</p><p>By definition, all linear hybrid automata are DLHAs. Our system dynamically changes its structure by sending and receiving messages. However, the messages statically determine the structure, and the system is a linear hybrid automaton with a set of queues. It is basically equivalent to the reachability analysis of a linear hybrid automaton. Therefore, the reachability problem of DRSs is undecidable, and this algorithm might not terminate [<xref ref-type="bibr" rid="scirp.71093-ref16">16</xref>] .</p><p>Moreover, in some cases, a system will run into an abnormal state in which the length of a queue becomes infinitely long, and the verification procedure does not terminate.</p></sec></sec></sec><sec id="s5"><title>5. Practical Experiment</title><sec id="s5_1"><title>5.1. Model Checker</title><p>We implemented a model checker of DRSs consisting of DLHAs in Java (about 1600 lines of code) by using the LAS, PPL, and QDD external libraries [<xref ref-type="bibr" rid="scirp.71093-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.71093-ref17">17</xref>] - [<xref ref-type="bibr" rid="scirp.71093-ref19">19</xref>] . For the verification, we input the DLHAs of the system, a monitor automaton, and the error location to the model checker, and it output “yes (reachable)” or “no (unreachable)” (<xref ref-type="fig" rid="fig5">Figure 5</xref>). The monitor automaton had a special location (we call it the error location), and checked the system without changing the system’s behavior [<xref ref-type="bibr" rid="scirp.71093-ref15">15</xref>] . The monitor automata had to be specified to reach the error location if the system didn’t satisfy the properties.</p><p>For the specification of the input model, we extended the syntax and semantics of DLHA as follows:</p><p>・ A transition between locations can have a label asap (that means “as soon as possible”). For a transition labeled asap, a time transition does not occur just before the discrete transition.</p><p>・ Each DLHA can have constraints and update expressions for the variables of another DLHA in the same system. That is, for each DLHA, invariants, guard conditions, update expressions and flow conditions can be used by all DLHAs.</p><p>For example, <xref ref-type="fig" rid="fig6">Figure 6</xref> shows the input file for checking whether the system in <xref ref-type="fig" rid="fig1">Figure 1</xref> reaches the location Execute.</p><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Model checker for DRSs</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x287.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Example input file: description for checking the reachability of the system in <xref ref-type="fig" rid="fig1">Figure 1</xref></title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x288.png"/></fig></sec><sec id="s5_2"><title>5.2. Specification of Dynamically Reconfigurable Embedded System</title><sec id="s5_2_1"><title>5.2.1. A Cooperative System Including CPU and DRP</title><p>We have specified a dynamically reconfigurable embedded system consisting of a CPU and DRP for the model described in our previous research [<xref ref-type="bibr" rid="scirp.71093-ref9">9</xref>] . A DRP is a processor that can execute exclusive processes at the same time by dynamically changing the circuit configuration, and it is used to accelerate CPU computations, for example, in image processing and cipher processing. A DRP has computation resources called tiles (or processing elements), and it dynamically sets the context of a process if there are enough free tiles. In addition, a DRP can change the operating frequency in accordance with running processes. In this paper, we assume that the number of tiles and the operating frequency for each process have been set in advance and that the operating frequency of the DRP is always the minimum frequency of the running co-tasks.</p><p><xref ref-type="fig" rid="fig7">Figure 7</xref> shows an overview of the system. This system processes jobs submitted from the external environment through the cooperative operation of the CPU and DRP. The CPU Dispatcher creates a task when it receives a call message of the task from the external environment. When a task on the CPU uses the DRP, The CPU Dispatcher sends a message to the DRP Dispatcher. The DRP Dispatcher receives the message asynchronously and creates a co-task (it means “cooperative task”) in a first-come, first-served manner if there are enough free tiles. Here, we will assume that this system has two tasks and two co-tasks that have the parameters shown in <xref ref-type="table" rid="table1">Table 1</xref> &amp; <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>The system, whose components are illustrated in <xref ref-type="fig" rid="fig8">Figure 8</xref>, consists of 11 DLHAs and 1 queue. We show part of the state-transition diagram in <xref ref-type="fig" rid="fig9">Figure 9</xref>. The external environment consists of EnvA (<xref ref-type="fig" rid="fig1">Figure 1</xref>0) and EnvB (<xref ref-type="fig" rid="fig1">Figure 1</xref>1) that periodically create</p><fig id="fig7"  position="float"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Overview of the CPU-DRP embedded system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x289.png"/></fig><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Parameters of tasks</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Task</th><th align="center" valign="middle" >Period</th><th align="center" valign="middle" >Deadline</th><th align="center" valign="middle" >Priority</th><th align="center" valign="middle" >Process</th></tr></thead><tr><td align="center" valign="middle" >A</td><td align="center" valign="middle" >70 ms</td><td align="center" valign="middle" >70 ms</td><td align="center" valign="middle" >high</td><td align="center" valign="middle" >20 ms, co-task a0,</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >10 ms, co-task b0</td></tr><tr><td align="center" valign="middle" >B</td><td align="center" valign="middle" >200 ms</td><td align="center" valign="middle" >200 ms</td><td align="center" valign="middle" >low</td><td align="center" valign="middle" >co-task a1, 97 ms</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Parameters of co-tasks</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >co-task</th><th align="center" valign="middle" >Processing time</th><th align="center" valign="middle" >Deadline</th><th align="center" valign="middle" >Tiles</th><th align="center" valign="middle" >Rate of Frequency</th></tr></thead><tr><td align="center" valign="middle" >a0, a1</td><td align="center" valign="middle" >10 ms</td><td align="center" valign="middle" >15 ms</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >b0</td><td align="center" valign="middle" >5 ms</td><td align="center" valign="middle" >10 ms</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >1/2</td></tr></tbody></table></table-wrap><fig id="fig8"  position="float"><label><xref ref-type="fig" rid="fig8">Figure 8</xref></label><caption><title> Components of the system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x290.png"/></fig><fig id="fig9"  position="float"><label><xref ref-type="fig" rid="fig9">Figure 9</xref></label><caption><title> State-transition diagram of the system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x291.png"/></fig><fig id="fig10"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>0</label><caption><title> External environment: EnvA</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x292.png"/></fig><fig id="fig11"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>1</label><caption><title> External environment: EnvB</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x293.png"/></fig><fig id="fig12"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>2</label><caption><title> Task: TaskA</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x294.png"/></fig><p>TaskA (<xref ref-type="fig" rid="fig1">Figure 1</xref>2) and TaskB (<xref ref-type="fig" rid="fig1">Figure 1</xref>3). That is, EnvA uses Crt_taskA! to create TaskA every 70 milliseconds, and EnvB uses Crt_taskB! to create TaskB with every 200 milliseconds. The Scheduler (<xref ref-type="fig" rid="fig1">Figure 1</xref>4) performs scheduling in accordance with the priority and actions for creation and destruction of DLHAs. For example, when TaskA is created by EnvA with Crt_taskA! and TaskB is already running, The Scheduler receives Crt_taskA? from EnvA and sends Act_Preempt! to TaskA and TaskB. Then, Act_Preempt! causes TaskA to move to RunA and TaskB to move to WaitB.</p><p>TaskA and TaskB send a message to The Sender if they need a co-task. The Sender (<xref ref-type="fig" rid="fig1">Figure 1</xref>5) enqueues the message to create a co-task to q when it receives a message from tasks. When TaskA sends Act_Create_a0! and moves to RunA from WaitA, The Sender receives Act_Create_a0? and enqueues cotask_a0 in q with q! cotask_a0.</p><p>The DRP_Dispatcher (<xref ref-type="fig" rid="fig1">Figure 1</xref>6) dequeues a message and creates cotask_a0 (<xref ref-type="fig" rid="fig1">Figure 1</xref>7), cotask_a1 (<xref ref-type="fig" rid="fig1">Figure 1</xref>8), and cotask_b0 (<xref ref-type="fig" rid="fig1">Figure 1</xref>9) if there are enough free tiles. The Frequency_Manager (<xref ref-type="fig" rid="fig2">Figure 2</xref>0) is a module that manages the operating frequency of the DRP. When a DLHA of a co-task is created, The Frequency_Manager moves to the location that sets the frequency to the minimum value.</p></sec><sec id="s5_2_2"><title>5.2.2. Other Cases</title><p>We have the parameters of the model in subsection 5.2.1 and conducted experiments with it.</p><p>・ Modified Tasks: We modified the parameters of the tasks on the CPU as shown in <xref ref-type="table" rid="table3">Table 3</xref>. Here, the parameters of the co-tasks are the same as those in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>・ Modified co-tasks: We modified the parameters of the co-tasks on the DRP, as shown in <xref ref-type="table" rid="table4">Table 4</xref>. The parameters of the tasks are the same as those in <xref ref-type="table" rid="table1">Table 1</xref>.</p><fig id="fig13"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>3</label><caption><title> Task: TaskB</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x295.png"/></fig><fig id="fig14"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>4</label><caption><title> CPU Scheduler: Scheduler</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x296.png"/></fig><fig id="fig15"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>5</label><caption><title> Message sender to DRP: Sender</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x297.png"/></fig><fig id="fig16"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>6</label><caption><title> DRP_Dispatcher</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x298.png"/></fig><fig id="fig17"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>7</label><caption><title> Co-task: cotask_a0</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x299.png"/></fig><fig id="fig18"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>8</label><caption><title> Co-task: cotask_a1</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x300.png"/></fig><fig id="fig19"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>9</label><caption><title> Co-task: cotask_b0</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x301.png"/></fig><fig id="fig20"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>0</label><caption><title> Frequency_Manager</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x302.png"/></fig><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Modified parameters of tasks</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Task</th><th align="center" valign="middle" >Period</th><th align="center" valign="middle" >Deadline</th><th align="center" valign="middle" >Priority</th><th align="center" valign="middle" >Process</th></tr></thead><tr><td align="center" valign="middle" >A</td><td align="center" valign="middle" >90 ms</td><td align="center" valign="middle" >80 ms</td><td align="center" valign="middle" >high</td><td align="center" valign="middle" >20 ms, co-task b0,</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >20 ms, co-task a0</td></tr><tr><td align="center" valign="middle" >B</td><td align="center" valign="middle" >200 ms</td><td align="center" valign="middle" >150 ms</td><td align="center" valign="middle" >low</td><td align="center" valign="middle" >co-task a1, 70 ms</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Modified parameters of co-tasks</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >co-task</th><th align="center" valign="middle" >Processing time</th><th align="center" valign="middle" >Deadline</th><th align="center" valign="middle" >Tiles</th><th align="center" valign="middle" >Rate of Frequency</th></tr></thead><tr><td align="center" valign="middle" >a0, a1</td><td align="center" valign="middle" >5 ms</td><td align="center" valign="middle" >10 ms</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >b0</td><td align="center" valign="middle" >10 ms</td><td align="center" valign="middle" >20 ms</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >1/3</td></tr></tbody></table></table-wrap></sec></sec><sec id="s5_3"><title>5.3. Verification Experiment</title><p>We verified that the embedded systems described in subsection 5.2 provide the following properties by using monitor automata (Figures 21-25). The verification experiment was performed on a machine with an Intel (R) Core (TM) i7-3770 (3.40 GHz) CPU and 16 GB RAM running Gentoo Linux (3.10.25-gentoo).</p><p>The experimental results shown in <xref ref-type="table" rid="table5">Table 5</xref> indicate that the modified tasks cases and the modified co-tasks cases were verified with less computation resources (memory and time) than were used by the original model. This reduction is likely due to the following reasons:</p><p>・ Regarding the schedulability of the modified tasks model, the processing time is shorter than that of the original model since the verification terminates if a counterexample is found.</p><p>・ In the cases of the modified co-tasks, the most obvious explanation is that the state- space is smaller than that of the original model since the number of branches in the search tree (i.e. nondeterministic transitions in this system) is reduced by changing the start timings of the tasks and co-tasks with the parameters.</p><p>・ In cases other than those of the modified tasks, it is considered that the state-space is smaller than that of the original model because this system is designed to stop processing when a task exceeds its deadline.</p><sec id="s5_3_1"><title>5.3.1. Schedulability</title><p>Here, schedulability is a property in which each task of the system finishes before its deadline. Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula> be the total processing time and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula> be the deadline in task A (<xref ref-type="fig" rid="fig1">Figure 1</xref>3); the remaining processing time is represented as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula>, and the remaining time till the deadline is represented as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula>. Therefore, the monitor automaton moves the error location if the task A is created and it satisfies the condition <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x307.png" xlink:type="simple"/></inline-formula> (<xref ref-type="fig" rid="fig2">Figure 2</xref>1). In the case of <xref ref-type="table" rid="table1">Table 1</xref>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x307.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x308.png" xlink:type="simple"/></inline-formula>since <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x307.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x308.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x309.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x307.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x308.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x309.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x310.png" xlink:type="simple"/></inline-formula>. Similarly, the condition for task B is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x303.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x304.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x305.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x306.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x307.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x308.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x309.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x310.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x311.png" xlink:type="simple"/></inline-formula>.</p></sec><sec id="s5_3_2"><title>5.3.2. Creation of Co-Tasks</title><p>In the embedded system, each co-task must be created before the remaining time in the task calling it reaches its deadline. When the message <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x312.png" xlink:type="simple"/></inline-formula> is received from task A, the monitor automaton starts counting time for co-task a0. If the waiting time exceeds the deadline of task A before it receives the message<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x312.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x313.png" xlink:type="simple"/></inline-formula>, the monitor moves to error location. <xref ref-type="fig" rid="fig2">Figure 2</xref>2 shows The monitor automaton for the case of <xref ref-type="table" rid="table1">Table 1</xref> for co-task a0. Monitor automata for co-tasks a1 and b0 can be similarly described.</p><fig id="fig21"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>1</label><caption><title> Monitor automaton for checking schedulability</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x314.png"/></fig><fig id="fig22"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>2</label><caption><title> Monitor automaton for checking creation of co-task a0</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x315.png"/></fig><fig id="fig23"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>3</label><caption><title> Monitor automaton for checking destruction of co-task a0</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x316.png"/></fig><fig id="fig24"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>4</label><caption><title> Monitor automaton for checking frequency management</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x317.png"/></fig><fig id="fig25"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref>5</label><caption><title> Monitor automaton for checking tile management</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302282x318.png"/></fig></sec><sec id="s5_3_3"><title>5.3.3. Destruction of Co-Tasks</title><p>Each co-task must be destroyed before the waiting time reaches its deadline. For the co-task a0, when the message <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x319.png" xlink:type="simple"/></inline-formula> is received from the dispatcher DRP_ Dispatcher, the monitor automaton checks the message<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x319.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x320.png" xlink:type="simple"/></inline-formula>. <xref ref-type="fig" rid="fig2">Figure 2</xref>3 shows the monitor automaton for the case of <xref ref-type="table" rid="table2">Table 2</xref>.</p></sec><sec id="s5_3_4"><title>5.3.4. Frequency Management</title><p>Creating or destroying a co-task, the DRP changes the operating frequency corresponding to the co-tasks being processed. Since this system requires that the frequency is always at the minimum value, the monitor checks whether the frequency manager (Frequency_Manager) moves to the correct location when it receives a message for creating a co-task. For example, when co-task a0 and co-task b0 are running on the DRP, Frequency_Manager must be at location<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302282x321.png" xlink:type="simple"/></inline-formula>. <xref ref-type="fig" rid="fig2">Figure 2</xref>4 show the monitor automaton for the case of <xref ref-type="table" rid="table2">Table 2</xref>.</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Experimental results</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Model</th><th align="center" valign="middle" >Property</th><th align="center" valign="middle" >Satisfiability</th><th align="center" valign="middle" >Memory [MB]</th><th align="center" valign="middle" >Time [sec]</th><th align="center" valign="middle" >The number of states</th></tr></thead><tr><td align="center" valign="middle" >Original:</td><td align="center" valign="middle" >Schedulability</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >168</td><td align="center" valign="middle" >180</td><td align="center" valign="middle" >1220</td></tr><tr><td align="center" valign="middle"  rowspan="4"  ></td><td align="center" valign="middle" >Creation of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >92</td><td align="center" valign="middle" >315</td><td align="center" valign="middle" >1220</td></tr><tr><td align="center" valign="middle" >Destruction of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >154</td><td align="center" valign="middle" >233</td><td align="center" valign="middle" >1220</td></tr><tr><td align="center" valign="middle" >Frequency Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >173</td><td align="center" valign="middle" >265</td><td align="center" valign="middle" >1220</td></tr><tr><td align="center" valign="middle" >Tile Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >167</td><td align="center" valign="middle" >234</td><td align="center" valign="middle" >1220</td></tr><tr><td align="center" valign="middle" >Modified tasks:</td><td align="center" valign="middle" >Schedulability</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >105</td><td align="center" valign="middle" >10.2</td><td align="center" valign="middle" >91</td></tr><tr><td align="center" valign="middle"  rowspan="4"  ></td><td align="center" valign="middle" >Creation of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >117</td><td align="center" valign="middle" >145</td><td align="center" valign="middle" >771</td></tr><tr><td align="center" valign="middle" >Destruction of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >82</td><td align="center" valign="middle" >151</td><td align="center" valign="middle" >771</td></tr><tr><td align="center" valign="middle" >Frequency Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >197</td><td align="center" valign="middle" >115</td><td align="center" valign="middle" >771</td></tr><tr><td align="center" valign="middle" >Tile Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >135</td><td align="center" valign="middle" >107</td><td align="center" valign="middle" >771</td></tr><tr><td align="center" valign="middle" >Modified co-tasks:</td><td align="center" valign="middle" >Schedulability</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >83</td><td align="center" valign="middle" >141</td><td align="center" valign="middle" >768</td></tr><tr><td align="center" valign="middle"  rowspan="4"  ></td><td align="center" valign="middle" >Creation of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >85</td><td align="center" valign="middle" >183</td><td align="center" valign="middle" >768</td></tr><tr><td align="center" valign="middle" >Destruction of co-tasks</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >86</td><td align="center" valign="middle" >191</td><td align="center" valign="middle" >768</td></tr><tr><td align="center" valign="middle" >Frequency Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >104</td><td align="center" valign="middle" >141</td><td align="center" valign="middle" >768</td></tr><tr><td align="center" valign="middle" >Tile Management</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >119</td><td align="center" valign="middle" >134</td><td align="center" valign="middle" >768</td></tr></tbody></table></table-wrap></sec><sec id="s5_3_5"><title>5.3.5. Tile Management</title><p>When the DRP receives a message for creating of a co-task and the number of free tiles is enough to process it, the dispatcher creates the co-task. The dispatcher then updates the number of used tiles. The monitor automaton checks whether the number tiles in DRP_Dispatcher is always between 0 and the maximum number, 8 in this case (<xref ref-type="fig" rid="fig2">Figure 2</xref>5).</p></sec></sec></sec><sec id="s6"><title>6. Conclusion and Future Work</title><p>We proposed a dynamic linear hybrid automaton (DLHA) as a specification language for dynamically reconfigurable systems. We also devised an algorithm for reachability analysis and developed a model checker for verifying the system. Our future research will focus on a more effective method of verification, for example, model checking with CEGAR (Counterexample-guided abstraction refinement) and bounded model checking based on SMT (Satisfiability modulo theories) [<xref ref-type="bibr" rid="scirp.71093-ref20">20</xref>] [<xref ref-type="bibr" rid="scirp.71093-ref21">21</xref>] .</p></sec><sec id="s7"><title>Cite this paper</title><p>Yanase, R., Sakai, T., Sakai, M. and Yamane, S. (2016) Specification and Verification of Dynamically Reconfigurable Systems Using Dynamic Linear Hybrid Automata. Journal of Software Engineering and Applications, 9, 452- 478. http://dx.doi.org/10.4236/jsea.2016.99030</p></sec></body><back><ref-list><title>References</title><ref id="scirp.71093-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Agirre, A., Parra, J., Armentia, A., Estévez, E. and Marcos, M. (2016) QoS Aware Middleware Support for Dynamically Reconfigurable Component Based IoT Applications. International Journal of Distributed Sensor Networks, 2016, Article ID: 2702789.  
http://dx.doi.org/10.1155/2016/2702789</mixed-citation></ref><ref id="scirp.71093-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Garcia, P., Compton, K., Schulte, M., Blem, E. and Fu, W. (2006) An Overview of Reconfigurable Hardware in Embedded Systems. EURASIP Journal on Embedded Systems, 2006 Article ID: 056320. http://dx.doi.org/10.1186/1687-3963-2006-056320</mixed-citation></ref><ref id="scirp.71093-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Lockwood, J.W., Moscola, J., Kulig, M., Reddick, D. and Brooks, T. (2003) Internet Worm and Virus Protection in Dynamically Reconfigurable Hardware. International Conferences on Military and Aerospace Programmable Logic Device (MAPLD), Washington DC, 9-11 September 2003, E10.</mixed-citation></ref><ref id="scirp.71093-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Motomura, M., Fujii, T., Furuta, K., Anjo, K., Yabe, Y., Togawa, K., Yamada, J., Izawa, Y. and Sasaki, R. (2005) New Generation Microprocessor Architecture (2) Dynamically Reconfigurable Processor (DRP). IPSJ Magazine, 46, 1259-1265.</mixed-citation></ref><ref id="scirp.71093-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Amano, H., Adachi, Y., Tsutsumi, S., Ishikawa, K., et al. (2006) A Context Dependent Clock Control Mechanism for Dynamically Reconfigurable Processors. International Conference on Field Programmable Logic and Applications, 104, 575-580.  
http://dx.doi.org/10.1109/fpl.2006.311269</mixed-citation></ref><ref id="scirp.71093-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Vatankhahghadim, A., Song, W. and Sheikholeslami, A. (2015) A Variation-Tolerant MRAM-Backed-SRAM Cell for a Nonvolatile Dynamically Reconfigurable FPGA. IEEE Transactions on Circuits and Systems II: Express Briefs, 62, 573-577.  
http://dx.doi.org/10.1109/TCSII.2015.2407711</mixed-citation></ref><ref id="scirp.71093-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Alur, R., Courcoubetis, C., Henzinger, T.A. and Ho, P. (1993) Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems. Lecture Notes in Computer Science, 736, 209-229. http://dx.doi.org/10.1007/3-540-57318-6_30</mixed-citation></ref><ref id="scirp.71093-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Varshavsky, V. and Marakhovsky, V. (2002) GALA (Globally Asynchronous-Locally Arbitrary) Design. Lecture Notes in Computer Science, 2549, 61-107.  
http://dx.doi.org/10.1007/3-540-36190-1_3</mixed-citation></ref><ref id="scirp.71093-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Minami, S., Takinai, S., Sekoguchi, S., Nakai, Y. and Yamane, S. (2011) Modeling, Specification and Model Checking of Dynamically Reconfigurable Processors. Computer Software, 28, 190-216.</mixed-citation></ref><ref id="scirp.71093-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Attie, P.C. and Lynch, N.A. (2001) Dynamic Input/Output Automata, a Formal Model for Dynamic Systems. Proceedings of the 20th Annual ACM Symposium on Principles of Distributed Computing (PODC), 2154, 314-316. http://dx.doi.org/10.1145/383962.384051</mixed-citation></ref><ref id="scirp.71093-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Yamada, H., Nakai, Y. and Yamane, S. (2013) Proposal of Specification Language and Verification Experiment for Dynamically Reconfigurable System. Information Processing Society of Japan, 6, 1-19.</mixed-citation></ref><ref id="scirp.71093-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Boigelot, B. and Godefroid, P. (1999) Symbolic Verification of Communication Protocols with Infinite State Spaces Using QDDs. Formal Methods in System Design, 14, 237-255.  
http://dx.doi.org/10.1023/A:1008719024240</mixed-citation></ref><ref id="scirp.71093-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Bouajjani, A., Esparza, J. and Maler, O. (1997) Reachability Analysis of Pushdown Automata: Application to Model Checking. Lecture Notes in Computer Science, 1243, 135-150.  
http://dx.doi.org/10.1007/3-540-63141-0_10</mixed-citation></ref><ref id="scirp.71093-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Bouajjani, A. and Habermehl, P. (1997) Symbolic Reachability Analysis of FIFO-Channel Systems with Nonregular Sets of Configurations. Lecture Notes in Computer Science, 1256, 560-570. http://dx.doi.org/10.1007/3-540-63165-8_211</mixed-citation></ref><ref id="scirp.71093-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Henzinger, T.A., Ho, P. and Wong-Toi, H. (1997) HyTech: A Model Checker for Hybrid Systems. 9th International Conference on Computer Aided Verification, Haifa, 22–25 June 1997, 460-463. http://dx.doi.org/10.1007/3-540-63166-6_48</mixed-citation></ref><ref id="scirp.71093-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T.A., Ho, P., Nicollin, X., Olivero, A., Sifakis, J. and Yovine, S. (1995) The Algorithmic Analysis of Hybrid Systems. Theoretical Computer Science, 138, 3-34. http://dx.doi.org/10.1016/0304-3975(94)00202-T</mixed-citation></ref><ref id="scirp.71093-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Ono, Y. and Yamane, S. (2011) Computation of Quantifier Elimination of Linear Inequlities of First Order Predicate Logic. Ieice Technical Report Theoretical Foundations of Computing, 111, 55-59.</mixed-citation></ref><ref id="scirp.71093-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Bagnara, R., Hill, P.M. and Zaffanella, E. (2008) The Parma Polyhedra Library: Toward a Complete set of Numerical Abstractions for the Analysis and Verification of Hardware and Software Systems. Science of Computer Programming, 72, 3-21.  
http://dx.doi.org/10.1016/j.scico.2007.08.001</mixed-citation></ref><ref id="scirp.71093-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Boigelot, B., Godefroid, P., Willems, B. and Wolper, P. (1997) The Power of QDDs (Extended Abstract). Proceedings of the 4th International Symposium on Static Analysis, Paris, 8-10 September 1997, 172-186.</mixed-citation></ref><ref id="scirp.71093-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Clarke, E.M., Grumberg, O., Jha, S., Lu, Y. and Veith, H. (2000) Counterexample-Guided Abstraction Refinement. Proceedings of the 12th International Conference on Computer Aided Verification, 1855, 154-169. http://dx.doi.org/10.1007/10722167_15</mixed-citation></ref><ref id="scirp.71093-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Nieuwenhuis, R., Oliveras, A. and Tinelli, C. (2005) Abstract DPLL and Abstract DPLL Modulo Theories. International Conferences on Logic for Programming, Artificial Intelligence and Reasoning, 3452, 36-50. http://dx.doi.org/10.1007/978-3-540-32275-7_3</mixed-citation></ref></ref-list></back></article>