<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-03043623</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-26T06:27:37+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">From SSA to Synchronous Concurrency and Back</title>
            <author role="aut">
              <persName>
                <forename type="first">Hugo</forename>
                <surname>Pompougnac</surname>
              </persName>
              <email type="md5">93848bd7fde55e166707deb1ad82fc3e</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="numeric">1084665</idno>
              <idno type="halauthorid" notation="string">2097176-1084665</idno>
              <idno type="IDREF">https://www.idref.fr/26784073X</idno>
              <idno type="RESEARCHERID">http://www.researcherid.com/rid/DOD-2562-2022</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-8711-9976</idno>
              <affiliation ref="#struct-478607"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Ulysse</forename>
                <surname>Beaugnon</surname>
              </persName>
              <email type="md5">ed8894c7fbd43d92b046c3acfdfd5ac8</email>
              <email type="domain">ens.fr</email>
              <idno type="idhal" notation="numeric">1059391</idno>
              <idno type="halauthorid" notation="string">919594-1059391</idno>
              <affiliation ref="#struct-93049"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Albert</forename>
                <surname>Cohen</surname>
              </persName>
              <email type="md5">534d234543723e40a24dd07ad0b3c25b</email>
              <email type="domain">ann.jussieu.fr</email>
              <idno type="idhal" notation="string">albert-cohen</idno>
              <idno type="idhal" notation="numeric">12723</idno>
              <idno type="halauthorid" notation="string">1512-12723</idno>
              <idno type="IDREF">https://www.idref.fr/032462131</idno>
              <idno type="VIAF">https://viaf.org/viaf/233252105</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-1337-4012</idno>
              <affiliation ref="#struct-93049"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Dumitru</forename>
                <surname>Potop-Butucaru</surname>
              </persName>
              <email type="md5">d2d95dc1d2b7e911056f43ee12c32e4c</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">dpotop</idno>
              <idno type="idhal" notation="numeric">742796</idno>
              <idno type="halauthorid" notation="string">12384-742796</idno>
              <idno type="IDREF">https://www.idref.fr/118081365</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-3672-6156</idno>
              <orgName ref="#struct-300009"/>
              <affiliation ref="#struct-478607"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Hugo</forename>
                <surname>Pompougnac</surname>
              </persName>
              <email type="md5">93848bd7fde55e166707deb1ad82fc3e</email>
              <email type="domain">inria.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2020-12-07 16:21:24</date>
              <date type="whenModified">2026-01-28 08:40:01</date>
              <date type="whenReleased">2020-12-08 08:37:48</date>
              <date type="whenProduced">2020-12</date>
              <date type="whenEndEmbargoed">2020-12-07</date>
              <ref type="file" target="https://inria.hal.science/hal-03043623v1/document">
                <date notBefore="2020-12-07"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-03043623v1/file/RR-9380.pdf" id="file-3043623-2680787">
                <date notBefore="2020-12-07"/>
              </ref>
              <ref type="annex" n="0" target="https://inria.hal.science/hal-03043623v1/file/RR-9380.ps" id="file-3043623-2680788">
                <date notBefore="2020-12-07"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="965941">
                <persName>
                  <forename>Hugo</forename>
                  <surname>Pompougnac</surname>
                </persName>
                <email type="md5">93848bd7fde55e166707deb1ad82fc3e</email>
                <email type="domain">inria.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-03043623</idno>
            <idno type="halUri">https://inria.hal.science/hal-03043623</idno>
            <idno type="halBibtex">pompougnac:hal-03043623</idno>
            <idno type="halRefHtml">[Research Report] RR-9380, INRIA Sophia Antipolis - Méditerranée (France). 2020, pp.23</idno>
            <idno type="halRef">[Research Report] RR-9380, INRIA Sophia Antipolis - Méditerranée (France). 2020, pp.23</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-3043623-2680787"/><ref corresp="#file-3043623-2680788"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="UNICE">Université Nice Sophia Antipolis</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="INRIA-SOPHIA">INRIA Sophia Antipolis - Méditerranée</idno>
            <idno type="stamp" n="INRIA-RRRT">Rapports de recherche et Technique de l'Inria</idno>
            <idno type="stamp" n="I3S">Laboratoire d'Informatique, Signaux et Systèmes de Sophia-Antipolis</idno>
            <idno type="stamp" n="INRIASO">INRIA-SOPHIA</idno>
            <idno type="stamp" n="INRIA_TEST">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="LORIA2">Publications du LORIA</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="LARA">LARA</idno>
            <idno type="stamp" n="UNIV-COTEDAZUR">Université Côte d'Azur</idno>
            <idno type="stamp" n="INRIA-300009">Inria 300009</idno>
            <idno type="stamp" n="TEST-HALCNRS">Collection test HAL CNRS</idno>
            <idno type="stamp" n="INRIA-ETATSUNIS">Copublications Inria-Etats-Unis</idno>
            <idno type="stamp" n="INRIA-CANADA">INRIA-CANADA</idno>
            <idno type="stamp" n="TEST-NICE">test nice</idno>
          </seriesStmt>
          <notesStmt>
            <note type="report" n="6">Research Report</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">From SSA to Synchronous Concurrency and Back</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Hugo</forename>
                    <surname>Pompougnac</surname>
                  </persName>
                  <email type="md5">93848bd7fde55e166707deb1ad82fc3e</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="numeric">1084665</idno>
                  <idno type="halauthorid" notation="string">2097176-1084665</idno>
                  <idno type="IDREF">https://www.idref.fr/26784073X</idno>
                  <idno type="RESEARCHERID">http://www.researcherid.com/rid/DOD-2562-2022</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-8711-9976</idno>
                  <affiliation ref="#struct-478607"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Ulysse</forename>
                    <surname>Beaugnon</surname>
                  </persName>
                  <email type="md5">ed8894c7fbd43d92b046c3acfdfd5ac8</email>
                  <email type="domain">ens.fr</email>
                  <idno type="idhal" notation="numeric">1059391</idno>
                  <idno type="halauthorid" notation="string">919594-1059391</idno>
                  <affiliation ref="#struct-93049"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Albert</forename>
                    <surname>Cohen</surname>
                  </persName>
                  <email type="md5">534d234543723e40a24dd07ad0b3c25b</email>
                  <email type="domain">ann.jussieu.fr</email>
                  <idno type="idhal" notation="string">albert-cohen</idno>
                  <idno type="idhal" notation="numeric">12723</idno>
                  <idno type="halauthorid" notation="string">1512-12723</idno>
                  <idno type="IDREF">https://www.idref.fr/032462131</idno>
                  <idno type="VIAF">https://viaf.org/viaf/233252105</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-1337-4012</idno>
                  <affiliation ref="#struct-93049"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Dumitru</forename>
                    <surname>Potop-Butucaru</surname>
                  </persName>
                  <email type="md5">d2d95dc1d2b7e911056f43ee12c32e4c</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">dpotop</idno>
                  <idno type="idhal" notation="numeric">742796</idno>
                  <idno type="halauthorid" notation="string">12384-742796</idno>
                  <idno type="IDREF">https://www.idref.fr/118081365</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-3672-6156</idno>
                  <orgName ref="#struct-300009"/>
                  <affiliation ref="#struct-478607"/>
                </author>
              </analytic>
              <monogr>
                <idno type="reportNumber">RR-9380</idno>
                <imprint>
                  <biblScope unit="pp">23</biblScope>
                  <date type="datePub">2020-12</date>
                </imprint>
                <authority type="institution">INRIA Sophia Antipolis - Méditerranée (France)</authority>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Software engineering</term>
                <term xml:lang="en">Synchronous languages</term>
                <term xml:lang="en">Semantics</term>
                <term xml:lang="en">Real-time systems</term>
                <term xml:lang="en">Language implementation</term>
                <term xml:lang="en">Language design</term>
                <term xml:lang="en">Declarative languages</term>
                <term xml:lang="en">Code generation</term>
                <term xml:lang="en">Compiler optimization</term>
                <term xml:lang="en">Concurrency</term>
                <term xml:lang="en">Embedded systems</term>
                <term xml:lang="fr">Génération de code</term>
                <term xml:lang="fr">Optimisation de compilateur</term>
                <term xml:lang="fr">Concurrence</term>
                <term xml:lang="fr">Langages déclaratifs</term>
                <term xml:lang="fr">Systèmes embarqués</term>
                <term xml:lang="fr">Conception de langage</term>
                <term xml:lang="fr">Implémentation de langage</term>
                <term xml:lang="fr">Systèmes temps réel</term>
                <term xml:lang="fr">Sémantique</term>
                <term xml:lang="fr">Génie logiciel</term>
                <term xml:lang="fr">Langages synchrones</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halOldTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halTreeTypology" n="REPORT.RESREPORT">Reports - Research report</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>We are interested in the programming and compilation of reactive, real-time systems. More specifically, we would like to understand the fundamental principles common to generalpurpose and synchronous languages—used to model reactive control systems—and from this to derive a compilation flow suitable for both high-performance and reactive aspects of a modern control application. To this end, we first identify the key operational mechanisms of synchronous languages that SSA does not cover: synchronization of computations with an external time base, cyclic I/O, and the semantic notion of absent value which allows the natural representation of variables whose initialization does not follow simple structural rules such as control flow dominance. Then, we show how the SSA form in its MLIR implementation can be seamlessly extended tocover these mechanisms, enabling the application of all SSA-based transformations and optimizations. We illustrate this on the representation and compilation of the Lustre dataflow synchronous language. Most notably, in the analysis and compilation of Lustre embedded into MLIR, theinitialization-related static analysis and code generation aspects can be fully separated from memory allocation and causality aspects, the latter being covered by the existing dominance-based algorithms of MLIR/SSA, resulting in a high degree of conceptual and code reuse. Our work allowsthe specification of both computational and control aspects of high-performance real-time applications. It paves the way for the definition of more efficient design and implementation flows where real-time ressource allocation drives parallelization and optimization.</p>
            </abstract>
            <abstract xml:lang="fr">
              <p>Nous traitons de la programmation et de la compilation de systèmes réactifs, temps-réel. En particulier, nous cherchons à comprendre les principes fondamentaux communs à la programmation généraliste et aux langages synchrones—utilisés pour modéliser les systèmes de contrôle—et de là nous dérivons une méthode de compilation adaptée aux aspects réactifs et haute performance d’une application moderne. À cette fin, nous commençons par identifier les mécanismes des langages synchrones que SSA n’implémente pas : la synchronisation des calculs avec une base de temps externe, les entrées-sorties cycliques, et la notion sémantique de valeur absente, qui permet la représentation naturelle de variables dont l’initialisation ne suit pas de simples règles structurelles. Ensuite, nous montrons de quelle manière la forme SSA, dans l’implémentation de MLIR, peut être étendue pour implémenter ces mécanismes et leur appliquer toutes les transformations et optimisations basées sur SSA. Nous illustrons ces mécanismes par la représentation et la compilation du langage synchrone, flot de données Lustre. Nous montrons que les problèmes d’analyse statique pour l’initialisation, de génération de code, peuvent être entièrement distingués des problèmes d’allocation mémoire et de causalité, ces derniers étant pris en charge par les algorithmes d’analyse de la dominance de MLIR/SSA, ce qui permet un haut niveau de réutilisation du code et des concepts. Notre travail permet la spécification d’applications temps-réel, du point de vue du contrôle comme du calcul. Il ouvre la voie à ladéfinition de processus de conception et d’implémentation plus efficaces, où la parallélisation et l’optimisation procèdent de l’allocation des ressources temps-réel.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-478607" status="VALID">
          <idno type="RNSR">201722225N</idno>
          <idno type="ROR">https://ror.org/05h4ccq74</idno>
          <orgName>Logical Time for Formal Embedded System Design</orgName>
          <orgName type="acronym">KAIROS</orgName>
          <date type="start">2017-01-01</date>
          <date type="end">2026-12-31</date>
          <desc>
            <address>
              <addrLine>2004 route des Lucioles BP 93 06902 Sophia Antipolis</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.inria.fr/en/teams/kairos</ref>
          </desc>
          <listRelation>
            <relation active="#struct-34586" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-451999" type="direct"/>
            <relation active="#struct-13009" type="indirect"/>
            <relation active="#struct-117617" type="indirect"/>
            <relation name="UMR7271" active="#struct-441569" type="indirect"/>
            <relation active="#struct-1039632" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-93049" status="VALID">
          <orgName>Google Inc</orgName>
          <desc>
            <address>
              <addrLine>Toronto</addrLine>
              <country key="CA"/>
            </address>
            <ref type="url">http://www.google.com</ref>
          </desc>
          <listRelation>
            <relation active="#struct-366136" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-34586" status="VALID">
          <idno type="RNSR">198318250R</idno>
          <idno type="ROR">https://ror.org/01nzkaw91</idno>
          <orgName>Centre Inria d'Université Côte d'Azur</orgName>
          <desc>
            <address>
              <addrLine>2004 route des Lucioles BP 93 06902 Sophia Antipolis</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/sophia/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="department" xml:id="struct-451999" status="VALID">
          <orgName>COMmunications, Réseaux, systèmes Embarqués et Distribués</orgName>
          <orgName type="acronym">Laboratoire I3S - COMRED</orgName>
          <date type="start">2016-03-02</date>
          <desc>
            <address>
              <addrLine>Laboratoire I3SCS 4012106903 Sophia Antipolis Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.i3s.unice.fr/comred</ref>
          </desc>
          <listRelation>
            <relation active="#struct-13009" type="direct"/>
            <relation active="#struct-117617" type="indirect"/>
            <relation name="UMR7271" active="#struct-441569" type="indirect"/>
            <relation active="#struct-1039632" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-13009" status="VALID">
          <idno type="IdRef">050320491</idno>
          <idno type="ISNI">0000000105613840</idno>
          <idno type="RNSR">201220432L</idno>
          <idno type="ROR">https://ror.org/01215r597</idno>
          <orgName>Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis</orgName>
          <orgName type="acronym">I3S</orgName>
          <desc>
            <address>
              <addrLine>2000, route des Lucioles - Les Algorithmes - bât. Euclide B 06900 Sophia Antipolis</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.i3s.unice.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-117617" type="direct"/>
            <relation name="UMR7271" active="#struct-441569" type="direct"/>
            <relation active="#struct-1039632" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-117617" status="VALID">
          <idno type="IdRef">026403498</idno>
          <idno type="ISNI">0000000123372892</idno>
          <idno type="ROR">https://ror.org/02k9vew78</idno>
          <orgName>Université Nice Sophia Antipolis (1965 - 2019)</orgName>
          <orgName type="acronym">UNS</orgName>
          <date type="start">1965-10-23</date>
          <date type="end">2019-12-31</date>
          <desc>
            <address>
              <addrLine>Parc Valrose, 06100 Nice</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://unice.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-1039632" status="VALID">
          <idno type="IdRef">241035694</idno>
          <idno type="ROR">https://ror.org/019tgvf94</idno>
          <orgName>Université Côte d'Azur</orgName>
          <orgName type="acronym">UniCA</orgName>
          <date type="start">2020-01-01</date>
          <desc>
            <address>
              <addrLine>Parc Valrose, 28, avenue Valrose 06108 Nice Cedex 2</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://univ-cotedazur.fr</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-366136" status="VALID">
          <orgName>Research at Google</orgName>
          <desc>
            <address>
              <country key="US"/>
            </address>
            <ref type="url">https://research.google.com/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>