Section: Software
ANR Open-PEOPLE platform
Participants : Sophie Alexandre, Kévin Roussel, Olivier Zendra.
The aim of Open-PEOPLE is to provide a platform for estimating and optimizing the power and energy consumption of systems (see the section about ANR Open-PEOPLE in this report for more details).
The Open-PEOPLE project formally started in April 2009. Two systems administrator and software developers have been hired: Sophie Alexandre and Kévin Roussel.
Since the beginning of the project, we have made significant progress in setting up the infrastructure for the software part of the platform, for which INRIA Nancy Grand Est is responsible.
Indeed, the ANR Open-PEOPLE project aims, amongst other objectives, at developing a software platform, using the Java programming language. These developments will follow the recommendations of the "agile software development" methodology. More specifically, a continuous integration system is installed in order to ensure the quality of the produced source code. This continuous integration system is based on the use of Subversion (SVN) as revision control tool and source code repository, and Hudson as continuous integration service (automated builds and tests).
As we defined during the Open-PEOPLE project's start specific requirements for our continuous integration system, in order to ensure a stronger quality by refusing commits that put the trunk into jeopardy, we developed plug-ins and scripts for the two aforementioned tools (SVN and Hudson) to tailor their features and operation to our needs.
The extension we developed thus adds the following features:
-
definition of "protected branch(es)" into the source repository
-
continuous control of the stability of the protected branch(es) by automated testing and code coverage checking
-
automatic "rewind" of the protected branch(es) to the latest known stable state, should a faulty commit be performed
-
lock mechanism to prevent commits from occurring while still testing a previous commit
We call this specific extension set for SVN and Hudson OPCIM (Open-PEOPLE Continuous Integration Mechanism). An APP release of OPCIM is ongoing.
A web site has also been set up to integrate the results provided by these tools and offer a privileged space for the project partners interactions.