openprovenance.org Relaunched

It is my pleasure to announce the relaunch of openprovenance.org, the site for standard-based provenance solutions.

With our move to King’s College London, Dong and I have migrated the provenance services from Southampton to King’s. I am pleased to announce the launch of the following services at openprovenance.org:

  • ProvStore, the provenance repository that enables users to store, share, browse and manage provenance documents. ProvStore is available from https://openprovenance.org/store/.
  • A translator capable of converting between different representations of PROV, including visual representations of PROV in SVG. The translator service can be found at https://openprovenance.org/services/view/translator.
  • A validator service that checks provenance documents against the constraints defined in prov-constraints. Such a service can detect logically inconsistent provenance. An example of such inconsistency is when an activity is said to have started after it ended, or when something is being used before it was even created. The validator is hosted at https://openprovenance.org/services/view/validator.
  • A template expansion service facilitates a declarative approach to provenance generation, in which the shape of provenance can be defined by a provenance document containing variables, acting as placeholders for values. When provided with a set of bindings associating variables to values, the template expansion service generates a provenance document. The template expansion service lives at https://openprovenance.org/services/view/expander.

The Southampton services will be decommissioned shortly. If you have data in the old provenance store, we provide a procedure for you to download your provenance documents from the old store, and to upload them at openprovenance.org. In the age of GDPR, you will have to sign up for the new provenance store and accept its terms and conditions.

While the look and feel of the services may look quite similar, under the bonnet, there have been significant changes.

  • We have adopted a micro-service architecture for our services, allowing them to be composed in interesting ways. Services are deployed in Docker containers, facilitating their redeployment and enabling their configurability. We are also investigating other forms of licensing that would allow the services to be deployed elsewhere, allowing the host to have full control over access, storage and management. (Contact us if this is of interest to you.)
  • We have adopted Keycloak for identity management and access control for our existing and future micro-services. This offers an off-the-shelf solution for managing identities and obtaining consent. A single registration for all our services will now be possible.

As before, the above services are powered by some open source libraries, which can also be found from openprovenance.org. ProvToolbox is a Java toolkit for processing provenance; it is available from http://lucmoreau.github.io/ProvToolbox/. Likewise, Prov Python is a toolkit for processing provenance in Python and can be found at https://pypi.org/project/prov/.

Un Hommage à Danny Ribbens

En octobre 1988, j’ai commencé un doctorat sous la direction de Danny Ribbens. Loin de moi était, à l’époque, la pensée que je serais ici, vous parlant de lui, 26 ans plus tard. Je suis le dernier doctorant que Danny Ribbens a encadré. C’est au travers de cette expérience et des années qui suivirent que je souhaite vous parler de lui.

J’ai vite compris, et j’ai continué à apprécier ce fait durant ma carrière, que Danny n’était pas une « machine à encadrer des thésards » ; il était sélectif et il s’investissait énormément dans la relation avec le doctorant. Etre le destinataire de cette attention était un privilège ; c’était phénoménal, enrichissant, gratifiant. Bien sûr, cela venait avec ses responsabilités : travailler, apprendre, s’améliorer et développer une forte capacité d’analyse et de raisonnement.

A maintes reprises, Danny m’a raconté son début de carrière, durant l’âge d’or de l’informatique. Durant ses voyages et séjours aux Etats-Unis, il a connu des chercheurs tels que Codd (père des bases de données relationnelles) et McCarthy (père de Lisp et de l’intelligence Artificielle). Danny a travaillé dans des équipes où les informaticiens collaboraient avec les ingénieurs de processeurs. Après son retour en Belgique, il est continuellement resté attentif aux développements dans des institutions de pointe, telles que MIT, Stanford, Edimbourg, Oxford, Cambridge, et l’INRIA. Cette expérience à l’étranger, ainsi que sa connaissance des grandes institutions de recherche, ont fortement influencé le mode de raisonnement de Danny et sa conception de l’informatique. L’on reconnaîtra cette influence dans la structure des programmes d’ingénieur et de sciences informatiques à Liège.

