Section: Software and Platforms

HLCMi, L2C, & Gluon++

Participants : Zhengxiong Hou, Vincent Lanore, Christian Perez [correspondant] .

HLCMi (http://hlcm.gforge.inria.fr ) is an implementation of the HLCM component model. HLCM is a generic extensible component model with respect to component implementations and interaction concerns. Moreover, HLCM is abstract; it is its specialization—such as HLCM /L2C—that defines the primitive elements of the model, such as the primitive components and the primitive interactions.

HLCMi is making use of Model-driven Engineering (MDE) methodology to generate a concrete assembly from an high level description. It is based on the Eclipse Modeling Framework (EMF). HLCMi contains 700 Emfatic lines to describe its models and 7000 JAVA lines for utility and model transformation purposes. HLCMi is a general framework that supports several HLCM specializations: HLCM /CCM , HLCM /JAVA, HLCM /L2C and HLCM /Charm++ (known as Gluon++).

L2C (http://hlcm.gforge.inria.fr ) is a Low Level Component model implementation targeting at use-cases where overhead matters such as High-Performance Computing. L2C does not offer network transparency neither language transparency. Instead, L2C lets the user choose between various kinds of interactions between components, some with ultra low overhead and others that support network transport. L2C is extensible as additional interaction kinds can be added quite easily. L2C currently supports C++, FORTRAN 2013, MPI and CORBA interactions.

Gluon++(http://hlcm.gforge.inria.fr ) is a thin component model layer added on top of Charm++ (http://charm.cs.uiuc.edu/ ). It defines chare components as a Charm++ chare with minimal metadata, C++ components as a C++ class with minimal metadata, (asynchronous) entry method calls between components, and plain C++ method calls between components.

L2C and Gluon++ are implemented in the LLCMc++ framework (http://hlcm.gforge.inria.fr ). It is distributed under a LGPL licence and represents 6400 lines of C++.