Section: New Software and Platforms
Kevoree
Kevoree Core
Keywords: Cloud - Deployment - Embedded - Domotique - Heterogeneity - Software Components - Architecture - Software component - Dynamic adaptation - M2M - Dynamic deployment
Scientific Description
Kevoree is an open-source models@runtime platform (http://www.kevoree.org ) to properly support the dynamic adaptation of distributed systems. Models@runtime basically pushes the idea of reflection [132] one step further by considering the reflection layer as a real model that can be uncoupled from the running architecture (e.g. for reasoning, validation, and simulation purposes) and later automatically resynchronized with its running instance.
Kevoree has been influenced by previous work that we carried out in the DiVA project [132] and the Entimid project [135] . With Kevoree we push our vision of models@runtime [131] farther. In particular, Kevoree provides a proper support for distributed models@runtime. To this aim we introduced the Node concept to model the infrastructure topology and the Group concept to model semantics of inter node communication during synchronization of the reflection model among nodes. Kevoree includes a Channel concept to allow for multiple communication semantics between remoteComponents deployed on heterogeneous nodes. All Kevoree concepts (Component, Channel, Node, Group) obey the object type design pattern to separate deployment artifacts from running artifacts. Kevoree supports multiple kinds of very different execution node technology (e.g. Java, Android, MiniCloud, FreeBSD, Arduino, ...).
Kevoree is distributed under the terms of the LGPL open source license.
Main competitors:
the Fractal/Frascati eco-system (http://frascati.ow2.org ).
SpringSource Dynamic Module (http://spring.io/ )
GCM-Proactive (http://proactive.inria.fr/ )
OSGi (http://www.osgi.org)
Chef
Vagran (http://vagrantup.com/ )
Main innovative features:
distributed models@runtime platform (with a distributed reflection model and an extensible models@runtime dissemination set of strategies).
Support for heterogeneous node type (from Cyber Physical System with few resources until cloud computing infrastructure).
Fully automated provisioning model to correctly deploy software modules and their dependencies.
Communication and concurrency access between software modules expressed at the model level (not in the module implementation).
Impact:
Several tutorials and courses have been performed this year at EJCP for French PhD student, at ECNU summer school for 82 chineese PhD students. See also the web page http://www.kevoree.org .
In 2015, we mainly created a new implementation in C# and we created an implementation for system containers for driving resources using Kevoree. We also use Kevoree in the context of Mohammed's PhD to create testing infrastructure on-demand.
Functional Description
Kevoree is an open-source models@runtime platform to properly support the dynamic adaptation of distributed systems. Models@runtime basically pushes the idea of reflection one step further by considering the reflection layer as a real model that can be uncoupled from the running architecture (e.g. for reasoning, validation, and simulation purposes) and later automatically resynchronized with its running instance.
-
Participants: Jean Emile Dartois, Olivier Barais, Aymeric Hervieu, Johann Bourcier, Noel Plouzeau, Benoit Baudry, Maxime Tricoire, Jacky Bourgeois, Inti Gonzalez Herrera, Ivan Paez Anaya, Francisco Javier Acosta Padilla, Mohamed Boussaa and Manuel Leduc
-
URL: http://kevoree.org/