Dans la foulée, Danny publia le premier livre en français sur Lisp, qui lui donna sa réputation dans le monde francophone. Mais son attention s’est focalisée sur l’Université de Liège, principalement. Il y développa un environnement d’enseignement et de recherche inspiré par son expérience : les premières machines Lisp en Europe, un ordinateur DEC 20 utilisé par plusieurs générations d’étudiants et chercheurs à l’Institut Montefiore, ainsi que les outils logiciels tels que Emacs venant directement du MIT. Son intérêt pour le changement technologique et l’évolution de l’informatique a continué pendant toute sa carrière. Je me souviens également de la petite bibliothèque, au deuxième étage de l’Institut Montefiore, avec sa machine à café. Cette petite pièce était devenue le lieu de rencontre de ses chercheurs. J’ai toujours été impressionné par la richesse de cette bibliothèque dans le domaine des langages de programmation: Danny avait eu le génie de créer (par cela je veux dire trouver le financement pour) cette bibliothèque qui, avant l’âge de l’Internet, était une ressource essentielle pour ses chercheurs.

Danny possédait une façon particulière d’interagir avec ses chercheurs. Un jour, alors que je préparais un cours de langages de programmation, il m’a posé une question, qui nous a paru tout à fait anodine sur le moment même: « Luc, tant que tu regardes cela, peux-tu m’expliquer la notion de continuation ? ». Il voulait apprendre, d’où la question ! Mais aussi, il avait créé un environnement de travail et suggéré une direction : c’était à présent ma responsabilité de saisir l’opportunité. De quelques mots, à quelques pages, à un cours entier sur le sujet, … et finalement la formulation d’une question de recherche et la défense d’une thèse de doctorat.

Il est impossible de parler de Danny sans mentionner le personnage, plus grand que nature. Il avait beaucoup de passions au delà de l’informatique, pour la peinture, les voitures, le vin, le whisky, la fine cuisine, la lecture et l’humour; en d’autres mots, un amour de la vie. Y avait-il un restaurant de ce nom, à Liège, en Belgique ou en France, où il n’était pas allé? En saison, avait-on commandé et goûté une bécasse ou une « grouse » d’Ecosse? Bien sûr, cette passion faisait aussi partie de l’investissement dans la relation avec l’individu, dont j’ai grandement bénéficié. Aussi, il n’était pas rare de tenir une réunion à propos de ma thèse au café « Le Campus ». On partageait également un sens de l’humour, probablement peu compréhensible par d’autres : on se souhaitait une « bonne continuation », ou l’on se plaignait de l’absence d’un « verre de whisky, récursif, sans cas de base ». Un jour, Danny avait trouvé un dessin humoristique dans un journal. Le dessin mettait en scène un sorcier viking réprimandant le chef du village: « Tu es le chef, tu dois être honnête, travailleur, sobre … ». La réponse du chef était: « Pour ça, j’ai mon assistant! ». Ce dessin est resté sur sa porte durant la durée de mon assistanat à l’Institut Montefiore.

A l’époque de mon doctorat, Danny avait déjà créé l’informatique et le centre de calcul à Liège, et il continuait à porter son attention sur l’Université de Liège. Mais pour lui, les individus restaient plus importants que l’Institution. Alors que j’approchais de la fin de mes travaux de thèse et que je pensais à l’étape suivante de ma carrière, son conseil était de ne pas rester avec lui, dans son service, mais d’aller ailleurs pour acquérir une nouvelle expérience, découvrir d’autres organisations et méthodes de travail, et revenir plus tard si je le souhaitais. En 1990, Danny avait organisé pour moi un séjour de six mois à l’Université d’Edimbourg. Je suppose que ce séjour m’avait donné goût à la vie britannique. En 1995, après mon doctorat, je suis parti pour Southampton pour un « post-doc ».

En fait, loin de s’affaiblir, nos liens se sont maintenus et enrichis durant ces 20 dernières années. A chacun de mes retours en Belgique, l’on se revoyait; Danny a passé un séjour sabbatique à Southampton; il est également venu assister à ma leçon inaugurale, en compagnie d’autres Liégeois. Encore récemment, au mois de juin, il parlait de venir à nouveau me rendre visite. Avec lui, j’ai eu le plaisir de célébrer mes promotions de Lecturer, Reader et Professeur à Southampton.

Ce lundi 27 octobre, Danny Ribbens nous a quitté. Avec l’humour que nous partagions, nous aurions dit qu’il « a invoqué sa continuation finale ». Je suis très privilégié d’avoir connu ce grand homme et de l’avoir eu comme directeur de thèse, et ensuite comme mentor et ami. Il a fondé une tradition informatique à Liège; j’ai eu l’honneur d’en faire partie, et de la continuer, dans mon style, en Grande-Bretagne. Merci Danny et au revoir.