I have participated at different levels to a long series of collaborative projects, in the context of the Meije and Oasis teams. I give below a list of these projects, then I give a more complete description of the Fiacre and ReSeCo projects, that I have coordinated, as well as the ANR international project MCorePhP, that is the most significant of the current Oasis collaborations in terms of verification.
International : NSF-INRIA (1992, with a 7 month research visit at NCSU, Raleigh, USA), Associated Team Oscar (2004-2006, with Universidad de Chili, Santiago, participant then coordinator), Stic-Amsud ReSeCo (2006-2009, Chili, Uruguay, Argentina, coordinator), Stic-Asie Grids (2008-2010, Pakistan, China, participant).
Europe : Lotosphere (1989-1992, Esprit IP, task leader), Concur (Esprit BRA 1989-1990, resp. INRIA), Concur2 (Esprit Bra, 1991-1992, task leader), CoreGrid (FP6 NoE, 2005-2009, participant), GridComp (FP6 Strep, 2006-2009, partici- pant), NessiGrid (FP6 SSA, 2006-2008, INRIA representative).
France : ACI Fiacre (ACI S´ecurit´e, 2005-2007, coordinator), ANR MCorePhP (ANR Blanc International, avec Un. Tsinghua Pekin, 2010-2012, participant).
The FIACRE project
Type and Dates : French ACI S´ecurit´e, sep. 2005 - sep. 2007.
Title : Models and Tools for Safety and Security Analysis of Distributed Compo- nents and their Composition
Partners : INRIA Rhˆone-Alpes EPI Vasy, Feria- IRIT/LAAS, GET-ENST Paris My role : Creation, Coordination
Abstract
This project was launched with the ambition of strengthening the impact of distributed component based programming on software development methods. In order for this approach to fully work, while component libraries become available, it is necessary to be able to compose existing components into more complex ob- jects, and to guarantee that this composition will work correctly and fulfill its expected role. Classical, static interface typing does not allow to reach this goal. Gathering teams specialized in behavioural specifications of components, languages and models for distributed, mobile, and communicating application programming, and methods and tools for compositional verification, the goal of FIACRE was to design methods and tools for specification, model extraction, and verification of distributed, hierarchical, and communicating components. The project work-plan was articulated around the following axes :
– Definition of a specification formalism for component behaviours, which must be adapted to verify distributed applications and allow an easy translation into the low-level formalisms that are used for verification.
– Development of semi-automated procedures for the behavioural model ex- traction of distributed components.
– Efficient tools for the verification (either using temporal logic formulas, beha- vioural equivalences, or behavioural typing) of the hierarchical compositions of components from their behavioural specifications.
In particular, within the collaborative project Topcased, and now supported by national RNTL platform OpenEmbbed, the FIACRE partners have defined an in- termediate language for verification called Fiacre (“Format Interm´ediaire pour les Architectures de Composants R´epartis Embarqu´es”) based on our developments, and that is the central exchange format for the verification tools of the OpenEmb- bed platform [20].
The ReSeCo project
Type and Dates : Collaborative, Stic-Amsud, jan. 2007 - dec. 2009. Title : Reliability and Security of Distributed Software Components
Partners : Univ. De la Republica (Montevideo, Uruguay) ; FAMAF, Univ. De Cordoba (Argentine) ; Univ. De Chili (Santiago, Chili) ; Univ. Diego Portales (Santiago, Chili)
My role : Participation, then Coordination Abstract
The objective of the project ReSeCo (Reliability and Security of Distributed Software Components) is to investigate reliability and security in a computational model in which both the platform and applications are dynamic, so that incoming software, built from off-the-shelf components, may be destined to form part of the platform or to execute as a standard application. The concrete goals of the project include the development of mechanisms that help software developers build reliable software from of-the-shelf components, and of security infrastructures that guarantee end-users that the software they use is safe and secure .
The MCorePhP project
Type and Dates : ANR Blanc International, jan. 2010 - dec. 2012. Title : Multi-Core Parallel Heterogeneous Programming
My role : Scientific and Management Participation Partners : Tsinghua University (Pekin)
Abstract
In this MCorePHP project, we investigate certain methods and techniques that help simplify the parallel programming without sacrificing performance, in the main areas of scheduling, synchronization and proper use of the multi-core architecture features. Therefore, we need a safe, dependable, autonomic way of developing ap- plications on multi-core processors, but also on multilevel infrastructures including multi-core, clusters, and large scale grid/cloud resources. The partners will ensure the compatibility of the new programming model with the China Grid specifica- tions, and will assess the viability and efficiency of the approach on a large example from the area of bio-informatics.
At the semantic level, this project includes the development of a new program- ming model that contains information about the multilevel infrastructure, and provides users with a notion of multi-active object model. The idea is to allow some restricted form of sharing between activities that run in cores accessing a common memory, without unleashing the complexity of standard shared-memory
9. Annexes
models. Sharing information comes in the form of user-defined annotations ex- pressing the set of resources used by each method. This information is then used, together with information of the mapping of active object onto cores, statically or at run-time. This model will have some impact on the behavioural model used for verification : we need to modify and extend our models to take into account this new information, and the constraints on concurrency that are implied.