une approche fondée sur l idm pour le développement d un ... · une approche fondée sur l’idm...

26
Une approche fondée sur lIDM pour le développement dun environnement de production journalistique Cyril Faucher 1 , Frédéric Bertrand 1 , Jean-Yves Lafaye 1 , Denis Teyssou 2 , Mathieu Bully 3 1. Laboratoire L3i, Université de La Rochelle Avenue Michel Crépeau, F-17042 La Rochelle cedex 1 {cyril.faucher, frederic.bertrand, jean-yves.lafaye}@univ-lr.fr 2. Agence France Presse 11-15, place de la Bourse F-75002 Paris [email protected] 3. Relaxnews 34, quai de la Loire F-75019 Paris [email protected] RÉSUMÉ. Nous présentons une expérience appliquant lingénierie dirigée par les modèles à l’analyse et à la mise en œuvre d’une chaîne complète de gestion de dépêches dagence traitant de manifestations dans les domaines de la culture et des loisirs. La prise en compte dévénements, structurellement complexes, porteurs dinformation spatiale et surtout temporelle, associée à la nécessité de gérer linteropérabilité dapplications hétérogènes, justifient pleinement le recours à lIDM. Nous donnons une vue densemble de notre démarche et présentons les métamodèles utilisés, notamment le modèle dévénements servant de pivot entre linterface avec les applications de traitement de la langue naturelle en amont et les environnements de visualisation dinformation temporelle du côté de lutilisateur final. ABSTRACT. This paper presents an application of Model Driven Engineering to the design of a complete news processing line within the scope of culture and leisure information. MDE is the only technology actually enabling to master the management of complex composite events with spatial and temporal properties, and to cope with making heterogeneous applications interoperate. We provide an overview of our approach and outline the salient points of our metamodels. The stress is put on the event metamodel, standing as a pivot between the beforehand Natural Language Processing, and temporal information visualization frameworks on the end user side. MOTS-CLÉS : validation sémantique, IDM, information temporelle, événement. KEYWORDS: semantic validation, MDE, temporal information, event.

Upload: others

Post on 09-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Une approche fondée sur l’IDM

pour le développement d’un environnement

de production journalistique

Cyril Faucher1, Frédéric Bertrand

1, Jean-Yves Lafaye

1,

Denis Teyssou2, Mathieu Bully

3

1. Laboratoire L3i, Université de La Rochelle

Avenue Michel Crépeau, F-17042 La Rochelle cedex 1

{cyril.faucher, frederic.bertrand, jean-yves.lafaye}@univ-lr.fr

2. Agence France Presse

11-15, place de la Bourse F-75002 Paris

[email protected]

3. Relaxnews

34, quai de la Loire F-75019 Paris

[email protected]

RÉSUMÉ. Nous présentons une expérience appliquant l’ingénierie dirigée par les modèles à

l’analyse et à la mise en œuvre d’une chaîne complète de gestion de dépêches d’agence

traitant de manifestations dans les domaines de la culture et des loisirs. La prise en compte

d’événements, structurellement complexes, porteurs d’information spatiale et surtout

temporelle, associée à la nécessité de gérer l’interopérabilité d’applications hétérogènes,

justifient pleinement le recours à l’IDM. Nous donnons une vue d’ensemble de notre

démarche et présentons les métamodèles utilisés, notamment le modèle d’événements servant

de pivot entre l’interface avec les applications de traitement de la langue naturelle en amont

et les environnements de visualisation d’information temporelle du côté de l’utilisateur final.

ABSTRACT. This paper presents an application of Model Driven Engineering to the design of a

complete news processing line within the scope of culture and leisure information. MDE is

the only technology actually enabling to master the management of complex composite events

with spatial and temporal properties, and to cope with making heterogeneous applications

interoperate. We provide an overview of our approach and outline the salient points of our

metamodels. The stress is put on the event metamodel, standing as a pivot between the

beforehand Natural Language Processing, and temporal information visualization

frameworks on the end user side.

MOTS-CLÉS : validation sémantique, IDM, information temporelle, événement.

KEYWORDS: semantic validation, MDE, temporal information, event.

Page 2: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

1. Introduction

Dans le cadre du projet ANR Relaxmultimédias 2 (RMM21, mars 2009-

décembre 2011) nous avons utilisé l’ingénierie dirigée par les modèles (IDM) pour

la spécification et la mise en œuvre d’une chaîne complète de production et de

gestion d’événements dans le domaine de l’information de loisir. La plate-forme2

logicielle produite intègre des sources d’information hétérogènes et assure la

validation, l’interrogation et la visualisation des informations traitées. Le projet

RMM2 fait suite au projet ANR Relaxmultimédias dans lequel, dès 2005, nous

avions appliqué une démarche analogue pour transformer un modèle métier objet

annoté en une ontologie (Faucher et al., 2008).

Ce projet a été mené en collaboration avec l’Agence France-Presse, dont le

métier concerne l’information généraliste, l’agence Relaxnews spécialisée dans

l’information de loisir et le laboratoire MoDyCo3 (UMR 7114) pour son expertise

dans le traitement automatique des langues (TAL).

Les données produites et diffusées par les agences de presse sont centrées sur la

notion d’événement. Dans le processus existant, les journalistes, à partir de dépêches

d’agences, reconnaissent des événements, qu’ils associent à des entités nommées

représentant les acteurs impliqués et les lieux concernés. Ils extraient également les

informations temporelles caractérisant les occurrences des événements reconnus. Ces

éléments permettent de créer des documents XML conformes à des normes métiers

(NewsML-G2 et EventsML-G24). Les bases d’événements ainsi construites servent à

planifier la couverture médiatique et permettent la création de flux d’informations à

destination des clients et utilisateurs finaux. Le besoin d’automatisation, de validation

et de vérification des informations saisies est nécessaire et constitue la motivation du

travail présenté. De manière plus générale, les enjeux du projet sont :

– la facilitation du processus de collecte des informations par les journalistes ;

– une interopérabilité accrue entre les applications assurant la saisie, la

persistance, l’interrogation et la diffusion, dans un contexte multi-utilisateur,

multiplateforme et multilingue.

Outre l’hétérogénéité des contextes et des utilisateurs mentionnée, le processus

métier met en jeu des sources de données diverses. Les dépêches traitent

d’événements artistiques ou culturels (spectacle, exposition, manifestation,

publication, etc.) ou encore d’offres d’hébergement, de transport, ou de services

variés (sport, formation, etc.) ou enfin d’informations concernant l’activité de

personnalités connues. De manière générale, ces événements ont en commun de

concerner des éléments potentiellement référencés dans des ontologies liées aux

données interconnectées (linked data) (« DBpedia », « Geonames », etc.), des

1. Projet Relaxmultimedias 2 : http://www.rmm2.org

2. Plate-forme projet Relaxmultimedias 2 : http://www.afprelaxnews.com/

3. MoDyCo : http://www.modyco.fr/

4. NewsML-G2 et EventsML-G2 : http://www.iptc.org/site/News_Exchange_Formats/

Page 3: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

institutions (cinéma, théâtre…) ayant leurs propres sites dédiés et des informations

temporelles comme, par exemple, les périodes d’accessibilité. Sur ce dernier aspect,

de nombreuses spécifications existent et se recouvrent sans nécessairement traiter

l’ensemble des besoins. En particulier, la prise en compte des événements répétitifs

– centrale dans nos préoccupations – est abordée de façon trop restreinte.

La suite de cet article est organisée en six sections. Dans la section 2, nous

détaillons les objectifs en termes de processus métiers. Dans un second temps, nous

constatons la complexité du sujet et la nécessité de faire appel à l’IDM pour la

maîtriser. Nous présentons l’architecture sous-jacente à notre approche en précisant

l’organisation des métamodèles que nous avons spécifiés et la manière dont ils sont

utilisés. Nous donnons également un aperçu des technologies choisies pour satisfaire

ces besoins. La section 3, présente le métamodèle d’événements en développant à la

fois les points de vue structurel et temporel. L’accent est mis sur la gestion des

