Olivier Berger
email: olivier.berger@telecom-sudparis.eu

Christian Bac
email: christian.bac@telecom-sudparis.eu

Authoritative Linked Data descriptions of Debian source packages using ADMS.SW

Keywords: ADMS.SW, Debian, Linked Data, package, Semantic Web, standard, interoperability, Open Source, Free Software, RDF, DOAP, PTS, FLOSS

The Debian Package Tracking System is a Web dashboard for Debian contributors and advanced users. This central tool publishes the status of subsequent releases of source packages in the Debian distribution. It has been improved to generate RDF meta-data documenting the source packages, their releases and links to other packaging artifacts, using the ADMS.SW 1.0 model. This constitutes an authoritative source of machine-readable Debian "facts" and proposes a reference URI naming scheme for Linked Data resources about Debian packages. This should enable the interlinking of these Debian package descriptions with other ADMS.SW or DOAP descriptions of FLOSS projects available on the Semantic Web also using Linked Data principles. This will be particularly interesting for traceability with upstream projects whose releases are packaged in Debian, derivative distributions reusing Debian source packages, or with other FLOSS distributions.

Introduction

Asset Description Metadata Schema for Software (ADMS.SW) is a novel ontology developped for describing software packages, releases and projects, which can be applied to describe packages in a Free, Libre and Open Source Software (FLOSS) distribution, using Semantic Web techniques. We consider it is a foundational component that will allow to conduct future Quality Assurance or other large scale FLOSS studies across the Linked Open Data cloud [START_REF] Bizer | Linked Data -The Story So Far[END_REF].

FLOSS software ecosystems are composed of many different actors collaborating around single programs, from original upstream authors to downstream packagers in distributions like Debian. Descriptions of FLOSS development artifacts made with standardized and semantic formats like ADMS.SW can help trace some of the process which generally happen in various venues across the ecosystem.

1.1 The Need for Linked Data Descriptions of FLOSS Constructing models of interactions happening along the FLOSS production lines can be interesting, both for researchers and practitioners. Research in empirical software engineering can for instance involve studies conducted by modeling properties and relations between FLOSS production artifacts and actors.

The Semantic Web techniques bring key benefits in terms of semantic interoperability : using a W3C standard like RDF [START_REF] Lassila | Resource description framework (RDF) model and syntax specification[END_REF] which is natively extensible helps integrate potentially incoherent data, which fits quite well large scale problems. The size of the communities and diversity of actors and tools present in large FLOSS ecosystems qualify well for such an approach [START_REF] Howison | Cross-repository data linking with RDF and OWL: Towards common ontologies for representing FLOSS data[END_REF].

The Linked Data approach [START_REF] Bizer | Linked Data -The Story So Far[END_REF], can be very convenient to interlink resources representing actors or artifacts belonging to different projects described with RDF. It will allow researchers to integrate in the same "triple store" database, description of FLOSS artifacts or actors with variable structures, still relying on common semantics and a harmonized URI nomenclature that reflects the origin of these resources.

But for FLOSS developers alike, these semantic Web Techniques should offer potential interesting applications, in particular to create new global services that need to interconnect different heterogenous project tools [START_REF] Berger | Weaving a semantic web across OSS repositories: Unleashing a new potential for academia and practice[END_REF]. As an illustration, we can imagine a new "global bug tracking system" that aims at correlating similar bug reports filed in different Linux distributions. It can be helpful to offer better support responses, allowing navigation between reports which may have been related to each-other previously. Such a system will require to interface to lots of different bugtracker APIs. Whereas standards like Open Services for Lifecycle Collaboration (OSLC) [START_REF] Berger | Introducing OSLC, an open standard for interoperability of open source development tools[END_REF] (which rely on extensible semantic formats based on RDF and REST 1 APIs) can help solve some concrete interoperability issues, they only address parts of the problems (and their deployment is not yet spectacular among FLOSS project). Actually, even once semantically compatible data has been collected, it must be integrated in a coherent data store. And therefore, nomenclature, freshness and accuracy issues still represent interesting challenges. Addressing them is a foundational requirement for large scale applications described above.

Authoritative Linked Data Descriptors Produced by FLOSS Projects

We postulate that there are higher chances that meta-data is more accurate and up-to-date when it is produced closest to the very heart of the FLOSS projects, than obtained after a series of collection and conversion activities conducted by third parties. Thus, with the Linked Data principles in mind2 , significant artifacts produced by FLOSS projects ought to be complemented with metadata available at the very same Web domains, as a minimal set of authoritative RDF resources. URIs naming these resources can then be rooted at the project's domain name, and serve to identify its artifacts unambiguously.

As an illustration, Semantic Web resources describing projects from the Apache foundation would be downloaded from RDF documents available on http://projects.apache.org/ which would identify them for instance with URIs like <http://PROJNAME.apache.org/> (or a variant, like <http://PROJNAME.apache.org/doap#project>) 3 . Thus, in the description of the Debian packaging the Apache geronimo program, we could reference its upstream project (from Debian's point of view) as the RDF resource <http://geronimo.apache.org/>.

Our initiative, coupled with other previous and current efforts, will hopefully help achieve a state when almost every FLOSS project are able to publish on their Web sites or development forges, even minimal, but authoritative Linked Data descriptions of the project or its software artifacts, either as Descriptions Of A Project (DOAP) [START_REF] Dumbill | Decentralizing software project registries with DOAP[END_REF] or ADMS.SW.

Goal and Structure of this Paper

This paper will introduce a Linked Data interface based on ADMS.SW, which was deployed on the Debian Package Tracking System (PTS), that produces authoritative meta-data descriptions for the core artifacts produced by the Debian project: source packages.

Due to Debian's respected position in the FLOSS ecosystem, such a deployment already covers a great percentage of all FLOSS programs, and can thus be inspirational for many FLOSS projects.

In section 2, we introduce the ADMS.SW specification. Then a brief introduction to the structure of Debian source packages is provided in section 3. Section 4 documents the choices adopted for generating Linked Data representations of Debian source packages and related FLOSS artifacts in the Debian PTS. Section 5 presents a quick review of similar and complementary initiatives, while section 6 illustrates how a trivial project matching can be made with collected Linked Data descriptions.

The ADMS.SW Specification

The Asset Description Metadata Schema for Software (ADMS.SW) specification4 is described as : "[. . . ] a metadata vocabulary to describe software making it possible to more easily explore, find, and link software on the Web."

It is an outcome of the ISA programme (Interoperability Solutions for European Public Administrations) of the European Commission, elaborated by a working group of software catalogues and forges experts5 . Although it is not specifically covering FLOSS software only, ADMS.SW has nevertheless been geared at addressing meta-data of FLOSS projects hosted in public development forges to facilitate their identification and reuse by Public Administrations.

ADMS.SW specifications are published with a complementary OWL ontology, referenced as http://purl.org/adms/sw/, to allow the publishing of such meta-data as RDF.

As illustrated in Figure 1, it provides three main entities : Software Project, Software Release, and Software Package to model meta-data about software programs, their versions, and the distribution archives of these.

But it also contains various elements related to Software Repositories descriptions in order to facilitate the maintenance of data managed by software catalogues (provenance, timestamping, etc.), based on the RADion common model of ADMS, which describes generic semantic assets.

ADMS.SW 1.0 reuses existing specifications and standards, such as Dublin Core [START_REF] Stuart | Dublin core metadata for resource discovery[END_REF], DOAP [START_REF] Dumbill | Decentralizing software project registries with DOAP[END_REF], SPDX™ [START_REF]Software Package Data eXchange specification[END_REF], ISO 19770-2 [8], ADMS [START_REF][END_REF], and the "Sourceforge Trove software map"6 . As DOAP is already widely used in practice, ADMS.SW reuses much of its properties. ADMS.SW is also interoperable with the SPDX specification, whose main object, to date, is the description of copyright and license conditions applying to particular software packages or source files.

Debian Source Packages

The Debian project7 creates a Free Software distribution, which contains thousands of FLOSS binary packages ready to be installed on various computer architectures. Several versions of the Debian distribution are maintained in parallel, in three main suites : 'stable', 'testing' and 'unstable'.

Debian has been studied by many authors, as it represents a good proxy for the entire FLOSS ecosystem, due to the high number of packages it contains, and since its development and Quality Assurance (QA) infrastructure is generally open or easily accessible to researchers in empirical software engineering (see for instance [START_REF] Gonzalez-Barahona | German. Macro-level software evolution: a case study of a large software compilation[END_REF] or [START_REF] Gabriella | Coding Freedom: The Ethics and Aesthetics of Hacking[END_REF]).

