<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Analyzing Throughput for Cyber-Physical Systems modeled with Synchronous Data ow</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philippe Glanon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Selma Azaiez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chokri Mraidha</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CEA-LIST Saclay</institution>
          ,
          <addr-line>Gif-sur-yvette</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Cyber-Physical System (CPS) is a critical system in which timing performance is often required. Throughput is a performance indicator of interest when designing a CPS. Analyzing throughput reachable by a CPS at design-time implies to optimize the behaviour of the system in such a way that it may run with an optimal frequency. This can be achieved by using synchronous data ow graphs (SDFGs) which is a formal model of computation that fosters the analysis of systems where performance is always prominent. In this paper, we discuss on the throughput estimation for CPS applications modeled with the SDFGs. In order to evaluate the optimal throughput reachable by a CPS application, we use SDFGs to describe computations and communications in the CPS application and we propose a mathematical formulation of scheduling and mapping decisions in order to deploy the behavioural model of the CPS onto a platform, which essentially consists of heterogeneous and distributed resources.</p>
      </abstract>
      <kwd-group>
        <kwd>Cyber Physical System Throughput Synchronous data ow</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Cyber-physical systems (CPSs) are distributed systems consisting of parallel and
heterogeneous components (sensors, controllers, actuators.) deeply intertwined
and communicating with each other to sense, to control and to execute physical
processes [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In these systems, performance is usually important since their
components execute tasks constrained by timing requirements such as latency
and throughput. In order to obtain a valid and implementable CPS, performance
analysis is then crucial in the early design-time of the system. To achieve this
goal, synchronous data ow graphs (SDFGs) can be very bene cial. SDFG is a
formal model introduced in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and widely used to describe communications in
embedded and distributed systems and to perform the static analysis of their
performance. This model is known to be an equivalent of Weighted Event Graph
(WEG) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], a subclass of Petri Nets which is a general-purpose modeling
language often used to model and analyze the timing behaviour of the automated
production systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. For the rest of the paper, we adopt the notation SDFG
instead of WEG. In this paper, SDFG is used to tackle the static analysis of
throughput metrics for CPSs. Analyzing the throughput reachable by a CPS
at design-time means to evaluate the maximum execution frequency of its
application over its platform. This can be achieved by scheduling and mapping
the application graph of the CPS (i.e the SDFG that models the CPS) to the
platform in order to determine when and where the tasks of the application are
executed. This paper tackle the throughput analysis problem for a CPS where
communications are modeled with SDFG by taking into account the
heterogeneity of the CPS resources. In this paper, resources heterogeneity means that there
is a potential redundancy of CPS components that may provide the same
services but they do not o er the same quality of service (QoS). In this context,
the QoS indicator related to the throughput analysis of a CPS is the execution
time of CPS tasks.
      </p>
      <p>Various analysis techniques have been proposed previously in the literature of
data ow models and similar tasks model to schedule and evaluate the throughput
for applications whose tasks are executed by parallel and distributed resources.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref4 ref6 ref9">4, 6, 9</xref>
        ], cyclic schedules were used to characterize and to evaluate
throughput for data ow-based applications. However, the throughput analysis in these
paper do not deal with resources constraints of the platform on which the
applications are scheduled and mapped.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref11 ref14 ref15 ref8">8, 11, 14, 15</xref>
        ], various static scheduling techniques have been used to
maximize the throughput of data ow-based applications. Although these techniques
take into account some resource constraints, the resources on which the tasks
are scheduled and mapped are fully homogeneous.
      </p>
      <p>
        The scheduling of tasks onto heterogeneous platforms have been addressed
in [
        <xref ref-type="bibr" rid="ref1 ref13">1, 13</xref>
        ]. However, scheduling has been only studied for directed acyclic graph
structures. This means that approaches proposed in these papers do not t for
scheduling a task graph that contains cycles.
      </p>
      <p>To the best of our knowledge, the current literature of data ow models do