événements répétitifs et sur la syntaxe textuelle concrète associée au modèle objet

qui – proche du langage naturel – facilite le dialogue avec l’utilisateur journaliste.

La vérification des expressions temporelles s’appuie sur un modèle de calendrier

que nous présentons en section 4. En section 5, nous décrivons l’utilisation de l’IDM

pour configurer et générer des applications web de visualisation des caractéristiques

spatio-temporelles des événements. Nous expérimentons nos modèles et

transformations en section 6. La conclusion (section 7), établit un bilan de l’apport

de l’IDM dans la réalisation du projet et les perspectives de notre travail.

2. Objectifs et architecture générale du projet Relaxmultimédias 2

2.1. Objectifs

En regard du processus existant essentiellement manuel, le processus à mettre en

place est illustré par la figure 1. Nous en détaillons ci-après les différentes étapes

avec les difficultés répertoriées et les réponses techniques envisagées.

L’arrivée de dépêches de presse, issues de l’AFP ou d’autres sources, active le

processus. Ces dépêches peuvent être constituées d’un texte brut ou structuré au

format NewsML, vocabulaire XML défini par l’IPTC5, accompagnant le texte de

métadonnées. Des flux RSS, très répandus sur le web, sont également traités.

La première phase, prise en charge par le laboratoire MoDyCo, procède à une

analyse et une annotation automatique du corps des dépêches pour mettre en

évidence les éléments atomiques répondant aux quatre « W » (Who, What, Where,

When) et conduit à la création d’un ou de plusieurs événements.

Bien qu’assez élaborée, la reconnaissance d’expressions temporelles reste

souvent incomplète et des problèmes de granularité temporelle peuvent subsister. La

difficulté majeure réside dans la structuration des événements composés et dans

l’appariement avec leurs propriétés, temporelles ou non.

5. http://www.iptc.org/site/Home/

Page 4: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Figure 1. Processus métier cible

L’enrichissement des données réalisé par le laboratoire MoDyCo, et l’appariement

effectif évoqué ci-avant ne peuvent être entièrement automatisés. Un expert métier

(journaliste) doit intervenir. Il est assisté par des applicatifs qui interrogent le modèle

d’événements et les bases de connaissances dans leur état courant. Ces applicatifs sont

développés en partie par les agences de presse partenaires. Le système suggère des

éléments de complétion et vérifie la cohérence des nouvelles informations candidates

destinées à incrémenter les instances du modèle d’événements et la connaissance

induite. Les informations échangées entre l’expert et le système sont exprimées dans

un langage proche du langage naturel (cf. section 3.2).

Le modèle d’événements est conçu pour représenter, d’une part, la structure des

événements composites (hiérarchie d’événements) et, d’autre part, leurs propriétés

temporelles, y compris dans le cas d’événements répétitifs.

L’une des originalités de notre proposition est de modéliser les ensembles

d’occurrences en intension et non en extension (i.e. spécifier « tous les premiers

samedis du mois entre 2008 et 2015 » à la place des 96 occurrences concrètes ainsi

référencées). La persistance des données est ainsi optimisée en stockant des formes

concises associées à une sémantique, alors que l’ensemble des dates concrètes

d’occurrences masque les propriétés de récurrence. Nous ne traitons pas ici des

autres informations (spatiales et métadonnées diverses).

L’efficacité du processus automatisé est naturellement liée à la généricité des

solutions proposées. L’essentiel du travail réside dans l’échange de données entre

acteurs : traduire les données annotées par MoDyCo pour obtenir des éléments

adaptés au métamodèle d’événements, traduire les instances de ce métamodèle en

structures persistantes ou en flux exportés vers les interfaces de l’utilisateur final. De

manière similaire, le métamodèle d’événements sera converti sous forme textuelle et

vice versa. Concernant la validation, il faut confronter les données événementielles à

la sémantique du calendrier. Appliquer les principes de l’IDM est un moyen de gérer

flot de données séquencement

E xtraction , a nnotation

Vérification , e nrichissement , c omplétion

Peuplement m odèle d ’ é vénements

Traduction , P ersistance (S QL , XML, RDF )

Export Diffusion

texte annoté formaté

texte brut , RSS , NewsML

formulation selon la grammaire formelle

valeurs d ’ instances et propriétés intégrées, validées et vérifiées

Page 5: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

la complexité de façon organisée, contrôlée et explicite. Enfin, dans un domaine où

les applications et les environnements de visualisation sont grandement évolutifs,

l’usage de l’IDM garantit une robustesse tant en minimisant l’impact du changement

qu’en facilitant sa prise en compte.

La mise en œuvre de l’IDM dans le cadre de ce projet permet d’utiliser des

environnements de conception éprouvés et efficaces tels que la plate-forme Eclipse

EMF (Eclipse Modeling Framework6) ainsi que des outils développés dans les

projets TopCased7 et OpenEmbeDD8.

2.2. Métamodèles de référence

La mise en œuvre, dans une démarche générique, des besoins décrits

précédemment et l’automatisation des processus supposent la spécification et

l’usage d’un nombre conséquent de métamodèles interdépendants. La figure 2

détaille cette architecture. Chaque package correspond globalement à une activité du

processus métier décrit sur la figure 1 : M2_Source et M2_PreProcessing pour

l’extraction et l’annotation, M2_TemporalEvents pour les métamodèles pivots gérant

les événements et leurs propriétés temporelles dont la sémantique est issue de

M2_CalendarKnowledge et de M2_Legacy, enfin M2_Publication dédié à l’export

des informations et à l’adaptation aux systèmes cibles de visualisation.

Figure 2. Les différents packages des métamodèles du projet

TemporalEvents est le métamodèle pivot vis-à-vis des autres métamodèles. Il

exprime la structure des événements créés et contient les éléments suivants :

6. EMF : http://www.eclipse.org/modeling/emf/

7. TopCased : http://www.topcased.org/

8. OpenEmbeDD : http://openembedd.org/home_html

Page 6: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

– StructuredEvent décrit la structure composite des événements et leurs relations

mutuelles (cf. section 3.1) ;

– Temporal décrit les dates d’occurrence des événements et, dans le cas d’un

événement répétitif, les règles régissant cette (pseudo) périodicité (cf. section 3.3).

Une formulation équivalente de ces règles est offerte via une syntaxe concrète

(textuelle).

La partie Temporal du métamodèle TemporalEvents s’appuie sur le métamodèle

Legacy qui contient la description de la spécification ISO 191089 (schéma temporel

pour l’information géographique). Celle-ci inclut les relations d’Allen (Allen, 1983)

et l’extension, que nous proposons, qui s’applique aux intervalles non convexes et

permet de traiter les événements répétitifs. Cette extension nommée Allen* (Faucher

et al., 2012) se fonde sur les travaux de G. Ligozat (1991).

TemporalEvents s’appuie sur le métamodèle Calendar qui décrit la connaissance

calendaire i.e., les entités présentes dans un calendrier (jour, mois…) et leurs règles

d’occurrence. Cette représentation du calendrier permet au processus de validation

sémantique des événements de détecter des incohérences telles que : « le 2e lundi de

chaque semaine » (cf. section 4 et (Faucher et al., 2011)).

En amont, le métamodèle PreProcessing représente l’information extraite des

sources d’information, notamment l’information annotée des dépêches après

traitement automatique de la langue (NLP_Output) et celle extraite des flux RSS

(RSS_Parsed). Cette information est ensuite exploitée pour instancier le métamodèle

d’événements.

La dernière étape, dans la chaîne de création des événements, utilise le

métamodèle Publication décrivant un modèle général d’interface graphique en

séparant les sources de données à visualiser (Content), les composants graphiques

(Widgets) utilisés et la disposition de ces composants (Layout). Pour la visualisation

des événements, nous avons utilisé la bibliothèque de composants Simile Exhibit10.

Cette modélisation des entités intervenant dans la chaîne de production a été

réalisée dans un souci d’intégration de nouvelles sources de données et pour faciliter

l’exportation vers de nouvelles plates-formes de diffusion. L’IDM nous a permis

d’exploiter les métamodèles à la fois pour la production de données et pour générer