Structure of Debian Source Packages

Each binary package is actually built from a particular Debian source package. Source packages contain "Makefiles" for package generation, control files containing different meta-data like versions or package dependency descriptions, and other scripts necessary for installation, configuration, upgrade or removal of the binary packages [START_REF] Jackson | Debian policy manual. version 3.9.4[END_REF]. In addition, it is quite common to include patches applying to the source code of the packaged program, to adjust it to Debian specificities or to include security fixes backported from later upstream releases.

Each revision of a Debian source package is then generally composed of two file archives : one for the source code of the upstream version of the packaged program (ending in .orig.tar.gz), complemented by another one for these Debian specific files (ending in .debian.tar.gz)8 . Only the latter Debian specific files archive, and associate meta-data descriptors change between subsequent revisions of Debian source packages of the same version of an upstream program.

The Debian Package Tracking System

For every Debian source package, the Debian Package Tracking System (PTS) provides a Web dashboard (see a screenshot9 in Figure 2) which displays almost all there is to know about the status of that package [START_REF] Michlmayr | Managing debian. AUUGN[END_REF].

However, its HTML pages are not really exploitable by machines in a direct form, should anyone need to interface the Debian QA system with other services. One such need seems quite obvious for derivative distributions constructed from Debian, like Ubuntu. Therefore, the PTS provides a custom SOAP interface 10 , but the lack of standard representation of data retrieved from this API may require another ad-hoc converter to be added to every application wishing to interface with it.

As an alternative, we have started implementing a Linked Data [START_REF] Bizer | Linked Data -The Story So Far[END_REF] interface for the Debian PTS, using the ADMS.SW ontology to represent Debian source package facts with the standard, thus interoperable, RDF model.

Linked Data Representation of Debian Source Packages

We have improved the Debian PTS to add the generation of RDF descriptions for all Debian source packages.

Every Debian source package, which used to have an HTML page accessible at a URL like http://packages.qa.debian.org/apache2, now has a corresponding RDF document available at the same URL, either as Turtle [START_REF] Beckett | Turtle -terse RDF triple language[END_REF] or RDF/XML format. Applying a common Linked Data pattern, HTTP clients will be redirected automatically to the proper HTML or RDF document depending on the content-type that is requested by the HTTP client, so that the same URL can be used to represent both the human-readable HTML pages or the machine-processable RDF document.

Thus, each package in Debian can be identified on the Semantic Web with a unique URI like http://packages.qa.debian.org/SRC-PKG-NAME, which is dereferenceable as an RDF document. The example in Listing 1 is an excerpt of such an RDF description, in Turtle, of a particular revision of the Debian source package for apache2. Note that URIs based on http://packages.qa.debian.org/ are converted to http://p.q.d.o/ for brievity in the rest of this section.

Modelling Debian Source Packages with ADMS.SW

This section presents the modelling choices adopted so that every Debian source package can be modeled as interlinked RDF resources. The version numbers reflected in the resource URIs or file names below respect the Debian package versions numbering convention 11 .

Figure 3 represents the main resources produced by the PTS for a particular release of the apache2 Debian source package, as found in http://packages.qa.debian.org/a/apache2.ttl (in grey, the "upstream"related resources).

Every source package has a corresponding source packaging project SoftwareProject resource, named <http://p.q.d.o/SRC-PKG-NAME#project>. The different resource URIs which will be expressed below will be fragments to this base URI. Revisions of this source package have corresponding SoftwareRelease resources, named as <#SRC-PKG-NAME_DEB-PKG-VERS>. Only one of these (the "latest" one known by the PTS) is fully described as containing (includedAsset) two sub SoftwareReleases :

-one sub SoftwareRelease for the upstream program's version, named <#upstreamsrc_UPSTR-VERS>. It comes with additional resources for all archive files of the upstream sources as SoftwarePackages (typically named like <#SRC-PKG-NAME_UPSTR-VERS.orig.tar.gz>); Also produced is one SoftwareProject resource for the upstream project, named <#upstream> whith its doap:homepage, if it's known by the PTS (which means it has been documented by the Debian packager appropriately).

Additional complementary resources are produced, and all resources have RDF properties (as mandated in ADMS.SW, mainly reused from DOAP or Dublin Core), all of which it is useless to describe here in detail.

Deployment on debian.org

The authors have deployed the XSLT stylesheets generating these RDF documents on the PTS service of the Debian project 12 . Alongside the HTML pages of the PTS, the RDF descriptions of Debian source packages are thus refreshed every time new revisions will appear in the Debian archive.

A full RDF dump of all the meta-data is also available to Debian project members 13 . It contains around 2.1 million triples at the time of writing.

Complementary Efforts

In this section, we present a few complementary initiatives which describe software packages with RDF vocabularies, using DOAP or ADMS.SW and which could be interesting for interoperability with the Debian PTS.

DOAP Published by FLOSS Directories

A number of projects maintain public DOAP descriptions of their programs, or other RDF descriptions of meta-data about the releases they produce. They may be interested in complementing descriptions with ADMS.SW, or could offer sources of descriptions that could be interlinked with the ones produced by the Debian PTS.

A quick survey conducted by the authors showed the following sources14 :

-Gnome project -Apache project -PyPI (Python Package Index) directory -CPAN (Comprehensive Perl Archive Network) directory

Listing 2 shows an excerpt of the DOAP description of the Apache Geronimo project as published by this project 15 , and converted to Turtle for readability.

A quick review of samples from these sources showed a lack of consensus on the use of certain meta-data, and that URIs adopted to reference the same projects or programs tend to vary, even for doap:homepage URLs (a great portion of these documents are manually crafted, or projects may have various pages that can be considered their homepage, in particular when the project is not hosted on its own top level domain).

Projects Hosted on FusionForge Forges

An ADMS.SW plugin for the FusionForge 5.2 software development forge has also been created by one of the authors 16 , in order to allow the description of projects hosted on FusionForge based development forges. It may be complemented by another FusionForge plugin providing FOAF profiles [START_REF] Graves | FOAF: Connecting People on the Semantic Web[END_REF] for project participants, which can enrich the Linked Data representations.

The plugin is still under active development, and targetted at a post 5.2 release of FusionForge, so it will take a certain time until it is deployed on public forges hosting FLOSS projects17 .

Consuming ADMS.SW in the Joinup Portal

The Joinup portal18 of the ISA programme aims at integrating in a single portal FLOSS descriptions available from different Public Administration forges, by harvesting descriptions of projects directly in their development project spaces, as ADMS.SW descriptions 19 .

Whereas the current version of Joinup doesn't rely on Semantic Web techniques for collection of the projects descriptions, it is expected to be improved to evolve towards ADMS.SW consuming in the future. FLOSS Project descriptions would then complement other Semantic Assets (standards, documentation) catalogued and made available on the reference portal at Joinup as semantic assets expressed with the ADMS vocabulary.

Interlinked Developer Profiles

Project descriptions aren't the only resources that can be interlinked across the FLOSS ecosystem. Iqbal shows in [START_REF] Iqbal | Integrating developer-related information across open source repositories[END_REF] how developer profiles can also be converted to RDF and interlinked to create a more comprehensive view of the developer communities around a project, for instance. This approach usually involves mining repositories or social sites through custom interfaces (via SOAP for instance), and later converting to RDF. But we believe there would be a great benefit in avoiding such potentially error-prone conversions if development platforms would natively produce DOAP/ADMS.SW (or FOAF) descriptions "out of the box", as explained above. An alternate matching method could be based on project name litterals, but that isn't always feasable either, due to homonimy for instance. One will refer to [START_REF] Squire | Integrating projects from multiple open source code forges[END_REF] for an analysis of this problem.

The distromatch project 21 , started in 2011, intended to try and help solve these project/packages matching issues, although it is unfortunately not maintained anymore at the time of writing.

In any case, this first quick proof of concept allows us to plan further developments based on such meta-data, which will be tested on real life cases, for instance in constructing RDF harvesters and meta-data aggregators, and eventually merging with initiatives like distromatch.

Large Scale Perspective

The RDF-ization of the Debian PTS has just started. Next steps will include modelling of relations between source and binary packages. These will probably require extending ADMS.SW or integrating complementary ontologies.

