Results

Overview

The main outcome of the HEADS project is an Integrated Development Environment (IDE) supporting a domain specific modeling language and an operational methodology for specification, validation, deployment and evolution of software-intensive services distributed across the future computing continuum. The HEADS IDE allows modeling the behavior of a service in a homogeneous HEADS modeling language while allowing the implementation of the service to be distributed over heterogeneous networks and devices. The HEADS IDE is developed and released as open-source and extensible by a plugin mechanism and a framework to add support for additional platforms. Note that the HEADS IDE does not replace existing popular and widespread IDEs and frameworks, but will provide advanced support for making the necessary glue between all the distributed nodes, components, platforms and communication protocols and leverage a coherent seamless operational support for the largely distributed future computing continuum systems.

HEADS makes HD-Service development affordable and accessible to a wide range of industry domains. The project especially targets SMEs which typically do not have in-house knowledge of all the target platforms they would like to exploit within the future computing continuum. It also targets sectors for which a rapid innovation and release cycle is the key. Moreover, the emergence of the future computing continuum will impact end user requirements and transform business markets, this again require companies to evolve existing products and services to fully exploit this continuum. A main impact of HEADS is through provision of exploitable results to perform these tasks in an efficient and cost effective way.

Check out HEADS "Big Picture" in the following link: http://heads-project.eu/approach

Significant results

Use cases, implementation and validation

  • Finalized industrial use-cases.
  • Provided consolidated use case implementation applying and evaluating HEADS technologies.

Languages, models and tools for engineering HD-services

  • Framework to test the consistency of the different HEADS compilers (and each individual compiler). Additional test have been added to the suite. Java compiler and JavaScript compiler now passes 100% of the tests. C compiler now passes 97% of the tests.
  • Architecture for the HEADS code generation framework and implementation of a set of compilers:
    • JavaScript, with extensions targeting HEADS models@runtime platform, and NodeRED (work in progress)
    • Java, with extension targeting HEADS models@runtime platform
    • C (work in progress), with extensions targeting Linux, Arduino and ROS
    • UML, with automatic export of UML statecharts and component diagrams
  • Extension of the HEADS modelling language to support
    • Complex-Event Processing constructs, which simplifies the implementation of HD-services by automating some analysis
    • Advanced communication pattern, which simplifies the implementation of HD-services by automating some communication patterns which requires more that the default asynchronous fire-and-forget message passing semantics.
  • Organization of internal tutorials for "Use cases, requirements and validation" activities (and other partners) to get started with modeling languages and code-generation framework under "Languages, models and tools for engineering HD-services" activities.

Resource-constrained devices and networks

  • Definition of target groups for resource constrained devices. The groups Tiny, Small and Large are defined with specific requirements and design approach.
  • Integration with other technical activities. A design with console based task and channel management running on a Cypress dev kit has been presented at the ned of the first period. The console interface is now successfully integrated with "Methodology and tool integration" activities, where tasks and channels are controlled from their operation management scripts.
  • Integration of MQTT plugin to HEADS Framework. MQTT successfully integrated to Tellu use-case.

Cloud-based platforms for testing and data management

  • Docker container management from Kevoree
  • code generator testing framework using novelty search techniques
  • New Kevoree version to support heterogeneity within the same systems
  • Javasript platform to support Intel Edison devices.
  • First version of CEP recommender tool is available for simple CEP logic
  • CEP recommender tool integrated as Eclipse plugin into HEADS IDE
  • Views added to CEP recommender tool for nodes, operations, and recommendations

Methodology and tool integration

  • Second release of HEADS IDE
  • methodology seamless integration to HEADSIDE
  • New methodology based on JavaScript, TypeScript and Sintef Board Node to formalizes guidelines and best practices for the infrastructure experts
  • Improved version of the HEADS IDE continuous integration

Technical Work

The work carried in the technical work packages has focused on defining a common HEADS big picture which integrates the HEADS technical contributions into a common framework. The following figure presents the HEADS IDE components together with the main HEADS actors. The HEADS IDE includes two main parts: the design time tools in the top part of the figure and the runtime tools on the bottom part of the figure.

HEADS IDE Big Picture

The HEADS design time tools are integrated using the Eclipse platform and are based on the ThingML languages and tools developed by SINTEF.

The HEADS runtime is not dependent on any middleware or runtime platform but uses models@runtime technique to deploy and monitor the execution of an HD-Service on top of a heterogeneous and distributed infrastructure. The HEADS deployment and runtime tools are based on the Kevoree model@runtime platform developed by INRIA.

The HEADS IDE is meant to be used by the HD-Service developer and the HD-Service operator in order to create, deploy, monitor and evolve HD-Services. The distinction between the service developer and operator is that the developer is mainly concerned with the HEADS design time tools (based on ThingML) and the operator is mainly concerned with the HEADS runtime tools (based on Kevoree).

In addition, the HEADS IDE is meant to be extended by platform experts. The HEADS IDE is built as an open-source framework which has a set of extension points to support new platforms and communication channels. At this point, we have identified four extension points which are represented by yellow stars with numbers in previous figure. Each of these extension points allows supporting different aspects of a particular target platform. HEADS is focusing on how these extension points can be used to support resource-constrained devices and networks and at the same time extensions to support cloud based platforms.

Latest News

Tellu participating at Vitalis 2017

May 02

Tellu participated at Vitalis 2017 in Gothenburg, Sweden, on 25th-27th of April 2017.

TelluCloud innovation developed in the HEADS project at EC's stand in CEBIT 2017

Mar 20

We are very glad to announce that Tellu AS has officially been selected as one of the top inn

HEADS Safe@Home case study at Telenor EXPO

Dec 15

HEADS project consortium is setting up a stand of eHealth services related to the HEADS Safe@Home case study at...