des interfaces graphiques dédiées à la visualisation des événements stockés dans la

base de données.

2.3. Illustration avec l’exemple de l’événement « Festival des Francofolies »

Pour illustrer le processus général de traitement, prenons le cas d’un texte publié

sous forme de dépêche dans un journal régional au sujet du festival musical des

Francofolies (cf. figure 3). Ce texte constitue l’information brute entrant dans le

9. ISO, 2002. Text of 19108 Geographic information - Temporal schema.

10. Simile Exhibit 2 : http://simile-widgets.org/exhibit/

Page 7: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

système. Le premier traitement consiste à reconnaître des entités nommées, i.e. les

éléments d’information pertinents pour la création d’événements.

Figure 3. Dépêche d’un quotidien régional décrivant une partie

de la programmation des Francofolies 2011

Le système d’extraction de connaissances, réalisé avec des techniques du

traitement automatique du langage (TAL), reconnaît les sujets principaux (ici

encadrés en traits pleins) qui constitueront les événements (What), les métadonnées

géographiques apportant la localisation (Where, surlignées), les entités nommées

identifiant les acteurs (Who, encadrées en pointillés), et les informations temporelles

(When, soulignées) (Battistelli et al., 2008 ; Teissèdre et al., 2010).

Ce système produit automatiquement, à partir du texte initial, un texte annoté, ce

qui rend ces informations directement utilisables dans des applications

informatiques. Comme il a été mentionné précédemment, cette première analyse

doit impérativement être validée et complétée par un expert humain (journaliste), de

façon à identifier les liens entre les différents éléments (lieux, acteurs, dates), pour

typer précisément les informations et lever les ambiguïtés. Pour la dépêche prise en

exemple, les annotations sont les suivantes :

Where:city = La Rochelle

What = les Francofolies

When:date-year = 2011

Where:scene = Saint-Jean-d’Acre

When:duration-start-day = 12

juillet

When:duration-end-day = 16

juillet

What = vente de billets

When:date-day = mardi 1er

février

What = Programme

When:date-hour = Mardi 12

juillet 18h…

Who:singer = Ch. Maé, Zaz

When :date:hour = Jeudi 14

juillet 19h…

Who:songGroup = Cocoon, The Do

Les annotations possèdent un type, ex. What = « les Francofolies » et parfois un

attribut, ex. Where:city = « La Rochelle ». Ces informations sont ensuite complétées

pour notamment mettre en relation les What. Par exemple, « Programme » est défini

comme un élément constitutif de « les Francofolies ». Lorsque la phase d’annotation

est finalisée par le journaliste, une transformation de modèles est appliquée afin de

peupler le modèle d’événements temporels et de générer des instances (Faucher et al.,

La Rochelle : les Francofolies dévoilent leurs têtes d'affiche 2011.

« Sud Ouest » révèle le programme en exclusivité des soirées de la

scène Saint-Jean-d'Acre du 12 au 16 juillet.

Une vente de billets à prix serrés aura lieu dès le mardi 1er

février.

Programme en exclusivité :

Mardi 12 juillet à 18h : Ch. Maé, Zaz

Jeudi 14 juillet à 19h : Cocoon, The Do

Page 8: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

2010c). La figure 4 est un exemple de résultat de cette transformation et constitue un

modèle instanciant le métamodèle d’événements présenté en section 3.1. L’élément

typé Where devient Location, les What deviennent des Event, T_SimpleEvent ou

T_AggregatedEvent suivant leurs fonction et position dans la hiérarchie des

événements précédemment décidée par le journaliste. Enfin les When et Who sont

transformés en attributs. Dans la dépêche traitée comme exemple, certains concerts ne

sont pas pris en compte car les artistes n’ont pas encore notifié leur présence. Les

événements seront complétés au fur et à mesure, soit via une nouvelle dépêche

annonçant les compléments de programmation, soit par ajout direct des journalistes.

francofolies: T_AggregatedEvent

name = 'Francofolies'

periodicityRule = 'each 2nd

week of each July'

f2011: T_AggregatedEvent

name = 'Francofolies_2011'

period = '12/07/2011:16/07/2011'

periodicityRule = 'each day'

venteBillets: Event

name = 'Vente de billets'

date = '01/02/2011'

structuraltemporal

lr: Location

name = 'La Rochelle'takesPlace structural

progf2011: Event

name = 'Programme'

prog12juillet: T_SimpleEvent

artists = 'Ch. Maé, Zaz'

date = '12/07/2011'

prog14juillet: T_SimpleEvent

artists = 'Cocoon, The Do'

date = '14/07/2011'

structural

temporal

structural

temporal

Figure 4. Diagramme d’instance du métamodèle d’événements

En ce qui concerne la visualisation des événements tels que « Francofolies

2011 » (cf. figure 5), nous proposons une application web pour trier/filtrer les

événements suivant des catégories à l’aide de facettes (1), afficher une vue

chronologique (2) et une carte (3) indiquant leur positionnement spatio-temporel

(Faucher et al., 2010a).

Figure 5. Application de visualisation d’événements produite par l’AFP

utilisant l’approche MODSEA décrite section 5

1

2

3

Page 9: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

3. Le métamodèle d’événements liés à l’information de loisir

Le métamodèle d’événements est un élément central du projet. L’importation et

l’exportation de données s’organisent autour de ce métamodèle pivot. Cette section

exprime les besoins et décrit ce métamodèle en insistant sur sa partie temporelle et

l’outillage que nous avons pu développer pour le rendre opérationnel.

Un événement possède des informations spatiales et temporelles ainsi que des

métadonnées. Le modèle spatial est celui de la norme ISO 19100. Pour la partie

temporelle, la norme ISO 19108 a été réutilisée et étendue afin de prendre en charge

les spécifications du projet.

3.1. Le métamodèle d’événements

La figure 6 donne un extrait du métamodèle d’événements associé au

métamodèle temporel. Ce dernier permet de représenter tout type de phénomène

périodique. La généricité de notre métamodèle apparaît en section 4 où il est montré

que le calendrier peut lui-même être représenté par un modèle d’événements dont

les éléments sont les entités calendaires récurrentes : jour, mois, année…

Le métamodèle d’événements répond à la volonté d’exprimer qu’un événement

peut se voir associer à la fois :

– des informations temporelles et spatiales (NonTemporalMetadata) ;

– des métadonnées générales (cf. ISO 19115 : MD_Identification, MD_Content

Information, etc.) ;

– une décomposition en sous-événements.

Figure 6. Extrait du métamodèle d’événements

Page 10: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

La décomposition en sous-événements peut donner lieu à deux types de relation.

L’association structural représente le patron Composite (rôles subEvent et

superEvent), ex. les Francofolies sont composées de concerts. La relation temporal

signifie que les événements composants vérifient les propriétés temporelles décrites

sur l’événement composite, ex. Les Francofolies sont décrites comme un événement

annuel survenant en juillet depuis 1985. Il y a donc une seule occurrence par année.

Précisément, l’événement « Francofolies_2011 » aura lieu en juillet 2011. Un

exemple d’instanciation est présenté sur la figure 4 dans la section 2.3.

3.2. Pouvoir d’expression requis pour le métamodèle temporel

La partie temporelle du métamodèle d’événements décrit les règles d’occurrence

temporelle des événements. Notre métamodèle repose sur la norme ISO 19108 pour

modéliser des propriétés temporelles. Nous l’avons choisie car l’ISO définit des

éléments de base sous forme de modèles de classes. Cette norme définit notamment

TM_Instant représentant une date exprimée à un niveau de granularité variable, i.e.

soit une année, soit une année avec un mois précisé, soit une année avec un mois, un

jour et/ou une heure précisés. L’utilisation de deux TM_Instant permet de créer une

TM_Period avec un début et une fin. La norme définit également des signatures de

méthodes pour calculer des durées et des positions relatives entre instants et périodes.

Ainsi la méthode relativePosition détermine la position relative entre deux primitives,

ex. entre deux instants ou entre un instant et une période, et qualifie la relation entre