not deal with the scheduling and mapping of SDFGs which contains cycles onto
heterogeneous and parallel resources. In this paper, we aim at formulating this
scheduling and mapping problem for the CPS by proposing some
mathematical models that describe the CPS platform and its tasks graph as well as its
scheduling and mapping constraints. Di erent research directions have also been
highlighted to solve the problem.</p>
      <p>The rest of the paper is organized as follows. Section 2 is devoted to a detailed
description and modeling of a CPS. Next, in section 3 we depict a mathematical
model that describe the throughput problem for a CPS and we propose a
resolution approach to evaluate the optimal throughput reachable by a CPS. Finally,
we draw some conclusions in the section 4.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Description and Modeling of the CPS</title>
      <sec id="sec-2-1">
        <title>Architectural description of the CPS</title>
        <p>The CPS tackled in this paper consists of a logical part and a physical part. The
logical part is an application involving computation functions to sense, control
Sensing Data</p>
        <p>Processing Data</p>
        <p>Actuaction</p>
        <p>Physical Process
(a) Coarse view of the CPS function
Device i</p>
        <p>Device i+1</p>
        <p>Device n</p>
        <p>Pi
Network</p>
        <p>NIi
R</p>
        <p>Communication link</p>
        <p>Pi+1
…</p>
        <p>Pn
Nii+1</p>
        <p>R</p>
        <p>NIn