When deployments of ADMS.SW have been made on software forges (like FusionForge servers), software catalogues (like Joinup) or in other FLOSS distributions, it will become one of the tools allowing automated traceability at large scale of FLOSS releases and associated artefacts, by interlinking their Linked Data resources. Some interlinking of security advisories, patches, or bug reports (for instance combined with the OSLC-CM standard 22 ) should then be easier, and diminish manual intervention needs, for the benefits of all actors along the FLOSS production chains.

Future Developments

We believe the current early result can be a driving force for more deployments around ADMS.SW as a standardization core. However there seems to be a reluctance in adopting RDF in FLOSS projects, to some extent, maybe linked to an erronous perception that RDF must be expressed as XML (which is certainly not the case, with representations of the RDF model like Turtle [START_REF] Beckett | Turtle -terse RDF triple language[END_REF], which has been adopted as a default for the Debian PTS).

We can foresee that when novel inter-project "killer" applications making use of such Linked Data will have been developed, will it be possible to convince FLOSS projects that adoption of Linked Data standards descriptions can really be for their own benefit.

It is likely that even when lots of Linked Data descriptions of FLOSS artifacts are made available by major FLOSS projects, achieving effective interoperability will require many implementation efforts, far beyond a single actor's reach. More standardisation will be needed, and services will have to be provided to establish trusted reference catalogues of Semantic project descriptors (in the direction set by Joinup of the distromatch project for instance). Such actors would provide FLOSS "semantic hubs", or project matching "brokers" which could maintain reference interlinking relations for the concurrent Semantic descriptions which were produced in the many venues of the FLOSS ecosystem.

Conclusion

We have presented a first significant deployment of an ADMS.SW 1.0 implementation, which illustrates the potential for interlinking large sets of FLOSS project descriptions on the Semantic Web. ADMS.SW allows us to describe relations between projects, programs and their releases so that such entities become part of the Linked Open Data "cloud".

In [START_REF] Berger | Weaving a semantic web across OSS repositories: Unleashing a new potential for academia and practice[END_REF], we envisioned some novel uses of Linked Data representations of FLOSS development artefacts, both for software engineers and researchers observing their efforts. But to achieve the full potential of that approach, the Linked Data representations must be semantically interoperable, authoritative, accurate, and using standard naming schemes for the same resources. We have achieved a first concrete step in this direction, through the current results for the Debian PTS.

The way we did it for the Debian PTS can be inspirational for other FLOSS distributions, either independant, or derived from Debian. By integrating such meta-data generation in the heart of the technical infrastructure of Debian, we hope to establish such an authoritative reference for Debian source packages identification on the Semantic Web.

Fig. 1 .

 1 Fig. 1. Simplified UML diagram of the main ADMS.SW entities

Fig. 2 .

 2 Fig. 2. Apache 2 source package status in the Debian PTS

Fig. 3 .

 3 Fig. 3. Relations between resources produced for release 2.2.22-11 of the Debian apache2 source package

@Listing 2 .

 2 prefix d o a p : <h t t p : // u s e f u l i n c . com/ ns / doap#> . <h t t p : // g e r o n i m o . apache . o r g /> a d o a p : P r o j e c t . doap:name "Apache␣Geronimo"@en ; doap:shortdesc " Java ␣EE␣ A p p l i c a t i o n ␣ S e r v e r "@en ; doap:description "Apache␣Geronimo␣ i s ␣an␣ open ␣ s o u r c e ␣ s e r v e r ␣ runtime ␣ [ . . . ] . "@en ; doap:homepage <h t t p : // g e r o n i m o . apache . o r g> ; d o a p : l i c e n s e <h t t p : // u s e f u l i n c . com/ doap / l i c e n s e s / a s l 2 0> ; Excerpt from the RDF description of the Apache geronimo project

  21 http://www.enricozini.org/2011/debian/distromatch/ 22 http://open-services.net/wiki/change-management/

  <h t t p : // p . q . d . o / a p ac h e2#apache2_2 . 2 . 2 2 -1 2> a admssw:SoftwareRelease ; r d f s : l a b e l " apache2 ␣ 2.2.22 -12 " ; dcterms:description " Debian ␣ apache2 ␣ s o u r c e ␣ p ac ka ge ␣ v e r s i o n ␣ 2.2.22 -12 " ; d oa p: re vi si on " 2.2.22 -12 " ; dcterms:publisher <h t t p : // d e b i a n . o r g /> ; admssw:status <h t t p : // p . q . d . o/# r e l e a s e d> ; admssw:project <h t t p : // p . q . d . o / a p ac h e2#p r o j e c t> ; admssw:includedAsset <h t t p : // p . q . d . o / a p ac h e2#u p s t r e a m s r c _ 2 . 2 . 2 2> ; admssw:includedAsset <h t t p : // p . q . d . o / a p ac h e2#d e b i a n s r c _ 2 . 2 . 2 2 -1 2> ; admssw:package <h t t p : // p . q . d . o / a p ac h e2#apache2_2 . 2 . 2 2 -1 2 . d s c> ; d c t e r m s : r e l a t i o n < h t t p s : // l a u n c h p a d . n e t / ubuntu/+ s o u r c e / ap a ch e2 / 2 . 2 . 2 2 -6 ubuntu4> .

	Listing 1. RDF description available at
	http://packages.qa.debian.org/a/apache2.ttl of revision 12 of the source package for
	apache2 version 2.2.22

Table 1 .

 1 Matching upstream project homepages with Debian source packages'

	dp	h	ap
	ivy	ant.a.o/ivy/	ant.a.o/ivy/
	apr	apr.a.o/	apr.a.o/
	apr-util	apr.a.o/	apr.a.o/
	libcommons-cli-java	commons.a.o/cli/	commons.a.o/cli/
	libcommons-codec-java	commons.a.o/codec/	commons.a.o/codec/
	libcommons-collections3-java commons.a.o/collections/ commons.a.o/collections/
	libcommons-collections-java commons.a.o/collections/ commons.a.o/collections/
	commons-daemon	commons.a.o/daemon/	commons.a.o/daemon/
	libcommons-discovery-java	commons.a.o/discovery/ commons.a.o/discovery/
	libcommons-el-java	commons.a.o/el/	commons.a.o/el/
	libcommons-fileupload-java commons.a.o/fileupload/ commons.a.o/fileupload/
	commons-io	commons.a.o/io/	commons.a.o/io/
	commons-jci	commons.a.o/jci/	commons.a.o/jci/
	libcommons-launcher-java	commons.a.o/launcher/ commons.a.o/launcher/
	. . .	. . .	. . .

http://www.w3.org/DesignIssues/LinkedData.html

There's actually a DOAP description for Geronimo, linked from http://projects. apache.org/projects/geronimo.html -see 5.1

https://joinup.ec.europa.eu/asset/adms_foss/release/release100

one of the authors was an active member of the working group.

http://sourceforge.net/apps/trac/sourceforge/wiki/Software Map and Trove

http://debian.org/

as an exception to this general rule, some packages, which are called "native packages", don't have a corresponding upstream project outside Debian and only have Debian specific files.

[START_REF]Software Package Data eXchange specification[END_REF] taken from http://packages.qa.debian.org/a/apache2.html

http://wiki.debian.org/qa.debian.org/pts/SoapInterface

as a short rule, the Debian package revision M of version N of an upstream program P is identified in file names as P_N-M.

see : http://packages.qa.debian.org/common/RDF.html

on packages.qa.debian.org:/srv/packages.qa.debian.org/www/web/full-dump.rdf

these are maintained in https://github.com/edumbill/doap/wiki/Sites

downloaded from http://svn.apache.org/repos/asf/geronimo/site/trunk/ doap_Geronimo.rdf

http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/ ADMS.SW_Plugin

like Debian's own Alioth forge operated by FusionForge at http://alioth.debian. org/

http://joinup.ec.europa.eu/

more details at https://joinup.ec.europa.eu/software/federated_forge