deux primitives en utilisant les relations d’Allen : before, during, overlaps, etc.

La norme ISO 19108 permet ainsi de définir précisément un ensemble de dates

concrètes (calendaires). Les événements traités ayant souvent un caractère temporel

récurrent, il est intéressant de pouvoir décrire une série de dates, non pas en extension,

mais en intension (Carnap, 1947). L’ISO 19108 ne permet pas de définition telle que

« le festival a lieu chaque 1er jeudi du mois de mai ». Une fois les règles de périodicité

connues, il est possible d’obtenir l’ensemble des dates (extension) par calcul. Ainsi

nous proposons de compléter l’ISO notamment avec les concepts utiles à l’expression

de périodicités temporelles en intension (Faucher et al., 2010d) tels que :

– une durée avec les notions de « semaine », de « siècle » et de « comparateur »,

permettant de spécifier que la durée entre deux instants est, par exemple, « inférieure

à 2 heures » ;

– des descripteurs périodiques utilisant les termes du calendrier auxquels sont

associés un rang, ex. : « 1er

lundi » ;

– des positions temporelles relatives entre des occurrences, ex. : « 2 heures avant

l’ouverture du musée ».

Le modèle temporel n’a pas pour objectif d’offrir toute la puissance d’expression

du langage naturel, mais de permettre à un journaliste d’exprimer des contraintes

temporelles fréquemment rencontrées dans les dépêches. Ce métamodèle n’a pas

non plus pour objectif de modéliser des propriétés d’ordonnancement de systèmes

Page 11: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

comme le permettent les CCSL11, MARTE (André et al., 2007 ; 2010), etc. Il

permet de représenter les périodes d’occurrences d’événements récurrents. La

principale limitation par rapport à d’autres langages, par exemple TimeML

(Pustejovsky et al., 2005 ; 2010), concerne l’expression de règles prenant en compte

des événements dont la date est dépendante de l’instant d’énonciation i.e., les

déictiques telles que : « 3 jours avant aujourd’hui » ou « les dernières nuits ». Nous

ne prenons pas en charge nativement dans notre langage les propriétés temporelles

conditionnelles (subordonnées) « months starting with a Monday » ou « Every

Monday that is a holiday » (Pan et al., 2005 ; Mallet et al., 2010).

Une norme existante comme EventsML-G2 fondée sur iCalendar (Dawson et

Stenerson, 1998) permet de spécifier des ensembles de dates ou de périodes, des

règles de périodicité ainsi que des exceptions. Elle fournit un schéma de

correspondance avec iCalendar. Par rapport aux besoins constatés dans RMM2,

EventsML-G2 possède certaines limitations que nous levons dans le modèle

temporel proposé :

– les périodes récurrentes imbriquées ne sont pas exprimables, ex. « tous les

1ers

jeudis de chaque mois de 10h à 14h entre mai et septembre » (1re

période : tous

les 1er jeudis de chaque mois de 10h à 14h, 2e période : mai et septembre) ;

– les propriétés temporelles de l’événement sont dispersées. Par exemple, pour la

spécification d’une règle de périodicité, des informations concernant l’heure

d’occurrence (DTSTART, DTEND) sont contenues directement par l’événement et

non par la règle de périodicité (RRULE) ;

– les positions relatives entre événements ainsi que la réutilisation de propriétés

temporelles existantes ne peuvent pas être spécifiées.

La liste ci-après résume le pouvoir d’expression en intension nécessaire et

suffisant offert par notre métamodèle temporel :

– périodicité avec une fréquence explicite : 2 fois durant une période d’un mois,

2 fois par mois calendaire ;

– périodicité avec une fréquence implicite : du 1er

jour de chaque mois au second

jour de chaque mois de février à chaque mois de novembre ;

– positionnement relatif : de 3 heures avant la basse mer à 3 heures après la

basse mer (Faucher et al., 2010d) ; l’occurrence de « basse mer » est également

définie comme propriété temporelle d’un événement, les termes « avant » et

« après » appartiennent à l’ensemble de relations que nous nommons Allen* ;

– exception périodique : tous les jours sauf le lundi.

3.3. Le métamodèle temporel

Le métamodèle temporel (cf. figure 7) décrit des concepts pour spécifier en

intension les expressions temporelles rattachées à des événements périodiques.

11. CCSL : Clock Constraint Specification Language.

Page 12: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

PeriodicTemporalOccurrence est la classe principale, elle possède des règles de

périodicité (PeriodicRule) s’exprimant, soit en termes de fréquence comme « 1 fois

par jour », soit à l’aide de descripteurs comme « tous les 1er jours de chaque mois ».

Dans ce dernier exemple, « tous les 1er jours » est un premier descripteur et « chaque

mois » est un second. CalendarUnit est une énumération décrivant les unités

calendaires utilisées par les descripteurs i.e., « tous les jours ». Dans l’expression

« tous les 1ers

jours », « 1er » est un rang (valeur de l’attribut value de la classe

NumericRank).

Notre métamodèle temporel a été testé et validé (cf. section 6) sur un corpus de

l’agence Relaxnews comportant 513 expressions temporelles relatives à des périodes

d’accessibilité décrites en langage naturel en intension, ex. « le musée est ouvert

tous les jours sauf le lundi ».

Figure 7. Extrait du métamodèle temporel

La création d’un nouveau métamodèle d’expressions temporelles et l’utilisation

d’un langage dédié (DSL) étaient ici appropriées car, d’une part, nous avions une

base à étendre, l’ISO 19108, définie sous forme d’un modèle UML, et, d’autre part,

nous souhaitions instancier et outiller le métamodèle notamment avec une syntaxe

textuelle (cf. section 4.2). Cette extension a été réalisée en utilisant la modélisation

par aspects (Aspect Oriented Modeling). Ceci permet de séparer les préoccupations

de la norme ISO par rapport aux concepts métiers. Plus précisément, l’extension est

définie dans un fichier séparé et ensuite fusionné avec l’ISO à l’aide de directives

Page 13: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

pour préciser les points d’extension. Ceci est réalisé avec les fonctionnalités d’AOM

de Kermeta (Muller et al., 2005 ; Moha et al., 2010).

4. Le processus de vérification des expressions temporelles

Les modèles objets fondés sur le concept de classe nous assurent une validité

structurelle des objets instanciés. Cependant, selon la complexité du domaine métier,

beaucoup d’efforts sont nécessaires pour mettre en œuvre une validation sémantique

de l’ensemble des instances. Dans cette section, nous montrons de quelle manière

cette validation peut être facilitée par l’utilisation d’un modèle capturant la

sémantique du domaine (Faucher et al., 2011).

4.1. Validations syntaxique et sémantique des expressions temporelles

Un métamodèle permet de définir des concepts et leurs relations. Il est possible

de créer un modèle conforme au métamodèle et de vérifier son intégrité en termes de

typage et de cardinalités. Ces contraintes de construction sont souvent insuffisantes

pour garantir la correction sémantique du modèle. OCL peut être utilisé pour ajouter

des contraintes assurant l’intégrité, mais s’avère insuffisant lorsque la sémantique

des modèles devient trop complexe.

En préliminaire à une vérification sémantique, nous définissons une grammaire

fondée sur notre métamodèle. Outre la vérification syntaxique des informations

saisies, elle permet de reformuler, dans un langage compréhensible à un humain, les

valeurs des éléments de modélisation utiles au journaliste participant à la validation :

mise en évidence des informations incohérentes, suggestions d’alternatives valides,

etc. (cf. figure 8 pour un exemple de texte contrôlé utilisant la grammaire).

Prenons comme exemple l’expression temporelle suivante : « tous les 8e jours de

la semaine ». Cette expression représente un modèle conforme à son métamodèle

mais est sémantiquement incorrecte : le rang d’un jour au sein d’une semaine est

compris entre 1 et 7. Ici l’intervalle dans lequel le rang doit être compris n’est pas

spécifié à l’aide d’une cardinalité mais par la valeur d’un attribut du modèle de

classes. Ainsi les contraintes de cardinalité ne sont pas ici exploitables. D’autres

