<?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="Research Program - Verified programming for system design"/>
    <meta name="dc.title" content="Research Program - Verified programming for system design"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2019-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="TEA"/>
    <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
      <!-- MathJax -->
    </script>
    <script type="text/javascript" src="../static/js/piwik.js">
      <!-- Piwik JS -->
    </script>
    <noscript>
      <p>
        <img src="https://piwik.inria.fr/matomo.php?idsite=49&amp;rec=1" style="border:0;" alt=""/>
      </p>
      <!-- Piwik Img -->
    </noscript>
  </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">Team, Visitors, External Collaborators</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Introduction</a></li><li><a href="./uid4.html">Context</a></li><li><a href="./uid5.html">Motivations</a></li><li><a href="./uid9.html">Challenges</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid11.html&#10;&#9;&#9;  ">Previous Works</a></li><li><a href="uid14.html&#10;&#9;&#9;  ">Timed Modeling</a></li><li><a href="uid18.html&#10;&#9;&#9;  ">Modeling Architectures</a></li><li><a href="uid24.html&#10;&#9;&#9;  ">Scheduling Theory</a></li><li class="tdmActPage"><a href="uid30.html&#10;&#9;&#9;  ">Verified programming for system design</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid34.html&#10;&#9;&#9;  ">Automotive and Avionics</a></li><li><a href="uid35.html&#10;&#9;&#9;  ">Factory Automation</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid37.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid39.html&#10;&#9;&#9;  ">ADFG</a></li><li><a href="uid42.html&#10;&#9;&#9;  ">POLYCHRONY</a></li><li><a href="uid47.html&#10;&#9;&#9;  ">Polychrony AADL2SIGNAL</a></li><li><a href="uid52.html&#10;&#9;&#9;  ">POP</a></li><li><a href="uid57.html&#10;&#9;&#9;  ">Sigali</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid60.html&#10;&#9;&#9;  ">ADFG: Affine data-flow graphs scheduler synthesis</a></li><li><a href="uid63.html&#10;&#9;&#9;  ">Parallel Composition and Modular Verification of Computer Controlled Systems in Differential Dynamic Logic</a></li><li><a href="uid65.html&#10;&#9;&#9;  ">Multithreaded code generation for process networks</a></li><li><a href="uid66.html&#10;&#9;&#9;  ">Type theory for modular static analysis of system programs</a></li><li><a href="uid67.html&#10;&#9;&#9;  ">Verified information flow of embedded programs</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid70.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid87.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid117.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid129.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid133.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="tdmbibentyear" href="bibliography.html">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 
	    2019</a> | <a href="http://www.inria.fr/en/teams/tea">Presentation of the Project-Team TEA</a> | <a href="https://team.inria.fr/TEA">TEA Web Site
	  </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="./uid24.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="./uid34.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: 
      Research Program</h2>
        <h3 class="titre3">Verified programming for system design</h3>
        <p>The IoT is a network of devices that sense, actuate and change our immediate environment. Against this fundamental role of sensing and actuation, design of edge devices often considers actions and event timings to be primarily software implementation issues: programming models for IoT abstract even the most rudimentary information regarding timing, sensing and the effects of actuation. As a result, applications programming interfaces (API) for IoT allow wiring systems fast without any meaningful assertions about correctness, reliability or resilience.</p>
        <p>We make the case that the "API glue" must give way to a logical interface expressed using contracts or refinement types. Interfaces can be governed by a calculus – a refinement type calculus – to enable reasoning on time, sensing and actuation, in a way that provides both deep specification refinement, for mechanized verification of requirements, and multi-layered abstraction, to support compositionality and scalability, from one end of the system to the other.</p>
        <p>Our project seeks to elevate the “function as type” paradigm to that of “system as type”: to define a refinement type calculus based on concepts of contracts for reasoning on networked devices and integrate them as cyber-physical systems (Refinement types for system design. Jean-Pierre Talpin. FDL’18 keynote.). An invited paper (Steps toward verified programming of embedded computing systems. Jean-Pierre Talpin, Jean-Joseph Marty, Deian Stefan, Shravan Nagarayan, Rajesh Gupta, DATE’18.) outlines our progress with respect to this aim and plans towards building a verified programming environment for networked IoT devices: we propose a type-driven approach to verifying and building safe and secure IoT applications.</p>
        <p>Accounting for such constrains in a more principled fashion demands reasoning about the composition of all the software and hardware components of the application. Our proposed framework takes a step in this direction by (1) using refinement types to make make physical constraints explicit and (2) imposing an event-driven programming discipline to simplify the reasoning of system-wide properties to that of an event queue. In taking this approach, our approach would make it possible for a developer to build a verified IoT application by ensuring that a well-typed program cannot violate the physical constraints of its architecture and environment.</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid24.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="./uid34.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>
