Report Open Access

Verification of Real-Time Coordination in VirtuosoNext (extended version)

Cledou, Guillermina; Proença, José; Sputh, Bernhard H.C.; Verhulst, Eric


JSON-LD (schema.org) Export

{
  "inLanguage": {
    "alternateName": "eng", 
    "@type": "Language", 
    "name": "English"
  }, 
  "description": "<p>VirtuosoNext<sup>TM</sup> is a distributed real-time operating system (RTOS) featuring a generic programming model dubbed Interacting Entities. This paper focuses on these interactions, implemented as so-called Hubs. Hubs act as synchronisation and communication mechanisms between the application tasks and implement the services provided by the kernel as a kind of Guarded Protected Action with a well defined semantics. While the kernel provides the most basic services, each carefully designed, tested and optimised, tasks are limited to this handful of basic hubs, leaving the development of more complex mechanisms up to application specific implementations.</p>\n\n<p>In this work we investigate how to support a programming paradigm to compositionally build new services, using notions borrowed from the Reo coordination language, and relieving tasks from coordination aspects while delegating them to the hubs. We formalise the semantics of hubs using an automata model with notions of dataflow and time, identify the behaviour of existing hubs, and propose an approach to build new hubs by composing simpler ones. We also provide open-source tools and methods to analyse and verify hubs under our automata interpretation, including time-sensitive behaviour via the Uppaal model checker, usable on <a href=\"http://arcatools.org/hubs\">http://arcatools.org/hubs</a>. In a first experiment several hub interactions are combined into a single more complex hub, which raises the level of abstraction and contributes to a higher productivity for the programmer. We illustrate the proposed tools and methods by verifying key properties on different interaction scenarios between tasks and the specified hub. Finally, we investigate the impact on the performance by comparing different implementations on an embedded board.</p>", 
  "license": "https://creativecommons.org/licenses/by/4.0/legalcode", 
  "creator": [
    {
      "affiliation": "HASLab/INESC TEC, Universidade do Minho, Portugal", 
      "@id": "https://orcid.org/0000-0003-0006-6440", 
      "@type": "Person", 
      "name": "Cledou, Guillermina"
    }, 
    {
      "affiliation": "CISTER/ISEP & INESC-TEC, Porto, Portugal", 
      "@id": "https://orcid.org/0000-0003-0971-8919", 
      "@type": "Person", 
      "name": "Proen\u00e7a, Jos\u00e9"
    }, 
    {
      "affiliation": "Altreonic NV, Belgium", 
      "@type": "Person", 
      "name": "Sputh, Bernhard H.C."
    }, 
    {
      "affiliation": "Altreonic NV, Belgium", 
      "@type": "Person", 
      "name": "Verhulst, Eric"
    }
  ], 
  "headline": "Verification of Real-Time Coordination in VirtuosoNext (extended version)", 
  "image": "https://zenodo.org/static/img/logos/zenodo-gradient-round.svg", 
  "datePublished": "2020-05-08", 
  "url": "https://zenodo.org/record/3818020", 
  "keywords": [
    "Coordination", 
    "Timed automata", 
    "Uppaal", 
    "Real-time OS", 
    "Compositional semantics"
  ], 
  "@context": "https://schema.org/", 
  "identifier": "https://doi.org/10.5281/zenodo.3818020", 
  "@id": "https://doi.org/10.5281/zenodo.3818020", 
  "@type": "ScholarlyArticle", 
  "name": "Verification of Real-Time Coordination in VirtuosoNext (extended version)"
}
551
100
views
downloads
All versions This version
Views 551551
Downloads 100100
Data volume 141.4 MB141.4 MB
Unique views 539539
Unique downloads 9595

Share

Cite as