exemples motivent notre approche comme juger de la validité de l’expression « de

chaque mardi à chaque lundi de la semaine suivante ». Ici, il est nécessaire de

connaître la relation entre « lundi » et « mardi ». Il est donc apparu indispensable de

s’appuyer sur un modèle contenant cette connaissance (sémantique du calendrier)

pour la validation des expressions temporelles.

4.2. Validation syntaxique via une grammaire générée

La grammaire évoquée précédemment offre la possibilité de saisir des

événements et des expressions temporelles avec un langage contrôlé proche du

langage naturel (Faucher et al., 2010b). Ce vocabulaire est interprétable par une

Page 14: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

machine pour produire des instances du métamodèle et, inversement, il est possible

de générer du texte conforme à ce vocabulaire à partir d’instances. Pour cela nous

utilisons l’outil Xtext12 fourni dans l’environnement EMF. La traduction

automatisée et bidirectionnelle est une aide au journaliste qui finalise l’annotation

des informations préalables à l’instanciation des propriétés temporelles d’un

événement. Ainsi ce dernier dispose d’une représentation textuelle des propriétés

(Konrad et al., 2005). L’utilisateur a la possibilité de valider ou corriger les textes et

sauvegarder la nouvelle version de l’expression. L’éditeur facilite la saisie en offrant

une autocomplétion qui propose des fragments de textes utiles. Nous avons

également des contrôles sur les textes avec des règles ETL13 (proche d’OCL14).

La figure 8 montre un exemple de règle de périodicité à l’aide d’un diagramme

d’instances et sa contrepartie textuelle générée. Il décrit l’ouverture d’un magasin :

« du lundi au vendredi, de 10h à 20h sauf le jeudi ». Le texte généré utilise une règle

de périodicité « de 10h à 20h » et une période de validité récurrente « du lundi au

vendredi ». Une exception pour le jeudi est également ajoutée. La taille du modèle

montre ici l’intérêt de la représentation textuelle pour sa concision.

Figure 8. Exemple de règle de périodicité : modèle d’instances et forme textuelle

12. Xtext : http://www.eclipse.org/Xtext/

13. ETL : http://www.epsilon.org

14. OCL : http://www.omg.org/spec/OCL/2.0/

// rule 1: 10 a.m. to 8 p.m. - rule: from each 10th hour to each 20th hour

// from Monday to Friday using a time span as from each Monday to each Friday

// except Thursday except during each Thursday

Page 15: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

4.3. Validation sémantique par contraintes associées à un modèle de calendrier

Nous définissons un modèle de calendrier afin d’ajouter de la sémantique aux

éléments calendaires, au-delà d’une simple énumération structurée. Chaque élément

calendaire est décrit comme un événement périodique. Par exemple, l’expression

« une année commence le 1er jour de janvier et se termine le dernier jour de

décembre » utilise des concepts de périodicité. Notre métamodèle permet de définir

des événements avec de telles propriétés, et chaque élément calendaire peut être défini

comme instances de notre métamodèle. Nous traitons ici le calendrier Grégorien, une

approche similaire pourrait s’appliquer aux calendriers Républicain ou Lunaire.

La figure 9 montre la mise en correspondance de l’événement Year représentant

un élément calendaire avec le littéral year de l’énumération CalendarUnit issue du

métamodèle. On utilise la référence refers fournie par la classe Event dont la cible

est un EModelElement du métamodèle d’Ecore. Ainsi on peut accéder à la définition

temporelle d’un élément du métamodèle et vérifier les contraintes où il apparaît. Le

modèle de calendrier est extensible, l’utilisateur peut ajouter de nouvelles règles, ce

qui peut renforcer l’évaluation d’une contrainte. Une première version du calendrier

peut définir la notion d’année bissextile comme ayant lieu « tous les 4 ans », puis

l’expert du domaine pourra ajouter « sauf tous les 100 ans ».

Figure 9. Relation entre un événement et un élément du métamodèle temporel

4.4. Validation sémantique à l’aide de contraintes et du modèle de calendrier

Nous considérons la validation sémantique d’un modèle comme le résultat de

l’évaluation d’un ensemble de contraintes qui mettent en jeu plusieurs métamodèles

(cf. figure 10).

Figure 10. Ressources mises en œuvre dans le processus de validation

Métamodèle Contraintes

Modèle de calendrier Modèle à valider

<<enum>>

Evénements

réfère

conforme à

utilise

//Evénement périodique représentant une année

rule: from each 1st day of each January

to each last day of each December

rule "year": 100 times during each century

réfère

Page 16: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Elles s’appliquent sur le métamodèle temporel et nécessitent un accès au modèle

de calendrier selon la dépendance utilise. Cette navigation entre les modèles est

difficile à mettre en œuvre en OCL ; Noguera et Duchien (2008) utilisent une

technique d’expression de contraintes à travers des annotations. Nous avons préféré

définir nos contraintes comme des opérations codées avec Java et utilisant des

bibliothèques d’EMF pour accéder au modèle de référence.

Comme exemple considérons deux expressions à valider afin de mettre en œuvre

l’approche décrite ci-avant :

1. chaque 8e jour de chaque semaine (each 8th day of each week)

2. chaque 8e jour de chaque mois (each 8th day of each month)

La 1re

expression est incorrecte car le modèle de calendrier stipule qu’une

semaine possède au plus 7 jours. En revanche, la 2e expression est correcte car un

mois a 31 jours au plus. La figure 11 montre la mise en œuvre de la validation de la

1re

expression.

Nous définissons une contrainte sur la classe DescriptorRule pour déterminer la

validité des expressions telle que : descn.rang <= freq( descn.unité, descn+1.unité).

La contrainte possède une fonction freq prenant en paramètres les unités de deux

descripteurs successifs. Cette fonction retourne la fréquence définie dans le modèle

de référence et associée au couple d’unités de descripteurs. Pour le couple (jour,

semaine) : freq(day, week) = 7. Ainsi le rang de l’expression à valider doit être

inférieur ou égal à 7. Dans l’exemple, le rang de l’expression à valider a pour valeur

8, donc une erreur sera signalée car 8 > freq(day, week).

Figure 11. Exemple de contrainte utilisant le modèle de calendrier

5. Configuration et génération d’une application de visualisation

spatio-temporelle d’événements

Afin de visualiser les événements saisis ou générés, une tâche du projet RMM2

visait à fournir une application web de visualisation d’événements. L’objectif est de

produire une application facilement configurable et maintenable pour réduire les

développements notamment lors de mises à jour. Cette section présente les aspects

majeurs de la démarche IDM définie pour ce travail dans un contexte d’évolution

fréquente des composants graphiques utilisés.

Expression à valider sémantiquement : each 8th day of each week

Extrait du modèle de calendrier

// jours par semaine :

rule "day": 7 times during one 1 weeks period

desc n desc n+1

Page 17: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

5.1. Les besoins en IDM pour la sélection de données et la génération

d’applications web

Les applications web deviennent de plus en plus élaborées grâce à l’usage de

bibliothèques de composants offrant des fonctionnalités avancées pour la

visualisation des données. Avec ce type de bibliothèque une partie importante du

travail de développement porte sur l’intégration de données c’est-à-dire la sélection

et la structuration des données fournies à ces composants.

Les données visualisées dans ces applications peuvent provenir de différentes

sources : bases de données relationnelles, bases de connaissances (points

d’interrogation SPARQL) ou flots XML. Il est rarement pertinent de visualiser

l’ensemble des données disponibles. Un travail de réorganisation, de sélection et de

fusion est nécessaire. Pour cela, nous considérons deux métamodèles : le

métamodèle d’événements (M2_TemporalEvents) et celui de contenu (content) (cf.

figure 12). Le métamodèle M2_TemporalEvents représente l’ensemble des données

provenant de différentes sources sur lesquelles s’opère la sélection des données. Le

métamodèle Content correspond aux données visualisées. Le passage de l’un à

l’autre a été mis en œuvre à l’aide d’une transformation de modèles.

Figure 12. Métamodèles pour la publication d’événements

Comme différentes bibliothèques peuvent être utilisées pour la visualisation, un

