Sunday, June 3, 2007

Semantic-aware software component provisioning: status report

Recap: This project aims to ease component provisioning by the use of Semantic Web technologies, providing a model - an OWL ontology - of the software component domain, supporting inference and reasoning about components' metadata and allowing developers to import metadata from a number of existing provisioning systems.

During last week I had a couple of interesting chats with my mentor, Philippe Ombredanne, and with Pascal Rapicault as well, discussing some issues about the repository design and positioning in relation to existing component provisioning systems.

I'll briefly report what emerged from our conversations:
  • model and metadata should be general, higher-level respect to the particular provisioning system. Each of existing systems focus on a particular aspect of component modeling, yet the metadata share much the same semantics so, as already hypotized in the previous status report, what we should aim to is providing a general metadata set, to map in turn the particular system metadata set. Some license-related issues about existing ontologies to reuse are being addressed during these days.
  • an interesting idea (borrowed from the Equinox provisioning effort, thanks Pascal) which relates much to the previous point is to enable the repository to plug-in modules to integrate other provisioning systems' metadata repository, relieving the burden of writing over and over the same set of metadata. I'd start with OSGi and Maven repo modules.
  • very interesting stuff @ easyeclipse about license-related properties of a sw component could be reused and/or wrapped (thanks Philippe ;) ).
  • on the technology side we will rely upon a set of REST APIs, a servlet container and a SPARQL query engine (Joseki, very probably) to retrieve rdf metadata and carry out the inference process. This should be quite scalable, and simple enough to get the repo up and running as soon as possible. I am thinking about the RESTlet framework (just checked licensing issues, it looks ok), but if somebody has got better suggestions, please let me hear about.
I started designing the repository and refining the use case model, planning to have CRUD features available in the very next weeks. Architectural views coming soon to a blog near you.

That's all folks, eager to get some feedback,
Savino Sguera

No comments: