<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <title>Project-Team:TEA</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Overall Objectives - Challenge"/>
    <meta name="dc.title" content="Overall Objectives - Challenge"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2014-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="TEA"/>
    <!-- Piwik -->
    <script type="text/javascript" src="/rapportsactivite/piwik.js"></script>
    <noscript><p><img src="//piwik.inria.fr/piwik.php?idsite=49" style="border:0;" alt="" /></p></noscript>
    <!-- End Piwik Code -->
  </head>
  <body>
    <div class="tdmdiv">
      <div class="logo">
        <a href="http://www.inria.fr">
          <img style="align:bottom; border:none" src="../static/img/icons/logo_INRIA-coul.jpg" alt="Inria"/>
        </a>
      </div>
      <div class="TdmEntry">
        <div class="tdmentete">
          <a href="uid0.html">Project-Team Tea</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Introduction</a></li><li><a href="./uid4.html">Motivations</a></li><li class="tdmActPage"><a href="./uid6.html">Challenge</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid13.html&#10;&#9;&#9;  ">State of the Art</a></li><li><a href="uid26.html&#10;&#9;&#9;  ">Modelling Time</a></li><li><a href="uid37.html&#10;&#9;&#9;  ">Modelling Architectures</a></li><li><a href="uid43.html&#10;&#9;&#9;  ">Time Scheduling</a></li><li><a href="uid59.html&#10;&#9;&#9;  ">Virtual Prototyping</a></li><li><a href="uid65.html&#10;&#9;&#9;  ">Research Objectives</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid97.html&#10;&#9;&#9;  ">Application Domains</a></li></ul></div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid99.html&#10;&#9;&#9;  ">The Eclipse project POP</a></li><li><a href="uid118.html&#10;&#9;&#9;  ">Integrated Modular Avionics design using Polychrony</a></li><li><a href="uid120.html&#10;&#9;&#9;  ">Safety-Critical Java Level 1 Code generation from Dataflow Graph Specifications</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid124.html&#10;&#9;&#9;  ">Highlights of the Year</a></li><li><a href="uid125.html&#10;&#9;&#9;  ">Priority-Driven Scheduling of Static Dataflow Graphs through Time Abstraction</a></li><li><a href="uid136.html&#10;&#9;&#9;  ">Formal Verification of a Synchronous Data-flow Compiler: from Signal to C</a></li><li><a href="uid141.html&#10;&#9;&#9;  ">Ongoing integration of Polychrony with the P toolset</a></li><li><a href="uid143.html&#10;&#9;&#9;  ">A synchronous annex for the AADL</a></li><li><a href="uid144.html&#10;&#9;&#9;  ">New features of Polychrony</a></li><li><a href="uid145.html&#10;&#9;&#9;  ">Optimized Distribution of Synchronous Programs via a Polychronous Model</a></li><li><a href="uid147.html&#10;&#9;&#9;  ">Component-based Design of Multi-rate Systems</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid149.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid158.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid195.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid224.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid228.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid236.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentmajor" href="bibliography.html">Major publications</a>
          </li>
          <li>
            <a id="tdmbibentyear" href="bibliography.html#year">Publications of the year</a>
          </li>
        </ul>
      </div>
    </div>
    <div id="main">
      <div class="mainentete">
        <div id="head_agauche">
          <small><a href="http://www.inria.fr">
	    
	    Inria
	  </a> | <a href="../index.html">
	    
	    Raweb 
	    2014</a> | <a href="http://www.inria.fr/en/teams/tea">Presentation of the Project-Team TEA</a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="tea.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="tea.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-tea-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../tea/tea.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-tea-epub.png"/>
                </a>
              </td>
            </tr>
            <tr>
              <td/>
              <td>PDF
</td>
              <td>e-Pub