de nos objectifs est d’offrir au développeur de l’application à la fois de la flexibilité

et la possibilité de réutiliser des modèles. Pour cela, nous proposons un ensemble de

métamodèles associés à une application web traitant de différentes préoccupations :

contenu visualisé, composants employés et disposition graphique utilisée avec leurs

inter-relations (cf. figure 12). Nous ne nous sommes pas intéressés à l’aspect

navigation car notre interface est constituée d’une seule page. Similairement à

d’autres approches (Koch et al., 2008 ; Rossi et al., 2008) nous avons introduit un

métamodèle de composants (Widgets) et un métamodèle de disposition (Layout).

Pour la liaison entre les composants et les données, nous utilisons un métamodèle de

correspondance nommé « Widget_Content ». Les liens entre les composants et les

définitions de disposition sont stockés comme instances du métamodèle

« Widget_Layout ». Cette architecture rend facilement réutilisable chacun des

Page 18: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

modèles instances des métamodèles pour produire des familles de configuration sans

nécessiter la recréation totale des modèles.

Les composants utilisés sont écrits en JavaScript. Leurs propriétés sont décrites

dans des métamodèles automatiquement construits par analyse de leur code source.

Les techniques de l’IDM assurent l’automatisation de la production de données.

Nous démontrons la mise en œuvre en utilisant la bibliothèque Simile Exhibit15

permettant de publier des informations structurées à partir de serveurs web. Notre

approche, nommée MODSEA (MOdel Driven engineering for Simile Exhibit

Application16), est donc orientée-modèle et en utilise différentes facettes :

– la métamodélisation pour abstraire les concepts utilisés et ainsi les gérer via

des métamodèles et modèles ;

– des transformations de modèles pour traduire les concepts d’un métamodèle

source vers un métamodèle cible ;

– la composition de modèles (Clarke, Walker, 2001) pour construire de manière

incrémentale un des métamodèles présentés par la suite ;

– la génération de code avec des patrons prenant en entrée des modèles.

5.2. Le métamodèle de composants graphiques

Le métamodèle de composants Widgets permet de configurer les composants

utilisés dans l’application web. Le métamodèle de composants est dual, une partie est

consacrée aux propriétés communes (métamodèle CWidget) et l’autre partie concerne

les attributs spécifiques (métamodèles SWidget). CWidget a pour classe racine Widget,

super-classe des différents types de composants (Timeline, Filter, etc.).

La partie spécifique (SWidget) est représentée par un ensemble de métamodèles

de composants (un par bibliothèque) définissant chacun les propriétés spécifiques du

composant concerné. Pour intégrer ces métamodèles au métamodèle CWidget, un

processus de composition de modèles est utilisé pour produire le métamodèle

complet Widgets (cf. section 5.3).

Lorsqu’une nouvelle version d’une bibliothèque est publiée, de nouveaux

composants peuvent apparaître ou certains peuvent être mis à jour (ex. ajout d’un

nouveau paramètre de configuration). Si le développeur souhaite utiliser ces

améliorations, il convient de mettre à jour Widgets. Si les nouvelles versions sont

fréquentes, il est difficile de réaliser des vérifications continues et de modifier

manuellement le métamodèle Widgets. Ainsi une extraction automatique des

propriétés de configuration permet de maintenir Widgets à jour.

15. Simile Exhibit : http://www.simile-widgets.org/exhibit/

16. MODSEA : http://relaxmultimedia2.univ-lr.fr/

Page 19: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Le développement de bibliothèques comme Simile Exhibit ou Ext JS17 est réalisé

en JavaScript. Leur structure et l’information qu’elles contiennent permettent à un

programme de les analyser et d’extraire suffisamment d’informations pour déduire un

modèle de configuration pour chacun des composants (SWidget). Ainsi nous

proposons de faciliter l’évolution du métamodèle Widgets en générant ses parties

spécifiques SWidget. Un composant peut être défini par une série de propriétés,

notamment dans un objet JSON (JavaScript Object Notation) pour Simile Exhibit (cf.

figure 13a) ou bien encore par des annotations dans le cas d’Ext JS (cf. figure 13b).

Exhibit.TimelineView_settingSpecs = {

"topBandHeight": { type: "int", defaultValue: 75 },

"topBandUnit": { type: "enum", choices:

Exhibit.TimelineView._intervalChoices },

"colorCoder { type: "text", defaultValue: null },

"selectCoordinator" { type: "text", defaultValue: null }

};

(a) Extrait de descriptions JSON pour un objet Timeline de Simile Exhibit

@cfg {Boolean} rootVisible false to hide the root node (defaults to

true)

@cfg {Object} dragConfig Custom config to pass to the {@link

Ext.tree.TreeDragZone} instance

@cfg {String} hlColor The color of the node highlight (defaults to

C3DAF9)

(b) Extrait de la configuration pour un objet TreePanel d’Ext JS

Figure 13. Extraits de définitions de paramètres pour configurer

les composants graphiques

À partir des propriétés analysées, un SWidget est généré pour chacun des

composants. Pour cela plusieurs étapes sont nécessaires et la figure 14 présente ce

processus. Tout d’abord, nous avons défini un métamodèle nommé ExhibitWidget

qui a pour but d’abstraire la bibliothèque Simile Exhibit. Ce métamodèle exprime

les différents types de composants graphiques i.e., WidgetType (des instances de

WidgetType seront Timeline, Filter, etc.) et les différents types de propriétés de

configuration que peut posséder un tel composant : ex. topBandHeight.

Le métamodèle ExhibitWidget est instancié lors de l’extraction des propriétés,

puis ces instances sont transformées en métamodèles SWidget via un mécanisme de

promotion de modèle. Nous utilisons la promotion de modèle car nous sommes ici

capables de traduire la totalité des concepts du métamodèle de configuration de

composant en concepts Ecore.

17. Ext JS : http://www.sencha.com/products/extjs/

Page 20: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Figure 14. De la spécification de la bibliothèque Exhibit au modèle Widgets

de configuration de l’application web

5.3. Construction incrémentale du métamodèle de composants par compositions

de modèles successives

Comme annoncé en section 5.2, afin de rendre MODSEA adaptable aux futurs

ajouts et améliorations de Simile Exhibit, la construction du métamodèle Widgets est

réalisée avec une approche générative : la composition de modèles. Le métamodèle

Widgets est basé initialement sur des éléments communs CWidget (cf. figure 15 :

Widget, View, Lens) et onze métamodèles SWidget issus de onze composants

Exhibit. Les SWidget sont intégrés successivement au métamodèle Widgets à l’aide

du moteur de composition de modèles Kompose (Fleurey et al., 2007). Pour mettre

en œuvre une composition de modèles, il est nécessaire d’identifier les concepts

communs aux modèles qui seront utilisés comme points de jonction (Clarke,

Walker, 2001) pour fusionner les modèles.

Avec Kompose, cette identification utilise une approche fondée sur les

signatures (Reddy et al., 2005). Ainsi la signature d’une classe Ecore correspond à

son nom qualifié (packageName::ClassName), cette signature étant suffisante pour

identifier les classes à composer et, par conséquent, les points de jonction. Pour

l’utilisateur aucune opération d’identification n’est à réaliser car la mise en

correspondance des signatures est assurée par Kompose.

La figure 15 montre un extrait du résultat du processus de composition de

modèles pour le composant TimelineView. Ainsi, le SWidget dédié à TimelineView a

été intégré dans Widgets en utilisant les points de jonction représentés par les classes

Ecore : AbstractTimeline, IconCoder and ColorCoder (éléments sur fond noir). Ce

sont les signatures de ces trois classes qui permettent l’identification des points

communs entre le métamodèle global Widgets et le spécifique SWidget. La classe

TimelineView, la relation d’héritage d’AbstractTimeline et les références iconCoder

et colorCoder (éléments en gras) ont été ajoutés par Kompose.

conforme à

M2 ExhibitWidget

Modèles de

ExhibitWidget

M2 Widgets

CWidget

SWidget

promotion

Modèle de Widgets pour configurer l’application

