<?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>Team:SCALE</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="New Results - Programming Languages for Distributed Systems"/>
    <meta name="dc.title" content="New Results - Programming Languages for Distributed Systems"/>
    <meta name="dc.creator" content="Ludovic Henrio"/>
    <meta name="dc.creator" content="Justine Rochas"/>
    <meta name="dc.creator" content="Vincenzo Mastandrea"/>
    <meta name="dc.creator" content="Ludovic Henrio"/>
    <meta name="dc.creator" content="Eric Madelaine"/>
    <meta name="dc.creator" content="Min Zhang"/>
    <meta name="dc.creator" content="Siqi Li"/>
    <meta name="dc.creator" content="Michael Benguigui"/>
    <meta name="dc.creator" content="Françoise Baude"/>
    <meta name="dc.creator" content="Maeva Antoine"/>
    <meta name="dc.creator" content="Fabrice Huet"/>
    <meta name="dc.creator" content="Françoise Baude"/>
    <meta name="dc.creator" content="Ludovic Henrio"/>
    <meta name="dc.creator" content="Oleksandra Kulankhina"/>
    <meta name="dc.creator" content="Eric Madelaine"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2015-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="SCALE"/>
    <!-- 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">Team Scale</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">From Oasis to Scale</a></li><li><a href="./uid4.html">Overall Objectives</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid12.html&#10;&#9;&#9;  ">Safely and easily
programming large-scale distributed applications</a></li><li><a href="uid16.html&#10;&#9;&#9;  ">Easily, safely and efficiently running large-scale distributed applications</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid21.html&#10;&#9;&#9;  ">Simulation</a></li><li><a href="uid24.html&#10;&#9;&#9;  ">Big data</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid27.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid30.html&#10;&#9;&#9;  ">BigGrph</a></li><li><a href="uid36.html&#10;&#9;&#9;  ">BtrPlace</a></li><li><a href="uid41.html&#10;&#9;&#9;  ">EventCloud</a></li><li><a href="uid45.html&#10;&#9;&#9;  ">OSA</a></li><li><a href="uid49.html&#10;&#9;&#9;  ">Vercors Component Editor (VCE)</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li class="tdmActPage"><a href="uid54.html&#10;&#9;&#9;  ">Programming Languages for Distributed Systems</a></li><li><a href="uid68.html&#10;&#9;&#9;  ">Run-time/middle-ware level</a></li><li><a href="uid70.html&#10;&#9;&#9;  ">Application level</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid74.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid96.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid117.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid136.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid146.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid172.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid208.html&#10;&#9;&#9;  ">Popularization</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 
	    2015</a> | <a href="http://www.inria.fr/en/teams/scale">Presentation of the Team SCALE</a> | <a href="http://team.inria.fr/scale">SCALE Web Site
	  </a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="scale.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="scale.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-scale-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../scale/scale.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-scale-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="./uid49.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="./uid68.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: 
      New Results</h2>
        <h3 class="titre3">Programming Languages for Distributed Systems</h3>
        <a name="uid55"/>
        <h4 class="titre4">Multi-active Objects</h4>
        <p class="participants"><span class="part">Participants</span> :
	Ludovic Henrio, Justine Rochas, Vincenzo Mastandrea.</p>
        <p>The active object programming model is particularly adapted to easily
program distributed objects: it separates objects into several
<i>activities</i>, each manipulated by a single thread, preventing
data races. However, this programming model has its limitations in
terms of expressiveness – risk of deadlocks – and of efficiency on
multicore machines. We proposed to extend active objects with
<i>local multi-threading</i>. We rely on declarative
<i>annotations</i> for expressing potential concurrency between
requests, allowing easy and high-level expression of concurrency. This
year we realized the following:</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid56"> </a>We proved the correctness of our compiler from ABS language into ProActive
multi-active objects. This translation can be generalised to many
other active object languages. This work has been published as a
research report, and is under submission
to a conference. The proof brought us very deep and interesting understanding on the
differences between the languages.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid57"> </a>We started to work on static detection of deadlocks for
multi-active object. This is the work of Vincenzo Mastandrea who is
starting a Labex PhD in collaboration with the FOCUS EPI (Univ of Bologna).
An article is currently submitted to a conference on this subject.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid58"> </a>We are formalising in Isabelle/HOL a first version of the semantics
of multiactive objects. This work was done in collaboration with
Florian Kammuller</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid59"> </a>We organised a workshop on active object languages with the main teams in
Europe involved in the development of active-object languages. A journal survey paper
on the subject is currently being written.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid60"> </a>We implemented a debugger for multi active object programs.</p>
          </li>
        </ul>
        <p>We plan to continue to improve the model, especially about
