Software of the Scale team

ProActive

1. ProActive before SCALE

ProActive (Proactive Parallel Suite) is a Java library (Source code under AGPL license) for parallel, distributed, and concurrent computing, also featuring mobility and security in a uniform framework. With a reduced set of simple primitives, ProActive provides a comprehensive API to simplify the programming of applications that are distributed on a Local Area Network (LAN), on cluster of workstations, Clouds, or on Internet Grids.

The library is based on an Active Object pattern that is a uniform way to encapsulate:

  • a remotely accessible object,
  • a thread,
  • a server of incoming requests,
  • a mobile and potentially secure agent.

ProActive is only made of standard Java classes, and requires no changes to the Java Virtual Machine, no preprocessing or compiler modification; programmers write standard Java code. Based on a simple Meta- Object Protocol, the library is itself extensible, making the system open for adaptations and optimisations. ProActive currently uses the RMI Java standard library as default portable transport layer, but others such as ssh, Globus, or HTTP can be used instead, in an adaptive way. ProActive supports for JMX and OSGi capabilities, web service object exposition, an SCA personality

ProActive management, distribution, support, and commercialisation is now ensured by the start-up company ActiveEon (http://www.activeeon.com). A professionally maintained version of the ProActive library can be found there.

2. ProActive for Multi-scale autonomic computing

The Scale team continues the development of an active-object middleware based on ProActive, we are particularly involved in two important extensions of the ProActive library:

  • Component composition of distributed applications: GCM/ProActive is a component middleware based on ProActive implementing the GCM component model with a particular focus on the support of the development and deployment of adaptative and autonomic component-based applications. Features supported:
    • componentized membranes with interceptor components
    • MAPE component framework
  • Multi-active objects: Multi-active objects (MAO) extend active objects with local multi-threading. We rely on declarative annotations for expressing potential concurrency between requests, allowing easy and high-level expression of concurrency. MAO reduce the number of deadlocks in active objects and make them adapted to multicore architectures. Features supported:
    • Annotation-based declaration of parallelizable services and local multi-threading.
    • Thread limit declaration and annotation-based priority declaration.

A repository containing the research branch of the ProActive middleware can be found there.



VerCors: VERification of models for distributed communicating COmponants, with safety and Security

Presentation

We are building a tool platform for the analysis and verification of safety and security properties of distributed applications. The central component of the platform is a method for generating finite models for distributed applications, for a set of (model driven) graphical editors.
We base the generation procedure on the strong semantic features provided by the GCM component model, and we generate compositional models using synchronised labelled transition systems. Various tools for static analysis, model checking, and equivalence checking can then operate on these models. One long term goal of this work is to integrate the various techniques and tools involved in this software platform, so that the platform can be integrated in a development environment, and used by non-specialists.

VCEv4 Download

Vercors Component Environment Installation Guide: VCE-v4

  1. Download and unzip Obeo Designer Community 8.x .
  2. Use Eclipse software installation manager to install VCEv4 on Obeo Designer from VCEv4 repository: http://vercors.gforge.inria.fr/repository/.

VCE-v4 tutorial and examples

The pdf version of the tutorial and examples can be found in our GitHub repository.


BtrPlace

Btrplace is a software for the placement of virtual machines. BtrPlace is available online under a LGPL licence (http ://www.btrplace.org) and under the pro- tection of the “Agence de Protection des Programmes”. It is documented, heavily tested, and regularly re- leased. These efforts started to pay as industrial companies learned about BtrPlace and try it. Their feed- backs first confirmed that flexibility matters. They also initiated new research opportunities. Currently, Btr- Place is downloaded around 1,000 times monthly from distinct IPs. It is officially used by the startup Onyx (http ://www.onyxplatform.org) to place peers doing data processing. It is also in the starting block for being used in production as a new scheduler for an international company that is leading the worldwide market of hyper-converged cloud platform.

see at http://www.btrplace.org/