conforme à

Simile Exhibit

Exhibit.TimelineView_setti

ngSpecs = {

"topBandHeigh

t": { type:

"int",

defaultValue:

75 }

}

Page 21: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Figure 15. Résultat de la composition de modèles pour le composant Timeline

Lorsqu’une nouvelle version de Simile Exhibit est disponible, le processus de

génération du métamodèle Widgets peut être lancé afin de préserver la cohérence

avec cette nouvelle version. Aucune modification complémentaire n’est nécessaire.

Le concepteur définit son application en instanciant le métamodèle Widgets et en

choisissant les composants graphiques qu’il souhaite intégrer dans l’application

finale. Ensuite une transformation de modèles applique des patrons de code HTML

pour générer l’application, nous ne montrons pas ici le processus dans sa totalité

faute de place, mais la figure 5 montre un exemple d’application générée par l’AFP.

6. Expérimentation du processus : de l’annotation des dépêches

à la visualisation des événements dans une interface web

Afin d’évaluer nos approches, nous avons pris pour référence des corpus de

dépêches provenant des sociétés partenaires de ce projet. Dans cette section nous

décrivons deux expérimentations : la première concerne le traitement d’expressions

temporelles décrivant des périodes d’accès en intension ; la seconde a pour objet la

mise en œuvre du processus MODSEA pour fournir des applications de visualisation

d’événements fonctionnant sur différentes plateformes.

Page 22: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

6.1. Des textes annotés aux instances du métamodèle d’événements

Comme nous l’avons présenté précédemment, un des objectifs de l’environnement

de production est de transformer des textes en langage naturel annoté en textes

utilisant un vocabulaire contrôlé (grammaire). Ce processus est une succession de

transformations de modèles (Faucher et al., 2010c), supervisées par un acteur humain,

permettant de passer du texte initial annoté à des informations garanties cohérentes,

enrichies de métadonnées et de propriétés temporelles calculables.

Ce processus a été mis en œuvre sur un corpus d’expressions temporelles

(513 exemples) sélectionné par l’agence Relaxnews. Ces expressions décrivent des

périodes d’accessibilité à des lieux publics. Cette phase d’expérimentation a permis

d’affiner les phases d’annotation et de validation. En effet, des expressions correctes

pour l’annotation peuvent être incomplètes pour le métamodèle temporel, i.e. des

incohérences d’unités comme, l’emploi successif de la même unité : « chaque 3e

jour de chaque mardi de chaque semaine ». Ici, « 3e jour » et « mardi » ont la même

résolution temporelle.

Le jeu de tests de référence18 pour notre transformation fournit, pour chaque

exemple, le modèle de période d’accès correspondant. Celui-ci est directement issu

des annotations réalisées avec les extracteurs de MoDyCo. Nous donnons également

le résultat de la transformation qui est une instance de notre métamodèle

d’événements. La dernière colonne donne le résultat de la validation. L’exemple 30

montre l’intérêt de la validation du coté modèle. En effet, l’expression « dimanche à

16h30 » doit être comprise comme un événement qui aura lieu « tous les dimanches

à 16h30 ». Or la phase d’annotation a interprété l’expression 30 comme un

événement commençant « tous les dimanches » et se terminant « tous les jours à

16h30 ». Les invariants et les vérifications réalisées lors de la transformation

permettent de détecter une erreur signalant un problème de granularité entre le début

et la fin de l’expression. Une instance du métamodèle temporel est cependant créée

pour permettre à l’expert de corriger l’expression.

Deux autres transformations de modèles ont été développées pour obtenir des

instances du modèle pivot à partir, soit d’événements au format EventsML-G2, soit

d’événements issus de flux RSS. Nous avons traité les flux RSS de la « FNAC

Spectacle19 » et de « l’Équipe20 ». Dans les flux RSS, les informations intéressantes,

pour la création d’événements, figurent dans les balises item. Celles-ci sont

analysées puis transformées en événements simples ou complexes en fonction du

nombre de propriétés temporelles capturées dans un même item.

18. Tests AP2TOM : http://relaxmultimedia2.univ-lr.fr/ap2tom/benchmark.html

19. FNAC Spectacle : http://www.fnacspectacles.com/rss/?flux=famille&famid=1MC

20. L’Equipe : http://www.lequipe.fr/Xml/actu_rss.xml

Page 23: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

6.2. Famille d’applications web

Nous avons utilisé la démarche MODSEA pour configurer et générer des

applications web dans le but de visualiser des flux d’événements provenant des

agences Relaxnews et AFP. Nous utilisons ici le terme de famille d’applications web

car nous avons configuré et généré plusieurs applications partageant des modèles

communs. La figure 16 montre deux de ces applications avec les mêmes modèles

Content et Widgets nécessaires à leur génération. Ainsi, la définition d’une application

est le résultat de la combinaison des modèles Content, Widgets et Layout.

Figure 16. Famille d’applications web pour la visualisation d’événements21

7. Conclusion et perspectives

Dans le travail présenté, l’IDM a un rôle central. Dans la première partie du

projet, le nombre important de concepts liés à la notion d’événement journalistique a

pu être structuré et validé par l’ensemble des partenaires via une collection de

métamodèles définissant le domaine métier. L’IDM a permis l’intégration de normes

existantes dans ces modèles par extension. À partir de ces métamodèles, l’IDM nous

a fourni des outils permettant :

– d’importer et d’exporter les événements sous différents formats (NewsML-G2,

JSON), en utilisant principalement des transformations de modèles développées

avec Kermeta ;

– de créer une syntaxe concrète pour la représentation des événements dans un

langage proche du langage naturel via l’utilisation de Xtext. Les retours

d’expérience des journalistes montrent que ce langage facilite la compréhension des

informations saisies notamment via une reformulation des expressions temporelles ;

– de développer un processus de validation original pour les expressions

temporelles périodiques, fondé sur des règles exploitant les informations présentes à

la fois dans un métamodèle et dans un modèle externe. La complexité inhérente au

métamodèle d’expression temporelle a ainsi pu être contrôlée en exploitant les

informations contenues dans un modèle de calendrier, lui-même étant représenté

21. MODSEA : http://relaxmultimedia2.univ-lr.fr/modsea/

Page 24: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

sous forme d’événements calendaires périodiques. Ce travail a permis de mettre en

évidence les limitations d’OCL pour exprimer des contraintes entre différents

niveaux de modélisation.

Bien que la mise en œuvre de ces outils n’ait pas toujours été simple, le temps

gagné nous a permis de prototyper rapidement le processus de saisie et de validation

des événements avec un effort particulier sur l’expression temporelle. Ce

prototypage a permis ainsi aux journalistes de tester la saisie de nombreuses

expressions temporelles, ce qui nous a conduits en retour à pouvoir raffiner le

pouvoir d’expression de la temporalité. Le processus global, allant de l’extraction

d’information à l’instanciation du métamodèle d’événements, a été testé et validé

sur un jeu d’expressions fourni par l’agence Relaxnews.

Parallèlement aux développements liés au métamodèle métier, nous avons

développé un ensemble de métamodèles et les transformations associées pour créer

une interface graphique dédiée à la visualisation d’événements. De plus l’IDM a

permis de conceptualiser les bibliothèques de composants utilisées, en nous rendant

relativement indépendant des spécificités de la bibliothèque choisie.

Remerciements

Ce travail est financé par le programme ANR « Contenus et Interactions ».

Bibliographie

Allen J. F. (1983). Maintaining knowledge about temporal intervals. Communications of the

ACM, vol. 26, n° 11, p. 832-84.

André C., De Antoni J., Mallet F., Simone R. (2010). The Time Model of Logical Clocks

Available in the OMG MARTE Profile. Synthesis of Embedded Software, S. K. Shukla,

J.-P. Talpin (eds), Springer US, p. 201-22.

André C., Mallet F., de Simone R. (2007). Modeling Time(s). Models’07, G. Engels,

B. Opdyke, D. Schmidt, F. Weil (eds), vol. 4735 of Lecture Notes in Computer Science,

Springer Berlin/Heidelberg, p. 559-573.

