<?xml version="1.0" encoding="UTF-8"?>
<collection xmlns="http://www.loc.gov/MARC21/slim">
 <record>
  <leader>     caa a22        4500</leader>
  <controlfield tag="001">445821930</controlfield>
  <controlfield tag="003">CHVBK</controlfield>
  <controlfield tag="005">20180317145246.0</controlfield>
  <controlfield tag="007">cr unu---uuuuu</controlfield>
  <controlfield tag="008">170323e20110401xx      s     000 0 eng  </controlfield>
  <datafield tag="024" ind1="7" ind2="0">
   <subfield code="a">10.1007/s00779-010-0355-z</subfield>
   <subfield code="2">doi</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
   <subfield code="a">(NATIONALLICENCE)springer-10.1007/s00779-010-0355-z</subfield>
  </datafield>
  <datafield tag="245" ind1="0" ind2="0">
   <subfield code="a">Ambient contracts: verifying and enforcing ambient object compositions à la carte</subfield>
   <subfield code="h">[Elektronische Daten]</subfield>
   <subfield code="c">[Christophe Scholliers, Dries Harnie, Éric Tanter, Wolfgang De Meuter, Theo D'Hondt]</subfield>
  </datafield>
  <datafield tag="520" ind1="3" ind2=" ">
   <subfield code="a">Current programming languages do not offer adequate abstractions to discover and compose heterogenous objects over unreliable networks. This forces programmers to discover objects one by one, compose them manually, and keep track of their individual connectivity state at all times. In this paper we propose Ambient Contracts, a novel programming abstraction to deal with the difficulties of composing objects connected over unreliable networks. Ambient Contracts provide declarative heterogenous group discovery and composition while dealing with the unreliability of the network. An ambient contract allows runtime verification and enforcement of the messages sent between the participants in the contract. The use of our abstraction significantly reduces the code base and allows programmers to focus on the core functionality of their application. Our claims are reinforced by comparing the implementation of an example scenario in our contracts with a Java implementation using M2MI.</subfield>
  </datafield>
  <datafield tag="540" ind1=" " ind2=" ">
   <subfield code="a">Springer-Verlag London Limited, 2011</subfield>
  </datafield>
  <datafield tag="690" ind1=" " ind2="7">
   <subfield code="a">Contracts</subfield>
   <subfield code="2">nationallicence</subfield>
  </datafield>
  <datafield tag="690" ind1=" " ind2="7">
   <subfield code="a">Programming languages</subfield>
   <subfield code="2">nationallicence</subfield>
  </datafield>
  <datafield tag="690" ind1=" " ind2="7">
   <subfield code="a">Concurrency</subfield>
   <subfield code="2">nationallicence</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">Scholliers</subfield>
   <subfield code="D">Christophe</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">Harnie</subfield>
   <subfield code="D">Dries</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">Tanter</subfield>
   <subfield code="D">Éric</subfield>
   <subfield code="u">PLEIAD Laboratory Computer Science Dept (DCC), University of Chile, Santiago, Chile</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">De Meuter</subfield>
   <subfield code="D">Wolfgang</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">D'Hondt</subfield>
   <subfield code="D">Theo</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="773" ind1="0" ind2=" ">
   <subfield code="t">Personal and Ubiquitous Computing</subfield>
   <subfield code="d">Springer-Verlag</subfield>
   <subfield code="g">15/4(2011-04-01), 341-351</subfield>
   <subfield code="x">1617-4909</subfield>
   <subfield code="q">15:4&lt;341</subfield>
   <subfield code="1">2011</subfield>
   <subfield code="2">15</subfield>
   <subfield code="o">779</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2="0">
   <subfield code="u">https://doi.org/10.1007/s00779-010-0355-z</subfield>
   <subfield code="q">text/html</subfield>
   <subfield code="z">Onlinezugriff via DOI</subfield>
  </datafield>
  <datafield tag="908" ind1=" " ind2=" ">
   <subfield code="D">1</subfield>
   <subfield code="a">research-article</subfield>
   <subfield code="2">jats</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">856</subfield>
   <subfield code="E">40</subfield>
   <subfield code="u">https://doi.org/10.1007/s00779-010-0355-z</subfield>
   <subfield code="q">text/html</subfield>
   <subfield code="z">Onlinezugriff via DOI</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">700</subfield>
   <subfield code="E">1-</subfield>
   <subfield code="a">Scholliers</subfield>
   <subfield code="D">Christophe</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">700</subfield>
   <subfield code="E">1-</subfield>
   <subfield code="a">Harnie</subfield>
   <subfield code="D">Dries</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">700</subfield>
   <subfield code="E">1-</subfield>
   <subfield code="a">Tanter</subfield>
   <subfield code="D">Éric</subfield>
   <subfield code="u">PLEIAD Laboratory Computer Science Dept (DCC), University of Chile, Santiago, Chile</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">700</subfield>
   <subfield code="E">1-</subfield>
   <subfield code="a">De Meuter</subfield>
   <subfield code="D">Wolfgang</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">700</subfield>
   <subfield code="E">1-</subfield>
   <subfield code="a">D'Hondt</subfield>
   <subfield code="D">Theo</subfield>
   <subfield code="u">Software Languages Lab, DINF, Vrije Unversiteit Brussel, Brussel, Belgium</subfield>
   <subfield code="4">aut</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="P">773</subfield>
   <subfield code="E">0-</subfield>
   <subfield code="t">Personal and Ubiquitous Computing</subfield>
   <subfield code="d">Springer-Verlag</subfield>
   <subfield code="g">15/4(2011-04-01), 341-351</subfield>
   <subfield code="x">1617-4909</subfield>
   <subfield code="q">15:4&lt;341</subfield>
   <subfield code="1">2011</subfield>
   <subfield code="2">15</subfield>
   <subfield code="o">779</subfield>
  </datafield>
  <datafield tag="900" ind1=" " ind2="7">
   <subfield code="a">Metadata rights reserved</subfield>
   <subfield code="b">Springer special CC-BY-NC licence</subfield>
   <subfield code="2">nationallicence</subfield>
  </datafield>
  <datafield tag="898" ind1=" " ind2=" ">
   <subfield code="a">BK010053</subfield>
   <subfield code="b">XK010053</subfield>
   <subfield code="c">XK010000</subfield>
  </datafield>
  <datafield tag="949" ind1=" " ind2=" ">
   <subfield code="B">NATIONALLICENCE</subfield>
   <subfield code="F">NATIONALLICENCE</subfield>
   <subfield code="b">NL-springer</subfield>
  </datafield>
 </record>
</collection>