collected from projects.apache.org (see http://projects.apache.org/docs/ index.html)

Applications

As with every Linked (Open) Data initiatives, the use of standard representations and their availability on the Semantic Web can lead to lots of different uses.

An obvious case of using such ADMS.SW description of Debian source package is the matching of Debian packages with other packages/projects described in their respective projects directories, allowing more interlinking of resources.

Matching Projects / Software Across Repositories

The doap:homepage of the "upstream" SoftwareProject resources generated by the Debian PTS can be an obvious matching key, provided that one has a database of upstream project descriptions (as DOAP [START_REF] Dumbill | Decentralizing software project registries with DOAP[END_REF]).

As an illustration, we demonstrate this by loading DOAP descriptions of projects of the Apache foundation 20 , together with a dump of the Debian source package descriptions in a single triple store (virtuoso). The example SPARQL query in Listing 3 shows how to query for such matches between Debian and Apache.

Such a query currently returns 62 matched source packages and Apache upstream projects (see an excerpt in table 1, where URLs have been compacted for brievity).

But the reliability of this matching method isn't very good in practice. There may be many more Apache foundation projects packaged in Debian, but the maintainers may have forgotten to add a homepage link in the package descriptors. Or the URLs mentioned may not be matching, as project homepage naming conventions can vary (and evolve in time).


Niki Baccile

Julien Reboul

Béatrice Blanc

Bernard Coq

Patrick Lacroix-Desmazes

Martin In

Corine Gérardin
email: corine.gerardin@enscm.fr

J N Baccile

B Reboul

P Coq

C Lacroix-Desmazes

Gérardin

P Dieudonné

Plinio Innocenzi

Ecodesign of Ordered Mesoporous Materials Obtained with Switchable Micellar Assemblies**

The synergetic coupling between sol-gel chemistry and supramolecular assemblies of amphiphilic molecules results in ordered nanostructured hybrid materials. These hybrid nanostructures are precursors of the so-called mesoporous materials exhibiting highly ordered porosity useful in separation, catalysis, drug release. In the past decade, a large set of functional mesoporous materials shaped as monoliths, thin films or powders have been synthesized. However, many of them remain within the academic field because some of their limitations effectively close the door to the real market, among them: cost, unsustainable solvents, energyconsuming process, toxicity of some structure-directing agents and their non-recyclability. Herein, we describe an innovative green strategy for preparing ordered mesoporous materials in water at room temperature, allowing an eco-recycling of the template. We use, as new structuring agents, water-soluble block copolymers whose micellar assembly can be reversibly tuned and triggered in water by physico-chemical parameters (pH, temperature…). The possible disassembling of the embedded "smart" micelles in aqueous solution generates porosity and releases the micelle components for further structuring runs. This report paves the way to the one-pot synthesis of ordered mesoporous materials under sustainable conditions. The synthesis process of nanostructured inorganic materials can be developed in water as a continuous process using recyclable structuring agents.

The synthesis of long-range ordered nanoscale structured materials and ordered mesoporous materials (OMM) was strongly developed in the past 15 years due to the exploitation of amphiphilic properties of some molecules [1,2,3,4] with a lyotropic character and behaving as structuring directing agents (SDA). The success of these materials is due to their easy shaping (powders, thin films, monoliths), the wide chemical compositions of the inorganic frameworks and, after removal of the SDA, the high specific surface areas, as well as the controlled pore size distribution and geometry [5] . Easy surface modification also contributed to their success. These features have made them very interesting materials for applications in adsorption, catalysis, sensing or as host materials for drugs [6] .

In spite of several hundreds of recent reports, which emphasize the fascinating potentialities of OMM, the implementation at a large-scale production remains limited. The first and main reason stands in the production cost of the porous materials associated with the current synthesis developed until now. It was indeed recently shown in the final report of a EU funded project [START_REF]INORGPOR[END_REF] that over 80% of the final cost of OMM comes from the energy demand associated with the calcination step of the structure directing agent (SDA) for porosity liberation, the SDA being moreover lost. For this reason, washing in organic solvents (methanol or ethanol) [8] and very seldom in water at reflux has become an interesting alternative route. Nevertheless, the efficiency of the process depends on the used SDA [9,10] . Alternative physical methods (use of ozone, CO2 extraction) have been proposed [11,12,13] but the required equipment and effort overwhelm the real benefits. In all cases, a multi-step approach from the synthesis of the material to the creation of open porosity is always followed.

A question arises: is there any strategy allowing a one-pot process for achieving structured material synthesis and pore formation? This task is challenging and the first report where such an idea was considered appeared only recently in the field of microporous zeolite materials [14] ,

where covalent bonds of the single-molecule SDA were chemically broken yielding two separate smaller entities, which could then be released from the microporous structure. Recycling of the SDA after re-formation of the broken bonds was proved to be successful. Supramolecular assemblies from π-π interactions were also used as SDA for the synthesis of Linde type Azeolites, but the recovery of the SDA was impossible [15] . To obtain mesoporous materials, the authors generally try to develop new ways [14,15] of structuring solids but, in the reported studies [16,17,18,19] , low-cost sustainable methods are hardly proposed. In addition, there are environmental concerns over the realization of these methods, e.g. use of hot HCl solution, as in ref. 14. For the first time, an eco-design for preparing ordered mesoporous materials is proposed: a one-pot process in water, at room temperature and mild pH is proposed here for structuring inorganic materials and creating porosity by means of smart micellar assemblies of water-soluble block copolymers. Micellization of hydrophilic block copolymers and, more specifically, double-hydrophilic block copolymers (DHBC) [START_REF] Eagland | Solution properties of water-soluble polymers[END_REF][21][22][23][24][25][26][27][28][29] can in fact be easily triggered in water by changing simple physico-chemical parameters, like pH, temperature or ionic strength.

Furthermore, micellization can be reversible in the same aqueous synthesis batch leading to the possible disassembling of the structuring agent. The latter process leads to porosity formation in the material and it makes the building units of the SDA available for further synthesis runs. Thus, this process allows SDA recycling in water under sustainable conditions due to the non-toxicity of initial components (e.g. polysaccharides) and solvent (water) and to the low-energy interactions (electrostatic, Van der Waals) involved in the reversible micellar assembling process.

The present energy-and atom-saving methodology that we propose is schematized in Figure 1.

Hence the present report proposes three main innovating points: Firstly, ordered nanostructured materials can be prepared by using smart micellar aggregates of stimuli-responsive DHBC as new structuring agents. Secondly, the SDA can be driven out by a simple washing step in water at room temperature at a well-chosen nearly neutral pH; porosity is then created. Thirdly, based on the two first points, a continuous one-pot process can be developed, it allows synthesizing a nanostructured material, washing to yield the corresponding mesoporous material, and recycling of the SDA in order to prepare a new porous solid within the same batch.

The feasibility of our strategy is demonstrated here by structuring silica at room temperature using reversible pH-responding micellar aggregates. As a proof-of-concept, we prepared mesostructured silica-based materials by templating with micelles of poly(ethyleneoxide)-blockpoly(methacrylic acid), PEO-b-PMAA, or poly(ethyleneoxide)-block-poly(acrylic acid), PEO-b-PAA block copolymers, and an oligochitosan lactate (OCL) as a co-micellization agent. Block copolymers are now easily available at the bench scale thanks to the development of various controlled radical polymerization methods, some of them being developed at an industrial scale. [30][31][32] Micellization of the present polyelectrolyte-neutral DHBCs is induced by electrostatic complexation of the oppositely charged macroion. Herein, double hydrophilic polyacid-neutral block copolymers [START_REF] Eagland | Solution properties of water-soluble polymers[END_REF]21,22] are used in the presence of a weak polybase. Formation of an electrostatic complex between the two oppositely charged polyions leads to the formation of core-corona aggregates with a water-insoluble complex core and a water-soluble corona.

Formation of the micellar aggregates can be driven by the pH since the charges of the polyacid and polybase blocks are pH-dependent. Micellization of DHBC [START_REF] Eagland | Solution properties of water-soluble polymers[END_REF]21,23,24,25] and more specifically, formation of polyion complex (PIC) micelles [26,27,28,29] were extensively studied in the literature. Mixtures of PEO-b-PMAA or PEO-b-PAA block copolymers and OCL lead to PIC micelles with an electrostatic complex core and a PEO corona. Because the switchable assembly/disassembly process of DHBCs only involves weak interactions such as electrostatic interactions, the energy demand for disassembly is quite low in comparison with covalent bonds breaking. When a silica precursor, like tetraethoxysilane (TEOS), is added to the PIC micelle solution, a nanostructured solid is obtained at the end of the hydrolysis and condensation process of the silicon alkoxide.