</td>
            </tr>
          </table>
        </div>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid4.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid13.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
      <div id="textepage">
        <!--DEBUT2 du corps du module-->
        <h2>Section: 
      Overall Objectives</h2>
        <h3 class="titre3">Challenge</h3>
        <p>A cyber-physical (or reactive, or embedded) system is the integration of heterogeneous components originating from several design viewpoints: reactive software, some of which is embedded in hardware, interfaced with the physical environment through mechanical parts. Time takes different forms when observed from each of these viewpoints: it is discrete and event-based in software, discrete and time-triggered in hardware, continuous in mechanics or physics. Design of CPS often benefits from concepts of multiform and logical time(s) for their natural description.</p>
        <p>High-level modelling and programming formalisms used to represent software, hardware and physic significantly alter this perception of time. In the model of the environment, the continuous evolution of time is represented by differential equations whose computerised resolution is inherently discrete. In hardware models, the system clock is an abstraction of the electrical behaviour of the circuit. It is usually further approximated by coarser-grain abstractions: register transfer level (RTL), transaction-level modelling (TLM) or system-level modelling.</p>
        <p>In system design, time is usually abstracted to serve the purpose of one of many design problem: simulation, profiling, performance analysis, scheduling analysis, parallelisation, distribution, simulation, or virtual prototyping. For example in non-real-time commodity software, timing abstraction such as number of instructions and algorithmic complexity is sufficient: software will run the same on different machines, except slower or faster. Alternatively, in cyber-physical extensions, multiple recurring instances of meaningful events may create as many dedicated logical clocks, on which to ground modelling and design practices.</p>
        <p>Time reasoning is further complicated by the inadequacy of conventional programming models for modern hardware, such as Network-On-Chips. As pointed out by Edward Lee in his position paper
(<i>The Problem with Threads</i>. E. A. Lee. Technical Report UCB/EECS-2006-1. UC Berkeley, 2006. <a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html">http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html</a> ),
anyone experienced with multi-threaded programming can easily acknowledge the difficulty of designing and implementing concurrent software. Resolving concurrency, synchronisation, and coordination issues, and tackling the non-determinism germane in multi-threaded software is extremely difficult. Ensuring software correctness not only with respect to its specification, but also with regards to target hardware and environment, is a necessary yet even more challenging task.</p>
        <p>This challenge explains why the mitigation of time constraints arising from heterogeneous time models or domains is equally isolated to one specific design problem. For instance,</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid8"> </a>scheduling analysis aims at reconciling software logical time with discrete hardware resources;</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid9"> </a>desynchronisation aims at reconciling the synchronous abstraction of software concurrency with the asynchronous abstraction of a distributed architecture;</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid10"> </a>virtual prototyping aims at simulating hardware events using software;</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid11"> </a>hybrid simulation mixes software time and simulated physical time.</p>
          </li>
        </ul>
        <p>None of these problems demand system-level timed reasoning. All these issues are usually addressed in isolation. Yet, all would benefit from modularity and compositionally gained by coordinated time reasoning. Proper handling of time requires a precise semantic foundations and the establishment of formal correctness properties. It allows powerful analysis and error-proof verification of functional behaviours and quantitative characteristics.</p>
        <p>Time abstraction increases efficiency in event-driven simulation or execution (i.e SystemC simulation models try to abstract time, from cycle-accurate to approximate-time, and to loosely-time), while attempting to retain functionality, but without any actual guarantee of valid accuracy (responsibility is left to the model designer). Functional determinism (a.k.a. conflict-freeness in Petri Nets, monotonicity in Kahn PNs, confluence in Milner's CCS, latency-insensitivity and elasticity in circuit design) allows for reducing to some amount the problem to that of many schedules of a single self-timed behaviour, and time in many systems studies is partitioned into models of computation and communication (MoCCs). Multiple, multiform time(s) raises the question of combination, abstraction or refinement between distinct time bases. The question of combining continuous time with discrete logical time calls for proper discretisation in simulation and implementation. While timed reasoning takes multiple forms, there is no unified foundation to reasoning about multi-form time in system design.</p>
        <p>The aim of project-team TEA is to develop formal calculi for reasoning about time in embedded system design. Equipped with these calculi, we will revisit typical problems and application in real-time system design, such as time determinism, memory ressources predictability, real-time scheduling, mixed-criticality and power management. Eventually, this will allow to prototype and deliver a tooled methodology for virtual prototyping embedded architectures.
</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid4.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid13.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
    </div>
  </body>
</html>