Battistelli D., Couto J., Minel J.-L., Schwer S. R. (2008). Representing and Visualizing

Calendar Expressions in Texts. Semantics in Text Processing. STEP 2008 Conference

Proceedings, vol. 1 of Research in Computational Semantics, J. Bos, R. Delmonte (eds),

College Publications, Venice, Italy, p. 365-373.

Carnap R. (1947). Meaning and Necessity. University of Chicago Press.

Clarke S., Walker R. J. (2001). Composition Patterns: An Approach to Designing Reusable

Aspects. ICSE 2001, IEEE Computer Society, Washington, DC, USA, p. 5-14.

Dawson F., Stenerson D. (1998). Internet Calendaring and Scheduling Core Object

Specification (iCalendar) - RFC2445.

Faucher C., Lafaye J.-Y., Bertrand F. (2012). Putting Non Convex Interval Mutual Relation

Models into Practice. Rapport de Recherche, Université de La Rochelle, France, p. 22,

http://hal.archives-ouvertes.fr/hal-00685182.

Page 25: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Faucher C., Chea S., Bertrand F., Lafaye J.-Y. (2011). Validation sémantique d’objets à l’aide

D’un modèle de référence et de contraintes. IDM 2011, Lille, France, p. 109-113.

Faucher C., Bertrand F., Lafaye J.-Y. (2010a). Génération d’un métamodèle de composants

graphiques à partir de la spécification d’une bibliothèque de composants Web. Atelier

IDM-IHM, Pau, France.

Faucher C., Lafaye J.-Y., Bertrand F., Teissèdre C. (2010b). Modélisation et reformulation

d’expressions temporelles extraites de textes en langage naturel. AFADL 2010,

Futuroscope-Poitiers, France, p. 213-216.

Faucher C., Teissèdre C., Lafaye J.-Y., Bertrand F. (2010c). Temporal Knowledge

Acquisition and Modeling. EKAW 2010, vol. 6317 of LNCS (LNAI), Springer-Verlag,

Lisbon, Portugal, p. 371-380.

Faucher C., Tissot C., Lafaye J.-Y., Bertrand F., Brosset D., Rouan M. (2010d). Location- and

temporal-based services for nature-society interaction regulation. Journal of Location

Based Services (JLBS), vol. 4, n° 3-4, p. 147-165.

Faucher C., Bertrand F., Lafaye J.-Y. (2008). Génération d’ontologie à partir d’un modèle

métier UML annoté. RNTI, vol. E, n°12, p. 65-84.

Fleurey F., Baudry B., France R., Ghosh S. (2007). A Generic Approach For Automatic

Model Composition. Aspect Oriented Modeling Workshop, Nashville, USA, p. 7-15.

Koch N., Knapp A., Zhang G., Baumeister H. (2008). UML-Based Web Engineering: An

Approach Based on Standards. Human-Computer Interaction Series, vol. 12, p. 157-191.

Konrad S., Cheng B. H. C. (2005). Real-time specification patterns. ICSE 2005, p. 372-381.

Ligozat G. (1991). On generalized interval calculi. AAAI-91, p. 234-240.

Mallet F., De Antoni J., André C., de Simone R. (2010). The clock constraint specification

language for building timed causality models. Innovations in Systems and Software

Engineering, vol. 6, n° 1, p. 99-106.

Moha N., Sen S., Faucher C., Barais O., Jézéquel J.-M. (2010). Evaluation of Kermeta for

Solving Graph-based Problems. STTT, vol. 12, n° 3-4, p. 273-285.

Muller P.-A., Fleurey F., Jézéquel J.-M. (2005). Weaving Executability into Object-Oriented

Meta-Languages. MODELS/UML’2005, S. K. L. Briand (ed.), vol. 3713 of LNCS,

Springer, Montego Bay, Jamaica, p. 264-278.

Noguera C., Duchien L. (2008). Annotation Framework Validation using Domain Models,

ECMDA 2008. vol. 3844 of LNCS, p. 584-600.

Pan F., Hobbs J. R. (2005). Temporal Aggregates in OWL-Time. FLAIRS 2005, p. 560-565.

Pustejovsky J., Lee K., Bunt H., Romary L. (2010). ISO-TimeML : An International Standard

for Semantic Annotation. Proceedings of the 7th conference on International Language

Resources and Evaluation (LREC’10), ELRA, Valletta, Malta, p. 394-397.

Pustejovsky J., Knippen R., Littman J., Sauri R. (2005). Temporal and Event Information in

Natural Language Text. Language Resources and Evaluation, vol. 39, n° 2-3, p. 123-164.

Reddy R., France R., Ghosh S., Fleurey F., Baudry B. (2005). Model Composition - A

Signature-Based Approach. Aspect Oriented Modeling Workshop, Montego Bay, Jamaica.

Page 26: Une approche fondée sur l IDM pour le développement d un ... · Une approche fondée sur l’IDM pour le développement d’un environnement de production journalistique Cyril Faucher1,

Rossi G., Pastor O., Schwabe D., Olsina L. (2008). Web Engineering: Modelling and

Implementing Web Applications. Human-Computer Interaction Series, vol. 12, Springer

Verlag.

Teissèdre C., Battistelli D., Minel J.-L. (2010). Resources for Calendar Expressions Semantic

Tagging and Temporal Navigation through Texts. Proceedings of the 7th conference on

International Language Resources and Evaluation (LREC’10), ELRA, Valletta, Malta,

p. 3572-3577.

Cyril Faucher est doctorant en informatique depuis 2009 au laboratoire L3i de

l’Université de La Rochelle. Ses travaux abordent la modélisation et la gestion de données

temporelles d’événements périodiques en lien avec l’e-Tourisme. Ses domaines d’intérêt sont

l’ingénierie logicielle, l’IDM et la gestion des connaissances. Auparavant il a été, pendant

près de 3 ans, ingénieur expert dans l’équipe INRIA Triskell à l’IRISA dans le cadre du projet

OpenEmbeDD.

Frédéric Bertrand est enseignant-chercheur en informatique au laboratoire L3i et au

département informatique de l’Université de La Rochelle depuis 1997. Ses thèmes de

recherche portent sur la mise en correspondance d’informations issues de modèles objets et

d’ontologies. Il travaille également sur la modélisation temporelle d’événements récurrents.

Il a été responsable, pour le L3i, du projet RIAM Relaxmultimedias 1 et co-responsable du

second projet Relaxmultimedias.

Jean-Yves Lafaye est professeur au laboratoire L3i de l’Université de La Rochelle

depuis 2000. De manière générale ses activités de recherche et d’enseignement se

développent dans les domaines de la modélisation formelle et semi-formelle des systèmes et

des connaissances. Depuis quelques années, il s’intéresse plus particulièrement à la

représentation et au traitement des informations spatio-temporelles, tant du point de vue

théorique qu’applicatif.

Denis Teyssou est responsable éditorial du Médialab de l’Agence France-Presse, unité

de R&D transdisciplinaire dédiée à la veille et à l’innovation (procédés et produits) depuis

2007. Il participe à ce titre à plusieurs projets européens et français (FUI et ANR) dans le

domaine de la structuration et de la visualisation de l’information comme Glocal (UE,

organisation des médias selon les événements), EDyLex (enrichissement dynamique de

ressources lexicales), Samar (plateforme multimédia en arabe), ChronoLines (chronologies

événementielles multimédia) et OTMedia (observatoire transmedia, analyse de la

propagation de l’information).

Mathieu Bully est directeur technique de l’agence de presse Relaxnews spécialisée dans

l’actualité des loisirs depuis 2005. Il définit et met en place les technologies et architectures

des SI, pilote les projets web/mobile/print, participe aux phases d’avant-vente et de

construction d’offres. Il définit également la stratégie R&D et, dans ce cadre, a piloté les 2

projets RIAM et ANR Relaxmultimedias 1 et 2. Auparavant, il avait participé à la conception

et la réalisation de l’intranet du ministère de la Justice (MODALIN) au sein de la SSII CGBI

puis au service de l’information et de la communication du ministère de la Justice.