The formation of micellar objects between OCL and the hydrosoluble block copolymer, as a function of pH, was followed by dynamic light scattering (DLS). The measurement of the light scattered intensity of the DHBC/OCL mixture allowed showing that formation of micellar aggregates occurs at a pH from 4.5 to 7. Results are shown on Figure 2 in the case of the PEO-b-PAA/OCL system (with an amine/carboxylic acid molar ratio of 1). In the pH domain 4.5 to 7, well-defined micelles are formed and their intensity-averaged hydrodynamic diameter equals 25 nm. Increasing the pH above 7.5 (by adding a NaOH solution) leads to a strong decrease of the scattered intensity that reveals the dissociation of the micelles; this is due to the neutralization of the amine functions of the homopolymer polybase.

Precisely, the synthesis of the hybrid material proceeds as follows: first, the DHBC and the polyamine are dissolved in an aqueous solution, then TEOS is added and the pH is decreased to 2 for TEOS hydrolysis, which is completed within 15 minutes. The hybrid material is then synthesized at room temperature by increasing the pH of the mixture to a value varying between 4.5 and 6.5 (by adding a NaOH solution). After 24 hours, a precipitate is recovered; it can be either filtered out and washed ex-situ in water during 48 h at 25°C at pH=8 (corresponding to a micelle dissociating pH for the OCL/DHBC system) or left in its synthesis medium and the pH is then raised in-situ above 8 for micelle disassembly and polymer template removal from the material. The solid is then recovered and allowed to dry at 60°C overnight. In both cases, leftover solutions, expected to contain the SDA-forming polymers, are tested for a new material synthesis under the same conditions.

The possibility of structuring silica with PIC micelles is shown in Figure 3 Micelle morphology and arrangement vary from cylindrical micelles arranged in a twodimensional hexagonal structure to lamellae structures. In the PEO-b-PMAA/OCL (pH= 4.5) system, cylindrical micelles of 5 nm are arranged in a hexagonal pattern with a d-spacing of 12 nm. When the synthesis pH is adjusted to 6.5, micellar aggregates change shapes, they adopt a lamellar morphology; the lamellae thickness is about 6 nm. When the material synthesis was done with the PEO-b-PAA/OCL system at pH 5.5, a well-ordered two-dimensional hexagonal structure of cylindrical micelles is obtained (figure 3c) ; figure 3d shows the XRD pattern of the material with the three diffraction peaks ascribed to the (100), ( 200) and (210) planes of the hexagonal structure. The correlation distance is calculated to be 13.5 nm. These data show that complex micelles of DHBC/oppositely charged polyelectrolytes can direct the formation of nanostructured silica in a well-chosen pH range. On the contrary, any attempt to obtain silica OMM in the absence of either the DHBC or the polyelectrolyte component was unsuccessful. It is also emphasized here that the synthesis pH has a great influence on the structure of the silica based material. Changing the synthesis pH from 4.5 to 6.5 allows tuning the material structure and changing from cylindrical to lamellar micelles. It should be emphasized here that a key result in this study is the evidence of the existence of PIC micelles under various morphologies: cylindrical and lamellar PIC micelles are present in the hybrid silica-containing material. The behaviour of DHBC-polyamine micelles had been thoroughly investigated in dilute aqueous solution, at various pH and ionic strength, and in the absence of silica precursors: in that conditions, only spherical PIC micelles had been put in evidence. The demonstration of the existence of different morphologies for the present PIC micelles is very important and interesting for various applications, and to the best of our knowledge, well defined cylinders and lamellae had never been observed in the case of electrostatic polyion complex micelles.

As the micelles are constituted of a polyion complex core surrounded by a PEO corona, formation of the mesostructured silica based material must be the result of hydrogen bonding between ethylene oxide units and silanols of the silica network under formation. The structuring process is then similar to the one occurring in the case of non-ionic PEO-based surfactants such as the Pluronics in the synthesis of the SBA15 [4] type materials, for example. PIC micelles have the same interface with the solvent and with silica precursors as conventional PEO based surfactant micelles, this allows precipitation of silica/micelle mesophases and this further implies that PIC micelles do not dissociate under the material synthesis conditions. Finally, it is known that the driving force for PIC micelle core formation is the decrease of the total electrostatic free energy of the system, which includes the mixing entropy gain from the release of polymer counter-ions in solution, whereas in classical amphiphilic systems, hydrophobic interactions drive the formation of the micelle core. The properties of these attractive interactions, their response to the physico-chemical characteristics of the medium, are exploited for driving the dissociation of the micelles inside the material.

The second main point of our demonstration is the following: the ex situ washing step of the mesostructured hybrid material in aqueous solution at pH 8 is efficient for forming the porosity; this is shown by the N2 adsorption/desorption isotherms presented in Figure 4 in the case of the PEO-b-PAA/OCL-silica system. Isotherms of the material washed in water at pH 8 show a hysteresis loop in the range 0.6 < P/P0 < 0.9, as expected for mesoporous materials, and the final apparent BET surface area amounts to 250 m 2 /g. The pore size distribution is centered at 8.5 nm, as determined from the desorption isotherm. This average pore size is smaller than the hydrodynamic diameter Dh of the micelle (25 nm), which is expected since Dh includes the core size (PAA/OCL complex) and the size of the large and hydrated POE corona in a good solvent in water. The efficiency of the removal of the organic structuring agent in the washed sample is quantified by comparing its thermogravimetry analysis to the one of the as-synthesized sample.

As a preliminary result, a single washing step at pH=8 allows recovering about 62% of organic matter in the case of the PEO-b-PAA/OCL system. For sake of comparison, textural properties were also examined on the unwashed PEO-b-PAA/OCL sample for which the porosity was created by a classical calcination step at 823 K (Figure 4): a BET surface area of 340 m 2 /g was obtained, with a mean pore size of 5.5 nm. When varying the polymer characteristics, specific N2 adsorbed volumes range from 0.3 to 0.6 ml/g while BET specific surface areas vary between 110 and 740 m 2 /g. Porosity characteristics are given in Supporting Information for different porous materials obtained by washing at room temperature, on one hand, and by calcination, on the other hand (Supplementary Figure 1). Finally, the third new feature is the possibility of a continuous one-pot material synthesis with recycling of the SDA and restructuring of a new material. It is presented hereafter, in Figure 5, in the case of materials synthesized at pH= 4.5 with PEO-b-PMAA and OCL polymers. It is shown that it is possible to perform multiple in situ synthesis runs. First, sample S1 was synthesized at pH 4.5, it was then separated by filtration, without any washing step, and recovered. The leftover supernatant solution was directly re-used for a new synthesis step by addition of TEOS, and it gave a new material, S1R. On the other hand, the same synthesis of material S1 was performed again, but this time the pH of the synthesis medium was increased up which is usually used to strengthen silica network. Secondly, no calcination step is needed to create porosity. In both cases, the saving in energy and matter can be significant.

In conclusion, we described here an innovative strategy to prepare mesoporous materials at room temperature in aqueous medium by using induced and reversible micelles of DHBCs as structuring agents. The new templates are formed by an induced micellization process in water, which can be triggered back and forth by adjusting the pH of the aqueous medium. This makes it possible to dissociate the template and remove it from the inorganic network in soft conditions with the objective to be recycled. We have shown that by using polyion complex micelles between a weak polybase and a polyacid-poly(ethylene oxide) DHBC, different well-ordered mesostructures can be obtained by tuning the physico-chemical parameters (pH, temperature) and by changing the composition of the system. Specific surface areas of the mesoporous materials obtained by room temperature washing vary from 70 to 500 m 2 /g, depending on the synthesis conditions. Finally, we have opened the way to an in situ multiple templating process of silica in water, without the use of organic solvents. Treating the material in the synthesis aqueous medium at mildly basic pH firstly enhances silica condensation degree and secondly allows recycling of the templating agent, which is re-used in the same reaction medium to perform a new synthesis run. The strategy presented here was developed in the case of macroion electrostatic complex micelles for which the micellization process was triggered by the pH, but it can be extended to other triggers: at present, we are testing the silica structuring and SDA recycling processes with micelles of DHBC whose formation is induced in water by a change of either ionic strength or temperature, the latter providing a good solution for increasing the number of cycles. Finally, the approach can also be extended to various other metal oxide-based materials.

Experimental section

Preparation of mesoporous materials