compile-time checking of annotations and about fault tolerance of
multiactive objects.</p>
        <a name="uid61"/>
        <h4 class="titre4">Behavioural Semantics</h4>
        <p class="participants"><span class="part">Participants</span> :
	Ludovic Henrio, Eric Madelaine, Min Zhang, Siqi Li.</p>
        <p>We are conducting a large study on Parameterised Networks of Automata (pNets) from
a theoretical perspective. We started last year with some 'pragmatic' expressiveness of
the pNets formalism, showing how to express a wide range of
classical constructs of (value-passing) process calculi, but also
complex interaction patterns used in modern distributed
systems. After publishing those results <a href="./bibliography.html#scale-2015-bid0">[13]</a> , we focused on open
systems and our formalism is able to represent
operators of composition of processes, they are represented as hierarchically composed
automata with holes and parameters. We defined a semantics for open pNets and a
bisimulation theory for them. This study was driven by several usecase examples
including a hierarchical broadcast algorithm and several operators of concurrent
processes. A short presentation is accepted for publication in the journal “Science China: Information Sciences -”. A full paper on the subject of the semantics and bisimulation for open pNets is under submission to a conference.</p>
        <p>In parallel we have started the study of a denotational semantics for open pNets, based on the Universal Theory of Processes (UTP). The idea in the long term would be to draw links between the operational, denotational, and algebraic models of the pNet formalism. A short presentation of our preliminary results will be presented at the conference PDP'16 (work in progress session).</p>
        <a name="uid62"/>
        <h4 class="titre4">GPU-based High Performance Computing for finance</h4>
        <p class="participants"><span class="part">Participants</span> :
	Michael Benguigui, Françoise Baude.</p>
        <p>We have pursued our work on pricing American multi-dimensional (so very computation intensive) options in finance and we hav been able to extend this to the computation of Value At Risk (consists in repeating the American option pricing, but we have found a financial grounded optimization that avoids us to replicate the most time consuming phase).</p>
        <p>Moreover, the balancing of work is taking in consideration the heterogeneous nature of the involved GPUs, and is capable to harness the computing power of multi-core CPUs that also support running OpenCL codes. As our scheduling solution is capable to get a reasonable prediction of the workload of each slave computation, we have leveraged this to run the whole pricing and VaR computations onhybrid and heterogeneous clusters.
These last results have been incorporated in the PhD thesis of M. Benguigui.</p>
        <a name="uid63"/>
        <h4 class="titre4">Scalable and robust Middleware for distributed event based computing</h4>
        <p class="participants"><span class="part">Participants</span> :
	Maeva Antoine, Fabrice Huet, Françoise Baude.</p>
        <p>In the context of the FP7 STREP PLAY and French SocEDA ANR research projects terminated late 2013, we initiated and pursued the design and development of the Event Cloud.</p>
        <p>As a distributed system handling huge amount of information, this middleware can suffer from data imbalances.
In a journal extension of a previous workshop paper <a href="./bibliography.html#scale-2015-bid1">[6]</a> , we have enlarged our litterature review of structured peer to peer systems
regarding the way they handle load imbalance to the case of distributed big data systems. We have generalized those popular approaches by proposing a core API that we
have proved to be indeed also applicable to the Event Cloud middleware way of implementing a load balancing policy.</p>
        <a name="uid64"/>
        <h4 class="titre4">Vercors: Integrated environment for verifying and running distributed
components</h4>
        <p class="participants"><span class="part">Participants</span> :
	Ludovic Henrio, Oleksandra Kulankhina, Eric Madelaine.</p>
        <p>It is the general prurpose of the Vercors platform to target the generation of
distributed applications with safety guarantees. In Vercors, the approach starts from
graphical specification formalisms allowing the architectural and behavioral description
of component systems. From this point, the user can automatically verify application
properties using model-checking techniques. Finally, the specified and verified component
model can be translated into executable Java code. The Vercors tool suite is distributed
as an Eclipse plugin.
This year</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid65"> </a>we implemented a first reliable version of the whole tool chain including
generation of verifiable models and executable Java code.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid66"> </a>We applied the approach to several examples including Peterson’s leader election
algorithm, a workflow executor, and the control and management of service
composition <a href="./bibliography.html#scale-2015-bid2">[7]</a> .</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid67"> </a>A paper accepted at FASE'2016 presents an overview of this work; a research report
provides the full version of the paper <a href="./bibliography.html#scale-2015-bid3">[20]</a> . The theoretical
background was published as a research report and an improve version is being submitted
as a journal paper.</p>
          </li>
        </ul>
        <p>The practical implementation allowed us to improve the presentation
of the theory and better evaluate it.
</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid49.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="./uid68.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>
