<?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:PRIMA</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="New Results - SPOK: End User Programming for Smart Homes"/>
    <meta name="dc.title" content="New Results - SPOK: End User Programming for Smart Homes"/>
    <meta name="dc.creator" content="Alexandre Demeure"/>
    <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="PRIMA"/>
    <!-- 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 Prima</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">
        <a href="./uid3.html">Overall Objectives</a>
      </div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid8.html&#10;&#9;&#9;  ">Situation Models for Context Aware Systems and Services</a></li><li><a href="uid14.html&#10;&#9;&#9;  ">Service Oriented Architectures for Intelligent Environments</a></li><li><a href="uid15.html&#10;&#9;&#9;  ">Robust view-invariant Computer Vision</a></li><li><a href="uid21.html&#10;&#9;&#9;  ">Perception for Social Interaction</a></li><li><a href="uid27.html&#10;&#9;&#9;  ">End User Programming of Smart Environments</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid33.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid37.html&#10;&#9;&#9;  ">OMiSCID</a></li><li><a href="uid41.html&#10;&#9;&#9;  ">AppsGate</a></li><li><a href="uid46.html&#10;&#9;&#9;  ">SPOK</a></li><li><a href="uid48.html&#10;&#9;&#9;  ">DomiCube</a></li><li><a href="uid52.html&#10;&#9;&#9;  ">EmoPRAMAD</a></li><li><a href="uid55.html&#10;&#9;&#9;  ">MobileRGBD</a></li><li><a href="uid58.html&#10;&#9;&#9;  ">Online Movie Director</a></li><li><a href="uid61.html&#10;&#9;&#9;  ">PALGate</a></li><li><a href="uid64.html&#10;&#9;&#9;  ">PERFECT MATCH STEREO</a></li><li><a href="uid67.html&#10;&#9;&#9;  ">PrimaCV</a></li><li><a href="uid70.html&#10;&#9;&#9;  ">STEREO VIEWFINDER</a></li><li><a href="uid73.html&#10;&#9;&#9;  ">SmartEnergy</a></li><li><a href="uid76.html&#10;&#9;&#9;  ">SmartServoFramework</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid81.html&#10;&#9;&#9;  ">Attention-Based Navigation</a></li><li class="tdmActPage"><a href="uid82.html&#10;&#9;&#9;  ">SPOK: End User Programming for Smart Homes</a></li><li><a href="uid83.html&#10;&#9;&#9;  ">Qualitative approaches for building energy management</a></li><li><a href="uid84.html&#10;&#9;&#9;  ">Situation Aware Services on Mobile Devices </a></li><li><a href="uid85.html&#10;&#9;&#9;  ">Perceiving mass in mixed reality </a></li><li><a href="uid86.html&#10;&#9;&#9;  ">Pseudo-haptic feedback </a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid88.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid92.html&#10;&#9;&#9;  ">Nationally Funded Projects</a></li><li><a href="uid104.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid107.html&#10;&#9;&#9;  ">European Projects</a></li><li><a href="uid112.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid119.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid175.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>
          <li>
            <a id="tdmbibentfoot" href="bibliography.html#References">References in notes</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/prima">Presentation of the Project-Team PRIMA</a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="prima.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="prima.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-prima-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../prima/prima.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-prima-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="./uid81.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="./uid83.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">SPOK: End User Programming for Smart Homes</h3>
        <p class="participants"><span class="part">Participant</span> :
	Alexandre Demeure.</p>
        <p>As part of the CATRENE project AppsGate, we have developed SPOK, an End User Development Environment, that enables inhabitants to control and program their smart Homes via a web interface. The current version of SPOK includes an editor for editing programs using a pseudo-natural language and an interpreter. A multi-syntax editor as well as additional services such as a debugger and a simulator are expected for the second version.</p>
        <p>A multi-syntax editor will allow users to build syntactically correct programs using the syntax that is most appropriate to them or by using a combination of them. These syntaxes include pseudo-natural language (i.e. a constrained natural language) and graphical iconic syntax (as exemplified by Scratch [Maloney et al. 2010]). The interaction techniques used to enter programs may be menu-based, free typing, as well as by demonstration in the physical home or by the way of the simulator. The simulator is the dual digital representation of the real home. It is intended to serve also as a debugger for testing and correcting end-user programs.</p>
        <p>Whatever syntax used by end-users, programs are translated into syntactic abstract trees whose leaves reference services provided by the Core HMI and/or by the Extended HMI Middleware. The interpreter, executes end-user programs, using the corresponding syntactic abstract trees as input.</p>
        <p>In order to support a dynamically extensible grammar as well as to provide end-users with feedforward at the user interface of the editor, the grammar used by the editor is split into 2 parts: the root grammar and the device specific grammars.
The root grammar specifies the generic structures of an end-user program: loops, conditions, etc. The device specific grammars are separated from the root grammar to be able to dynamically build the final grammar to be compliant with what is currently installed and detected by the AppsGate server. Each device type brings with it its own events, status and actions. These grammatical elements are injected into the root grammar when generating the parser and for compiling end-user programs.</p>
        <p>The language used by end-users to express their programs is a pseudo-natural language using the rule-based programming paradigm. The left hand side of a rule is composed of events and conditions, and the right hand side specifies the actions to be taken when the left hand-side is true or becomes true. A program may include several rules that can be executed either in parallel or sequentially. Once entered, programs are translated into syntactic abstract trees. The interpreter, executes end-user programs, using the corresponding syntactic abstract trees as input.
SPOK is implemented as a mix of OSGi and ApAM components where ApAM is in turn a middleware that runs on top of OSGi.</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid81.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="./uid83.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>