Employed DHBC is poly(ethyleneoxide)-b-poly(methacrylic acid), PEO-b-PMAA (MPEO= 5000 g/mol; MPMAA =2100 g/mol) from Polymer Source, while the polyamine is oligochitosan lactate, OCL, (Aldrich) with M<5000 g/mol. Silica precursor is tetraethylorthosilicate, TEOS (Aldrich).

Typical synthesis molar ratios are TEOS/PEO-b-PMAA/H2O/OCL = 1/0.00862/370/0.10678 with OCL corresponding to an oligochitosan lactate unit (C12H24O9N2, C3H5O3). The material synthesis procedure was adapted from that of Pluronic P123 templated silica synthesized at neutral pH [30] . Typically, 8.0 . 10 -2 g of OCL is mixed with 8.8 . 10 -2 g of PEO-b-PMAA in 9.5 g of deionised water at T= 25°C. Equilibrium pH is about 4.3 and it is immediately reached. 0.319 ml of TEOS is then added to the stirred solution. An emulsion forms and the solution pH is lowered to about 2. When TEOS hydrolysis is completed (after about 15 minutes under vigorous stirring), the solution pH is brought to a pH between 4.5 and 6.5. A precipitate is observed after 20 minutes, the solution is left under stirring for 24 hours at 25°C. In general, the as-synthesized sample is filtered and placed in an oven at T= 60°C overnight. Powder post-synthesis treatment occurs by raising solution pH to 8 during 48h at 25°C with the aim to wash the sample for structuring agent removal. This action can take place after powder filtration or in situ in the synthesis batch, just after the synthesis step. The treated material is eventually filtered and dried at 60°C overnight. TEOS can then be added again to the leftover solution obtained after washing, if a second synthesis cycle is desired. Synthesis conditions of silica based materials structured with micelles containing PEO-b-PAA are very similar to those with PEO-b-PMAA polymers. The washing step is somewhat different; therefore, a description of these experiments is given in the supporting information.

Study of the micelle formation as a function of pH by DLS

A solution of copolymer was mixed with a solution of oligochitosane. The pH of the mixture was adjusted to a value of 2. The mixture was then titrated by adding small amounts of a 0.5M NaOH solution: the pH was thus progressively increased up to a final value close to 11.5. DLS measurements were done on all the mixtures at varying pH, after each addition of base and after vigorous stirring during five minutes.

Characterizations

Dynamic light scattering measurements were carried out with an Autosizer 4800 instrument (Malvern, U.K.) with a 50 mW laser source operating at 532 nm. Light scattered intensities together with hydrodynamic diameters and polydispersity indexes (PDI) of the micellar colloids were collected. Hydrodynamic diameters were obtained from measured diffusion coefficients by using the Stokes-Einstein equation. The solid mesostructures were studied by SAXS and TEM. SAXS measurements were performed in transmission configuration using a turning copper anode (4 kW) as X-ray source with a multilayer focusing "Osmic" monochromator giving high flux (10 8 photons/sec) and punctual collimation was employed. An "Image plate" 2D detector was used. TEM images were collected on a JEOL 1200 EX II microscope on microtomed samples. Thermogravimetric analysis was performed under air on a TG-DSC 111 Setaram instrument and the temperature ramp was set at 10°C/min up to 1000°C. N2 adsorption/desorption experiments were performed on a Micrometrics Asap 2010 instrument. Solid-state 29 Si MAS NMR experiments were performed on a Bruker Advance spectrometer (B0= 9.4 T) using a 4 mm zirconia rotor.

Figure legends :

Figure 1: Scheme illustrating the strategy for structuring silica by using induced micelles of water soluble block copolymers. Porosity is created at room temperature while the structuring agent is recycled in aqueous solution.

  . Transmission Electron Microscopy images together with Fourier Transforms of the structures of three materials are presented: with PEO-b-PMAA/OCL at pH= 4.5 (3a) and pH= 6.5 (3b), and with PEO-b-PAA/OCL at pH= 5.5 (3c). Mesostructured hybrid silica-based samples are obtained in all cases.

Figure 2 :

 2 Figure 2: Variation of the scattered light intensity of the PEO-b-PAA/OCL suspension as a function of pH revealing the formation of micellar aggregates between pH 4.5 and 6.5 and the polymer disassembly out of this pH domain.

Figure 3 :

 3 Figure 3: Transmission Electron Microscopy (TEM) images of structured silica obtained with the PEO-b-PMAA/OCL complex at (a) pH= 4.5 and (b) pH= 6.5 and with the PEO-b-PAA/OCL complex at pH= 5.5 (c). Images on top left corner are Fourier Transforms of TEM images. (d) SAXS pattern of the as-synthesized material prepared with micelles of PEO-b-PAA and OCL at pH=5.5.

Figure 4 :

 4 Figure 4: N2 adsorption/desorption isotherms of ordered mesoporous materials prepared with the PEO-b-PAA/OCL system (synthesis at pH=5.5): Material washed ex situ in an aqueous solution at pH 8 (black squares), and corresponding material calcined at 893K without washing (open circles).

Figure 5 :

 5 Figure5: TEM images and SAXS curves of as-synthesized sample S1, washed sample S1w and washed sample S1wR (prepared from recycled polymers) obtained with the PEO-b-PMAA/OCL complex system. S1 was obtained at pH 4.5 while powders S1w and S1wR were obtained after an in situ washing treatment at pH=8.

  Figure 1

  Figure 3

frame of the ACI Project JC 4092.

to 8 after powder precipitation in order to yield the washed material, S1w; S1w was then separated and collected. The leftover solution was reused for a new similar synthesis procedure by adding fresh TEOS, yielding the material S1wR, after synthesis and washing.

TEM images with respective Fourier Transforms and SAXS patterns show that mesostructured silica was obtained for both S1 and S1w samples, as expected, presenting an ordered micellar arrangement with inter-micellar distances of d= 11.6 and 13.4 nm, respectively. Interestingly, S1R, which is prepared by using the supernatant solution of the non-washed S1 sample, does not exhibit any nanostructure (TEM image and SAXS pattern of S1R are shown in Supplementary Figure 2). In contrast, in the case of S1wR sample, a mesostructure is clearly identified and a long-range inter-micellar correlation distance of 12.3 nm is obtained. There is no change in the ordering degree of the second material, prepared from recycled polymers, compared to the first material, provided that the second synthesis is run under the same synthesis conditions. Consequently, the washing step at pH= 8 of sample S1 leading to S1w material indeed diassembles the micellar objects and releases PEO-b-PMAA and OCL in solution. The latter are then able to act as templates again; they allow a new synthesis of mesoporous material to occur, after re-assembly of the SDA constituents at the desired pH. 29 Si Magic Angle Spinning (MAS) Nuclear Magnetic Resonance (NMR) experiments (Supplementary Figure 3) on as-synthesized sample S1 show a percentage of fully condensed silica sites Si(OSi)4 (Q4, δ= -110 ppm) of about 42 %, corresponding to an overall silica condensation degree of 0.83. In situ treatment at pH= 8 leads to an increase of the fraction of Q4 sites up to 65% (in S1w and in S1wR), which enhances silica condensation degree up to 0.90.

Hence, washing at pH= 8 reveals to be interesting for two reasons. First, the condensation degree is comparable to materials usually obtained after a hydrothermal treatment at 100°C, a process

Short text for the table of contents :

A new methodology is developed for the synthesis of ordered mesoporous materials in water at room temperature; it relies on the use of reversible and induced micelles of water-soluble block copolymers as new structure directing agents. Keywords : block copolymers, mesoporous materials, reversible micelles, polyion complex micelles, silica.


Julien Alexandre
email: julien.alexandreditsandretto@inria.fr

Gilles Sandretto

David Trombettoni

Gilles Daney

Chabert

David Sandretto

Daney

Gilles Trombettoni
email: gilles.trombettoni@lirmm.fr

Gilles Chabert
email: gilles.chabert@mines-nantes.fr

Certified Calibration of a Cable-Driven Robot Using Interval Contractor Programming

Keywords: Cable-Driven Robot, Calibration, Interval Analysis

In this paper, an interval based approach is proposed to rigorously identify the model parameters of a parallel cable-driven robot. The studied manipulator follows a parallel architecture having 8 cables to control the 6 DOFs of its mobile platform. This robot is complex to model, mainly due to the cable behavior. To simplify it, some hypotheses on cable properties (no mass and no elasticity) are done. An interval approach can take into account the maximal error between this model and the real one. This allows us to work with a simplified although guaranteed interval model. In addition, a specific interval operator makes it possible to manage outliers. A complete experiment validates our method for robot parameter certified identification and leads to interesting observations.