R
(b) Overview of the CPS platform.
and execute the physical processes. These functions exchange ows of data to
determine the behaviour of the system which mostly act as a loop-control (see
Fig. 1a). The physical part of the CPS (see Fig. 1b) is platform including parallel
and heterogeneous devices (also called resources) such as sensors, controllers and
actuators that interact with each other through a distributed network to process
the CPS functions. Each device contains a processor (P) which computes the
CPS tasks and a network interface (NI) through which it communicates with the
other devices. The network interface is needed to decouples computations from
communications and to connect the device with the distributed network. Which
network connects all devices via its routers (R) and communication links. The
CPS platform provides a resource sharing mechanism that allows several CPS
functions to use the communication and computation resources simultaneously
while guarantees can be provided on the amount of time a function has access
to the resources and frequency of these accesses.
1</p>
        <p>1 1
{ E is the set of arcs (also called channels) each modeling the communication
between two computational functions.
{ P = fp(e)je 2 Eg is the set of production rates determined by the function
p : E ! N which associates to each channel e 2 E a xed number p(e) = pe
indicating the quantity of produced data over the channel when the input
function of e is red.
{ C = fc(e)je 2 Eg is the set of consumption rates. It is determined by the
function c : E ! N which associates to each channel e 2 E a xed number
c(e) = ce indicating the quantity of consumed data from the channel to re
the output function of e.
{ M0 = fM (0)(e)je 2 Eg is the initial marking of the graph. The initial
marking represents the quantity of data upon the channels at the beginning
of a process. It is generally represented by dots also called tokens or delays
and is determined by the function M : E ! N which associates to each
channel e 2 E a non-negative integer M0(e) which provides a number of
tokens per channel.</p>
        <p>
          Fig. 2a depicts the example of an application graph that models
communications between three computational functions of a given CPS. In this application
graph, channels are initialized with xed number of tokens. To analyze the timing
behaviour of such an application graph, static scheduling and mapping strategies
can be used to determine when and where the actors are executed. However,
before scheduling and mapping such a graph to a platform, some useful properties
such as consistency and liveness need to be checked. Indeed these properties are
the necessary and su cient conditions that determine the schedulability of any
SDFG. When a SDFG is consistent and live it is proved in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] that there exists
a periodic admissible sequential (or parallel) schedule where its actors can be
red in nitely often with a bounded number of tokens.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>De nition 1 (Consistency and Repetition Vector). Let consider a SDFG</title>
        <p>Gsdf = (A; E; P; C; M0). Gsdf is consistent if there exists a function n : E ! N
which associates to each actor, a strictly positive integer such that for any
channel e = (ai; aj ; pe; ce; M0(e)) 2 E, pe:n(ai) = ce:n(aj ). The set of values provided
by such function determines the repetition vector N = [n(a1); :::; n(ajAj)]
associated with Gsdf where n(ai) is the number of times the actor res within a single
execution cycle of Gsdf .</p>
        <p>
          According to De nition. 1, the application graph showed in Fig .2a is
consistent and its repetition vector is given by N=[
          <xref ref-type="bibr" rid="ref1 ref1 ref1 ref2">2,1,1,1</xref>
          ]. According to this vector,
the actor a1, res twice while the other actor res once in a single iteration of
the graph.
        </p>
        <p>
          De nition 2 (Liveness). Let Gsdf = (A; E) be a SDF model where A is a nite
set of actors, E is a nite set of channels. Gsdf is live if and only if its initial
marking enables to execute the SDF actors in nitely often without deadlocks.
Many algorithms have been proposed to check the liveness of SDFGs [
          <xref ref-type="bibr" rid="ref12 ref7">7, 12</xref>
          ]. In
this paper, we assume that any SDFG that models a CPS application is always
consistent, live and then schedulable.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>From a CPS application graph to a Linear Constraint Graph</title>
        <p>
          Before scheduling a SDFG on a parallel platform, it is important to capture all
the dependencies between the rings of actors. To achieve this, SDFGs are often
transformed into precedence constraint graphs. There are three main approaches
to transform a SDFG into a precedence constraint graph. The rst approach is
based on the transformation of the SDFG into an equivalent Homogeneous
Synchronous Data ow Graph (HSDFG), which is a SDFG where all the input and
output rates are equals to one [
          <xref ref-type="bibr" rid="ref17 ref4 ref8">17, 8, 4</xref>
          ]. The second approach is by exploring
the state-space of a simulated self-time execution of the SDFG until a periodic
phase is found [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Such simulation-based method avoids the transformation
from SDF into HSDFG. The third approach is to transform the SDFG into a
linear constraint graph (LCG) which is a smaller sub-graph of a HSDFG [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
These three approaches were implemented and compared in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] and
experimental results showed that the third approach is more e cient than the rst two.
Therefore, we use the algorithm proposed in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] to transform any application
graph of a CPS into an equivalent LCG.
        </p>
        <p>
          According to the algorithm proposed in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], the corresponding LCG for the
SDFG depicted in Fig .2a is depicted in Fig .2b. In the LCG, nodes characterize
the rings of actors belonging to the original SDFG and arcs characterize the
precedence relations between these rings. Dots on the arcs (a12; a11), (a21; a11)
and (a12; a31) indicate that the downstream actors (i.e a11 and a31) are red
in the next iteration of the LCG. In general, a dot on an arc xy means that
the corresponding token is produced in one iteration and consumed in the next
iteration. Note that in an LCG, an arc can contain at most one token.
2.4
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>CPS platform model</title>
        <p>Before analyzing the throughput for the CPS, we also need to provide a formal
description of the platform on which the CPS application is executed.</p>
        <p>The targeted platform consists of n heterogeneous devices ru, 1 u n fully
interconnected as a virtual clique by m heterogeneous communication medium
ci, 1 i m. A communication medium is a bidirectional link Lu;v : ru ! rv
between any pair of device ru and rv, of data transmission time ru;rv . Note that
the heterogeneity of devices means that they may execute the same actors with
di erent execution times while the heterogeneity of the communication medium
means that the communication times are di erent between all the devices. Each
device may process one or several actors. A set of tuples (ak; `ru;ak ); 1 k p
is associated with each device ru to specify the set of actors ak that it executes
as well as the corresponding execution times `ru;ak . More succinctly a platform
model is de ned as follows:</p>
        <p>fru = f(ak; `ru;ak )gg [ fci = (Lu;v; ru;rv )g</p>
        <p>An instance of platform model for the application graph depicted in Fig .2a,
is given by:
fr1 = f(a1; 8); (a2; 4)g; r2 = f(a2; 5); (a3; 6)g; r3 = f(a2; 8)gg [ fc1 = (Lr1;r2 ; 5);
c2 = (Lr1;r3 ; 3); c3 = (Lr2;r3 ; 2)g
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Throughput evaluation</title>
      <p>Determining the optimal throughput reachable by the application graph of a CPS
implies to schedule and map the actors of its equivalent LCG to the platform in
such a way that the iteration period of the LCG can be minimized. In order to
achieve this goal, there is a need of de ning a decision model that express the
scheduling and mapping constraints as well as the objective function that need
to be optimized when scheduling and mapping the LCG to the CPS platform.
3.1</p>
      <sec id="sec-3-1">
        <title>Scheduling and Mapping Decision Model</title>
        <p>Let Gsdf be a SDFG, Glcg be its equivalent LCG, PG be the platform on which
Glcg is scheduled and mapped and S be the function that schedules and maps
actors of Glcg to PG. The throughput of Gsdf is de ned as the average iteration
number of Glcg per time units in S. Glcg achieves a single iteration if all its nodes
are scheduled and mapped onto the PG. If T is the iteration period associated
with Glcg then the throughput is measured as the inverse of the iteration
period (i.e = 1=T ). Therefore, maximizing the throughput of an SDFG implies
to minimize the iteration period of its equivalent LCG. In order to achieve this,
we formulate the following mathematical model to describe the scheduling and
mapping problem for any LCG. Note that in the proposed model, an actor is
considered as a node in the LCG.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Variables</title>
        <p>Saj ; 8ai</p>
        <p>aj :
Y; 8 ai:</p>
        <p>Saj ) _ (Xru;ai</p>
        <p>Xru;aj (Saj + `ru;aj )
{ Sai : the starting time of an actor ai in a schedule S.
{ Xru;ai : a binary variable set to 1 if the actor ai is mapped onto the device
ru and 0 otherwise.
{ Y : the minimal iteration period.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
Model
8 fobjective = min Y
&gt;
&gt;
&gt;
&gt;&gt;&gt; n
&gt; P Xru;ai = 1; 8 ai:
&gt;
&gt;
&gt;&gt;&gt; u=1
&gt;
&gt;
&gt;&gt;&gt;&gt; n
&gt;&gt;&gt; Sai + P Xru;ai `ru;ai
&gt;&gt;&gt; u=1
&gt;
&gt;
&gt;&gt;&gt; n
&gt;&lt;&gt; Sai + P Xru;ai `ru;ai</p>
        <p>u=1
&gt;
&gt;
&gt;
&gt;&gt;&gt;&gt; (Xru;ai Xru;aj (Sai + `ru;ai )
&gt;&gt;&gt; Sai ); 8 ai; aj :
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;&gt;&gt; Xru;ai 2 f0; 1g; 8r 2 R
&gt;
&gt;
&gt;
&gt;
&gt;&gt;&gt;&gt; Sai 0
&gt;
&gt;
&gt;
&gt;
&gt;: Y 0
The objective function of this model is to map the tasks onto resources of the
platform and order their executions so that the constraints are satis ed and a
minimum overall completion time is obtained.</p>
        <p>Constraint (1) states that any actor of the LCG must be mapped on exactly
one CPS device. Constraint (2) depicts the precedence constraint between two
dependent tasks in the LCG. Indeed, for any actor ai and aj if there exists a
precedence relation from ai to aj (i.e ai aj ), and if these actors are respectively
executed over the resources ru and rv then, the starting time of aj is greater
or equal to the sum of starting and processing time of ai in device ru. For an
iteration of the LCG, the constraint (3) states that the nishing time of each
actor is lower of equal to the minimal iteration period. Constraint (4) states the
restriction that if any actor ai (or aj ) is rst assigned to resource ru, no other
actor aj (ai) can start onto the resource until ai (or aj ) is completely processed.
Constraints (5), (6) and (7) de ne the range of optimization variables.
3.2</p>
      </sec>
      <sec id="sec-3-3">
        <title>Resolution Method for Mapping and Throughput Computation</title>
        <p>To solve this mapping problem and evaluate the maximum throughput, we split
it into two di erent sub-problems.</p>
        <p>
          Assuming that for any SDFG, the equivalent LCG does not contain cycles.
In this case, the mapping problem refers to a well-known NP-complete problem
which is mapping a DAG to a parallel and distributed platform under
communication constraints. Several approaches have been proposed to tackle this kind of
problem. In [
          <xref ref-type="bibr" rid="ref1 ref13">1, 13</xref>
          ], di erents list-based heuristics have been proposed that
provide mapping solutions with reasonable computation times to solve this problem.
However, in this paper, as we assume that a LCG always contains cycles (e.g.
see Fig. 2b), we need to reduce the LCG structure into a DAG structure without
losing the semantic of the initial model. Afterwards, the DAG can be scheduled
and mapped to the heterogeneous platform using list-scheduling heuristics.
Finally, according to the resulted schedule, the throughput of the CPS application
graph can be evaluated.
        </p>
        <p>
          A useful technique has been proposed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] to transform a graph that
contains cycles into DAG and to map it on an homogeneous platform consisting
of two processors. This transformation technique can be extended and used in
the context of our study to transform a LCG into a DAG. After transforming
the LCG into DAG, existing heuristics [
          <xref ref-type="bibr" rid="ref1 ref13">1, 13</xref>
          ] for mapping a DAG to a
heterogeneous platform should be implemented and compared by running them over
various instances of LCG in order to determine the ones that provides the
optimal throughput reachable by the application graph of the CPS.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Outlooks</title>
      <p>In this paper, we discuss the throughput evaluation of a CPS modeled with
SDFG. First we provide a formal description of the CPS platform and
application. Then, we formulate the scheduling and mapping problem for maximizing
the throughput of a CPS application considering some resources constraints
related to the CPS platform. Today, the problem is not solved yet, however,
research directions have been highlighted to tackle it. As rst perspective, we plan
to propose an e cient algorithm to transform the precedence constraint graph
(i.e. the LCG) of a CPS application into a DAG that preserves the semantics of
the original graph. Afterwards, we plan to design and implement an e cient list
schedule heuristic for scheduling and mapping the DAG to the CPS platform in
order to evaluate the maximal throughput reachable by the CPS application.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Emeretlis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tsakoulis</surname>
          </string-name>
          , G. Theodoridis,
          <string-name>
            <given-names>P.</given-names>
            <surname>Alefragis</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Voros</surname>
          </string-name>
          ,
          <article-title>"Task graph mapping and scheduling on heterogeneous architectures under communication constraints,"</article-title>
          2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and
          <string-name>
            <surname>Simulation</surname>
          </string-name>
          (SAMOS),
          <year>Pythagorion</year>
          ,
          <year>2017</year>
          , pp.
          <fpage>239</fpage>
          -
          <lpage>244</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Youen</given-names>
            <surname>Lesparre</surname>
          </string-name>
          .
          <article-title>E cient evaluation of mappings of data ow applications onto distributed memory architectures</article-title>
          .
          <source>Mobile Computing</source>
          . University Pierre et Marie Curie - Paris VI,
          <year>2017</year>
          . English.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>W.N.</surname>
          </string-name>
          <article-title>M Ari n, "Task Scheduling for Directed Cyclic Graph Using Matching Technique," Contemporary Engineering Sciences</article-title>
          , Vol.
          <volume>8</volume>
          ,
          <year>2015</year>
          , no.
          <volume>17</volume>
          ,
          <fpage>773</fpage>
          -
          <lpage>788</lpage>
          ,
          <string-name>
            <given-names>HIKARI</given-names>
            <surname>Ltd</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bodin</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Munier-Kordon</surname>
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>De Dinechin</surname>
            ,
            <given-names>B. D.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).,
          <article-title>K-periodic schedules for evaluating the maximum throughput of a synchronous data ow graph</article-title>
          .
          <source>In 2012 International Conference on Embedded Computer Systems (SAMOS)</source>
          , pages
          <fpage>152159</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>De</surname>
            <given-names>Groote</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Kuper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Broersma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            , and
            <surname>Smit</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. J.</surname>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Max-plus algebraic throughput analysis of synchronous data ow graphs</article-title>
          .
          <source>In 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA)</source>
          , pages
          <fpage>2938</fpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Benabid-Najjar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hanen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marchetti</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Munier-Kordon</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Periodic schedules for bounded timed weighted event graphs</article-title>
          .
          <source>IEEE Transactions on Automatic Control</source>
          ,
          <volume>57</volume>
          (
          <issue>5</issue>
          ):
          <fpage>12221232</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>O.</given-names>
            <surname>Marchetti</surname>
          </string-name>
          et A.
          <article-title>Munier Kordon A su cient condition for the liveness of weighted event graphs</article-title>
          <source>European Journal of Operational Research</source>
          ,
          <volume>197</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>532</fpage>
          -
          <lpage>540</lpage>
          ,
          <year>Sept 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sriram</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Bhattacharyya</surname>
          </string-name>
          , Embedded Multiprocessors: Scheduling and Synchronization, 2nd ed. Boca Raton, FL, USA: CRC Press, Inc.,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Hanen : Cyclic scheduling</article-title>
          , chapter in Introduction to Scheduling,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Robert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Vivien</surname>
          </string-name>
          (Eds.), pp.
          <fpage>103</fpage>
          -
          <lpage>128</lpage>
          , (Chapman and Hall/CRC Computational Science), (ISBN:
          <fpage>978</fpage>
          -
          <lpage>1420072730</lpage>
          ) (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>"Cyber Physical Systems: Design Challenges," 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), Orlando</article-title>
          , FL,
          <year>2008</year>
          , pp.
          <fpage>363</fpage>
          -
          <lpage>369</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghamarian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Geilen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stuijk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Basten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bekooij</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Theelen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mousavi</surname>
          </string-name>
          .
          <article-title>Throughput analysis of synchronous data ow graphs</article-title>
          .
          <source>In ACSD06, Proc. (</source>
          <year>2006</year>
          ), IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>A. H. Ghamarian</surname>
            ,
            <given-names>M. C. W.</given-names>
          </string-name>
          <string-name>
            <surname>Geilen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Basten</surname>
            ,
            <given-names>B. D.</given-names>
          </string-name>
          <string-name>
            <surname>Theelen</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          <string-name>
            <surname>Mousavi</surname>
            and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Stuijk</surname>
          </string-name>
          ,
          <article-title>"Liveness and Boundedness of Synchronous Data Flow Graphs," 2006 Formal Methods</article-title>
          in Computer Aided Design, San Jose, CA,
          <year>2006</year>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>75</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Topcuoglu</surname>
            , Haluk; Hariri, Salim; Wu,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>"Performance-e ective and lowcomplexity task scheduling for heterogeneous computing"</article-title>
          .
          <source>IEEE Transactions on Parallel and Distributed Systems</source>
          .
          <volume>13</volume>
          (
          <issue>3</issue>
          ):
          <fpage>260274</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. P.
          <string-name>
            <surname>-Y. Calland</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Darte</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Robert</surname>
          </string-name>
          .
          <article-title>Circuit retiming applied to decomposed software pipelining</article-title>
          .
          <source>IEEE Transactions on Paralllel and Distributed Systems</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <fpage>2435</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>F.</given-names>
            <surname>Gasperoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Schwiegelshohn</surname>
          </string-name>
          .
          <article-title>Generating close to optimum loop schedules on parallel processors</article-title>
          .
          <source>Parallel Processing Letters</source>
          ,
          <volume>4</volume>
          :
          <fpage>391403</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Teruel</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chrzastowski-Wachtel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Colom</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On weighted t-systems</article-title>
          .
          <source>In: Application and Theory of Petri Nets</source>
          <year>1992</year>
          , pp.
          <volume>348367</volume>
          (
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. G.</given-names>
            <surname>Messerschmitt</surname>
          </string-name>
          ,
          <article-title>"Synchronous data ow,"</article-title>
          <source>in Proceedings of the IEEE</source>
          , vol.
          <volume>75</volume>
          , no.
          <issue>9</issue>
          , pp.
          <fpage>1235</fpage>
          -
          <lpage>1245</lpage>
          , Sept.
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>