Introduction

Due to tolerances in manufacturing or assembly, the geometry of the actual manipulator does not correspond to the desired design and its theoretical kinematic model. Consequently, the performances of the manipulator, such as its accuracy, decrease. This problem could be bypassed by improving the kinematic model, i.e., by finding the actual values of its parameters. These parameters, defining the geometry of the robot (frame and platform) and actuator parts, are provided by a kinematic calibration procedure. Calibration consists in identifying model parameters through redundant information on the state of the robot provided by measurements or constraints [START_REF] Wampler | Calibration of robots having kinematic closed loops using nonlinear least-squares estimation[END_REF]. Cable-driven robots have several interesting properties like reduced mass of moving parts (i.e., the cables), ease of reconfiguration and, more importantly, a potentially very large workspace. Nevertheless, the cost of these advantages is a complex kinematic and dynamic behavior due to the flexibility, mass and elasticity of the cables. This kind of complex numerical model, can (and often needs to) be simplified to be used in a command process or a calibration for instance. For example, a kinematic calibration with joint sensors has been reported in [START_REF] Bouchard | Geometrie des robots paralleles entraines par des cables[END_REF], whereas a self-calibration procedure for a planar robot is introduced in [START_REF] Borgstrom | Nims-pl: A cable-driven robot with self-calibration capabilities[END_REF]. Several studies have been carried on cable-driven robot kinematics. Many of them use an approximate model for cables which considers them without mass and elasticity. The error added by this approximation has been bounded for a whole workspace and a range of usual forces in [START_REF] Sandretto | Confirmation of hypothesis on cable properties for cable-driven robots[END_REF]. In robotics, interval analysis is used to manipulate bounded uncertainties [START_REF] Moore | Interval Analysis[END_REF][START_REF] Jaulin | Applied Interval Analysis[END_REF], or to consider the whole workspace of a robot. A recent approach called contractor programming was proposed by Chabert and Jaulin to solve different interval problems [START_REF] Chabert | Contractor programming[END_REF]. A contractor is a procedure that reduces the search space, considering generally a set of constraints to satisfy. In the face of outliers, i.e., measures that are completely wrong, a solution which satisfies all the constraints may not exist. An original interval approach for calibration was proposed by one the authors in [START_REF] Daney | Interval method for calibration of parallel robots : Vision based experiments[END_REF]. However, outliers (along with model errors) led their method to an empty solution. This paper proposes an innovative calibration approach based on certified interval methods. The approach allows the calibration process to manage uncertainties in cable model and in measures, even in presence of outliers thanks to a recent interval operator called q-intersection. This intersection can relax some constraints to escape from outliers.

Cable-driven robot

This study is part of the CoGiRo (Conception of Giant Robot) project. The goal of this national project is to create a traveling crane with a large workspace and n = 6 DOFs. A crane or cable-driven robot is a mechanism that controls m = 8 cables whose length or tension provides a movement of the mobile with 6 DOFs w.r.t. a reference. Cable-driven robot architecture: In the sketch presented in Fig. 1, the mobile (linked to the frame Ω C ) is connected to the base (linked to the frame Ω O ) by m = 8 cables (m > n to be fully controllable). The i th cable connects the point A i in the base (coordinate a i in Ω O ) to the point B i on the mobile (coordinate b i in Ω C ). The pose of the mobile (defined by the position P and the orientation R of Ω C expressed in Ω O ) is directly controlled by the length and the tension of each cable. The prototype, named ReelAx8 and shown in Fig. 1, was built by the TECNA-LIA company (www.tecnalia.com) in collaboration with the LIRMM laboratory (www.lirmm.fr). Eight cables, wound on winches, are attached by spherical joints to the eight corners of a cube shaped platform of about 40 centimeters large.

A u t h o r ' s v e r s i o n

Fig. 1 A cable-driven robot sketch and a ReelAx8 picture Four pairs of winches are fixed on posts up to three meters high arranged at the four corners of a 3 meters by 4 meters rectangle. Interval based kinematic model: Cable-driven robots take advantage of the use of cables, allowing large workspace, light actuators compared to the possible load mass, and low cost. However, cable-driven robots suffer from the complex kinematics and dynamics of cables. A well-known realistic model often used for the kinematics of cables is proposed by Irvine in [START_REF] Irvine | The linear theory of free vibrations of a suspended cable[END_REF]. In Irvine's model, the length of a cable depends on its tension and is described by a non linear system of equations. In order to use this realistic model, we need more sensors to measure the tension in cables, but the force sensors are not accurate enough. The hypothesis considering non-elastic and mass-less cables is very useful to simplify control, modeling, calibration, etc. Moreover, it is often realistic and adds a negligible error to the robot accuracy. The majority of papers about cable-driven robots uses this hypothesis and replaces the distances between points A i and B i , noted d(A i , B i ), by the length L i , i = 1..m, of unwound cables. The error between the real length of cable and the distance d(A i , B i ) has been quantified (and bounded with certification) in [START_REF] Sandretto | Confirmation of hypothesis on cable properties for cable-driven robots[END_REF].

This method evaluates the interval cable length error [∆ L] = [∆ L min , ∆ L max ] between the realistic Irvine model L irvine (which depends on the tension in cables and considers mass and elasticity of cables) and the strongly simplified model L = d(A, B) over the whole robot workspace and for the whole range of possible tensions in cables. An interval [x] = [x, x] defines the set of reals x s.t. x ≤ x ≤ x. For a given pose we can write:

∆ L min < L -L irvine < ∆ L max
We can thus define an interval based kinematic model which deals with this modeling error:

||P + Rb i -a i || 2 -(L i + [∆ L]) ⊃ 0, i = [1...m] (1)
The simplified model approximates the realistic cable by adding the error [∆ L]. Thus we can also write

L irvine ∈ L + [∆ L]. This model is therefore correct because A u t h o r ' s v e

r s i o n

it contains the real one. In other terms, our interval model overestimates the real model in a guaranteed way. It is relevant for calibration because the intersection principle can reduce this overestimation. Calibration of a Cable-driven Robot: The goal of calibration is to enhance the robot performances by the model knowledge improvement. This improvement consists in identifying the model parameters through redundant information on the state of the robot provided by measurement. In case of calibration, N C measurements of P and R are achieved, for example, with a laser tracker, and are given with tolerances. Therefore [P] and [R] include these tolerances, i.e., the intervals [P] and [R] contain all the possible values for the position and orientation. The coordinate of the point

B i expressed in Ω O at the k th pose is then: [b k i ] = [P k ] + [R k ][b i ].
The coordinates b i which define the geometry of the platform are also given with manufacturing or measuring tolerances. In this paper, we focus on the A i coordinate identification. In practice, in the case of big cable-driven robots, the parameters b i , which describe the platform geometry, are well known, are easy to measure and do not change, contrarily to the a i which change at each new reconfiguration and are not easy to be measured without a laser due to the large dimension of the robot (4 meters in our case). [a i ] denote the coordinates of points A i . These points are unknown, but we can bound them, even not accurately. The aim of the calibration process described in this paper is to reduce these uncertainties. The identification scheme consists of handling m independent and over-constrained systems of N C equations:

0 ∈ ||[b k i ] -[a i ]|| 2 -([L k i ] + [∆ L]), k = [1...N C ], i = [1...m] (2)
Due to the independence of these m systems, each a i can be identified separately. The nature of these calibration equations, where the only variable is a i , leads to an analogy with a thick sphere intersection problem (N C thick spheres of center

B k i , of diameter [L k i ] + [∆ L] intersected in A i ).
In the sake of clarity of pictures that follow, the problem will be illustrated by a circle (ring) intersection in a plane.

This calibration model takes into account all the bounded uncertainties on modeling, measurements and parameters. Nevertheless it could happen that a measurement is completely wrong, i.e., beyond the estimated tolerances. Several circumstances can lead to a mismeasurement, such as a sensor break down or bad environmental conditions. Such a measure is called an outlier. If it is the c th measure, for example, it means that:

0 / ∈ ||[b c i ] -[a i ]|| 2 -([L c i ] + [∆ L]), i = [1...m] (3)
In the presence of outliers, a classic constraint solver will fail to find a solution. In this paper, we propose to use a recent interval operator called q-intersection which can manage these outliers.

A u t h o r ' s v e r s i o n 3 Contractor Programming and q-intersection contractor

The calibration process suffers from two problems: the acquisition of measures and the model used for identification. The interval approach offers a rigorous representation of the uncertainties on measurements and a powerful ability to rigorously enclose the solutions. Significant theoretical and algorithmic progress have been brought to interval methods that are now mature for application [START_REF] Hansen | Global Optimization Using Interval Analysis[END_REF][START_REF] Jaulin | Applied Interval Analysis[END_REF]. A good introduction to the interval arithmetic can be found in these last two references. An interval solver is based on a branch & bound. A simple solver evaluates all the functions involved in the system of constraints handled and checks if their images contain 0. To improve this approach, contractors are used.

A contraction procedure or contractor accepts as input a box, i.e., a vector of intervals, and outputs a contracted box (while respecting certain properties detailed in [START_REF] Chabert | Contractor programming[END_REF]). A given contractor can accept any other parameter to specify it behavior, such as a system of constraints. A contractor program includes calls to several contractors applied to different boxes. The contractor program used in our calibration applies the following scheme to the system of equations modeling our measures:

FixP(QInter(q = 75%, hc4r(F 1 , box), ..., hc4r(F N C , box))
where hc4r [START_REF] Benhamou | Revising Hull and Box Consistency[END_REF], QInter [START_REF] Jaulin | Robust set-membership state estimation; application to underwater robotics[END_REF] and FixP are three contractors.

• hc4r can contract a box w.r.t. a single constraint such that no solution of the constraint is lost in the box. Using a tree representation of the constraint for accelerating the contraction, this contractor isolates every occurrence x i in the expression and performs a natural evaluation of the corresponding function to contract [x i ]. Applied to our ring intersection problem, hc4r intersects the studied box with a ring corresponding to a measure. • QInter can forget bad measures (outliers), provided that the number of good measures exceeds q. This contractor returns the smallest box including all the points that belong to at least q of the boxes in argument. Applied to our ring intersection problem, QInter returns the box enclosing all the points in the studied box satisfying at least q imprecise measures. • FixP (FixPoint) calls the contractor in argument (here QInter) until the box reaches a quasi fixed point in terms of size. 1

Interval Calibration Approach

Our tool is dedicated to calibration and uses contractor programming to find the m boxes that are guaranteed to contain the points

A i , [i = 1..m].
The method is explained in details in the following. 1 In our tool, the process stops if the maximal reduction on every dimension does not exceed 1%.

A u t h o r ' s v e r s i o n Contractor for each pose: For each pose k (measure of position, orientation and cable length), the hc4r contractor reduces the size of the box including the point A i using the calibration constraints

F i,k = ||[b k i ] -[a i ]|| 2 -[L k i ] + [∆ L].
The resulting box of this contraction process is smaller than the initial box, but it is always an overestimation of the coordinate a k i (obtained with the k th pose). This is illustrated in the plane (for the sake of clarity) in Fig. 2

. (a).

Calibration with q-intersection: Our calibration procedure is based on the intersection principle. The interval paradigm ensures that every pose a k i contains the point A i , depending on the corresponding measurement. Therefore the different boxes resulting from the different poses a k i are intersected, thus offering a better estimation of the point A i . In A problem can appear in this intersection process. In practice, due to the measure acquisition process, a value may be completely wrong (e.g., B 4 1 in Fig. 2. (c)), even if one considered the maximal possible error allowed by the measurement device. These outliers generally lead to an empty solution for a classical intersection method, as shown in Fig. 2. (c). In order to avoid this phenomenon (trap), our calibration approach uses a q-intersection contractor. This method, presented in Section 3, can reject some poses considered as outliers (e.g., B 4 1 ), even if we do not know in advance which ones are outliers. This works in the calibration of our robot provided that the parameter q has been set to more than 75%. If the q-intersection result is nevertheless empty, additional measurements have to be achieved to obtain a correct calibration result. In a very unsettled environment, or with non accurate tools, it is also possible to choose a smaller value q, although the calibration process has no sense when q falls below 50%.

A u t h o r ' s v e r s i o n

Method experimentally applied: After a complete simulation which validated the approach, we have performed a validation with measures coming from experiment. The cable model error computed with the method presented in [START_REF] Sandretto | Confirmation of hypothesis on cable properties for cable-driven robots[END_REF] is [∆ L] = [-0.6, 3.7] millimeters. The calibration is performed with 42 measures obtained with a laser tracker. The tolerances of this tool is ±1mm for the position (on x, y and z) and ±10mRad for rotation (around each axis). An estimation on a i is given with a tolerance of ±1cm. The calibration results are reported in Tab. 2. The 2 Parameters a i (in meter) identified with interval method and cable model error solution given by a least square method (described in [START_REF] Sandretto | Calibration of a fullyconstrained parallel cable-driven robot[END_REF]) falls outside the certified interval solution obtained with our method. For example, a classical method computes a 1 = (2.2046, 0.5964, -2.7184). This means that the least square solution does not satisfy the calibration equations. Using a standard interval approach, the solution of the calibration is empty due to the presence of outliers. We can also observe that [a 3,6 ] are not contracted by our method. This means that the measures are not well chosen for calibrating these parameters (identifiability problem). The measures are numerous but they do not cover all the robot workspace. Remember that in this approach, the more different correct poses we have, the smaller the final box will be. The stopping criterion is given by the time spent to make the measures, but the choice of the poses is very important [START_REF] Daney | Interval method for calibration of parallel robots : Vision based experiments[END_REF].

Discussion and conclusion

This paper presents the first attempt to achieve a certified calibration of a cabledriven robot using an innovative contractor programming approach. Our interval A u t h o r ' s v e r s i o n method is robust to measurement error and outliers. Also, it permits to capture an error due to the modeling. We can use a highly simplified model for the calibration that is guaranteed to contain the realistic one (even if the latter cannot be characterized). We have employed a q-intersection contractor to obtain an outlier-resistant calibration. The obtained solution is not a point A i , like with the least square method, but a box. This box is an overestimated enclosure of the point to be identified. We could verify that this solution is close to the one obtained by the (non certified) least square method. To summarize, this contractor programming approach holds the potential to become a key feature in certified calibration.

Fig. 2

 2 Fig. 2 (a) A pose contracting the box around A 1 , (b) A circle intersection, (c) An empty circle intersection due to an outlier

Fig. 2 .

 2 (b), we present the intersection of 3 rings corresponding to poses (B k i represents the point B i in the k th pose). Each rectangle in grey represents a contracted box corresponding to one pose, and the final box results from the intersection of all the individual boxes.

b i x y z b 1 [

 1 -0.112,-0.110] [0.345,0.347] [-0.017,-0.015] b 2 [0.241,0.243] [0.337,0.339] [-0.028,-0.026] b 3 [-0.171,-0.169] [0.339,0.341] [-0.431,-0.429] b 4 [0.298,0.300] [0.329,0.331] [-0.446,-0.444] b 5 [-0.179,-0.177] [-0.031,-0.029] [-0.429,-0.427] b 6 [0.288,0.290] [-0.041,-0.039] [-0.437,-0.435] b 7 [-0.118,-0.116] [-0.027,-0.025] [-0.004,-0.002] b 8 [0.233,0.235] [-0.034,-0.032] [-0.015,-0.013])

Table 1

 1 Parameters b i (in meter) estimated with ±1mm tolerance

	a i	x	y	z
	a 1 [2.214,2.214] [0.604,0.606] [-2.728,-2.727]
	a 2 [2.199,2.219] [0.516,0.536] [-0.367,-0.347]
	a 3 [0.512,0.532] [2.135,2.155] [-2.711,-2.691]
	a 4 [0.536,0.556] [2.193,2.205] [-0.425,-0.405]
	a 5 [-1.955,-1.955] [-0.418,-0.415] [-2.726,-2.725]
	a 6 [-2.063,-2.043] [-0.375,-0.355] [-0.438,-0.418]
	a 7 [-0.310,-0.309] [-2.020,-2.020] [-2.727,-2.727]
	a 8 [-0.392,-0.375] [-2.045,-2.043] [-0.403,-0.398]

Table

Acknowledgment This work was supported in part by the French National Research Agency (ANR) under grant 2009-SEGI-018 (CoGiRo ANR project) and in part by the Région Languedoc-Roussillon under grant 115217.

A u t h o r ' s v e r s i o n