MPEG 21 Part 20: description générale de CEL (Contract Expression Language)

CEL est un langage général qui peut être utilisé pour exprimer des accords contractuels sous une forme non ambiguë, interprétable par une machine. Il est conçu pour fournir un cadre architectural extensible. Il comprend également un ensemble de vocabulaires de base communs et spécifiques à une application permettant de spécifier des contrats dans de nombreuses applications potentielles. Le rôle des contrats souscrits dans CEL est de décrire les accords commerciaux (généralement contractuels) conclus entre des parties participant à la chaîne de valeur de l'entreprise, de manière à ce que, lorsque les contrats sont spécifiés, les intérêts et obligations des participants à la chaîne de valeur puissent être pris en compte. communiquées, interprétées et exécutées par des machines.

A. Concepts de base

Qu'est-ce qu'un contrat? Selon une définition, un contrat est «une promesse, ou un ensemble de promesses, pour le non-respect duquel la loi prévoit un recours, ou pour une exécution que la loi reconnaît en quelque sorte comme un devoir». Deux ou plusieurs parties peuvent rédiger un contrat et déclarer leur consentement à tout acte ou toute chose à faire ou à s'abstenir de faire par certains d'entre eux.

Dans la CEL, un contrat est considéré comme un accord entre deux ou plusieurs parties portant sur un certain nombre de promesses faites par certaines parties. La nature d'un accord nécessite qu'un contrat valide soit signé par toutes les parties impliquées. Chaque promesse contient plusieurs clauses, chacune d'elles énonçant une relation comme suit:

  • certaines parties possèdent un droit (ou une permission) sur ce que les autres concèdent,
  • certaines parties lient une obligation à ce que l'autre exige,
  • certaines parties suivent une interdiction de ce que l'autre impose,
  • certaines parties voient une intention à ce que l'autre exprime, ou
  • certaines parties connaissent une affirmation de ce que l'autre fait.

Un droit (ou une permission), une obligation ou une interdiction signifie l'exécution ou la non-exécution d'un acte. La différence entre eux réside dans les types de modalité de l'acte auquel ils s'adressent. Un droit ou une permission est un type de modalité caractérisé par le mot «peut/may», une obligation classée par le mot «doit/must» et une interdiction par «ne doit pas/must not». En revanche, une intention signifie un désir d'accomplir un acte, et une assertion décrit un fait sur l'état de la relation selon lequel un acte a été accompli, est en train d'être accompli ou le sera dans le futur.

La relation énoncée dans une clause peut être subordonnée à la survenance d'un événement ou à la réalisation d'une condition. Un événement capture les modifications dans un contexte système ou un environnement pouvant nécessiter l'examen ou l'exécution de la clause. Par exemple, une clause d’obligation peut être déclenchée lorsqu’un événement se produit et, le cas échéant, les parties doivent s’acquitter de l’obligation. Le traitement événementiel permet de construire des systèmes plus efficaces pour gérer (par exemple, consulter, exécuter et appliquer) les contrats.

Les clauses peuvent également être mutuellement dépendantes. Les types simples de dépendance sont ceux qui reposent sur l’existence et la validité d’un autre. Les plus complexes sont ceux basés sur la performance ou la non performance des autres. Ces types de dépendance peuvent être utilisés pour modéliser les récompenses pour l'exécution de contrats et les solutions pour rupture de contrats.

Il est également important qu'un contrat soit modélisé comme un objet dynamique avec son cycle de vie. Les opérations de création, de négociation, d'exécution et de révocation de contrats elles-mêmes doivent également être gérées de manière fiable.

​​B. Approche 

CEL utilise la technologie XML pour définir sa syntaxe et sa sémantique. Il est basé sur le MPEG REL (Rights Expression Language). Il utilise les concepts, éléments et types pertinents définis dans le REL comme blocs de construction. Il adopte également les mécanismes d'extensibilité de REL fournis par le schéma XML, ce qui permet, par exemple, de séparer les éléments centraux de CEL et leurs relations spécifiées sous la forme de son modèle de données des vocabulaires spécifiques à l'application capturés sous la forme de diverses extensions du « cœur ». Ce type de cohérence de conception assure l'interopérabilité avec le REL MPEG.

Comme le MPEG REL, le CEL est défini comme un langage déclaratif. Cela signifie que la sémantique des expressions écrites dans CEL ne dépend pas des aspects procéduraux ou de contrôle de l'interprétation des expressions et que l'interprétation des expressions CEL ne produit aucun effet secondaire - en d'autres termes, l'état d'un système qui utilise CEL ne change pas. en raison de l'évaluation de toute expression CEL

C. Modèle de données

Le diagramme suivant illustre le modèle de données CEL :

 

Figure 01 : CEL data model

Dans ce modèle, l'élément racine d'une expression CEL est l'élément « Contract ». Il contient un ou plusieurs éléments « Promise » et un ou plusieurs éléments « Signers » représentant les parties qui s'engagent à respecter les déclarations des éléments « Promise » dans le contrat. Chaque promesse est en outre définie comme une agglomération de clauses et peut contenir un ou plusieurs émetteurs, chacun de ceux-ci émettant et signant éventuellement les déclarations transmises par les clauses de la promesse. Un émetteur est différent d’un signataire en ce sens que le premier fait la déclaration contenue dans la clause qu’il publie, alors que le dernier accepte cette déclaration. Chacune des clauses peut contenir des éléments Event, Principal, Act, Resource et Condition, mais ces 3 éléments sont facultatifs, à l'exception de Act. Le cadre général du CEL est basé sur ce modèle de clause EPARC. Plus spécifiquement, «EPARC» représente les composants clés suivants:

  1. « Even/Evénement » : élément facultatif représentant un événement déclencheur.
  2. « Principal » : élément facultatif représentant une partie ou un ensemble de parties pouvant accomplir l'acte spécifié dans la loi sur les éléments homologues.
  3. « Act/Acte »: élément requis représentant un acte ou un ensemble d’actes.
  4. « Resource/Ressource »: élément facultatif représentant une ressource ou un ensemble de ressources auquel s'applique la loi.
  5. « Condition »: élément facultatif représentant une condition, sous réserve de laquelle la loi peut être exécutée.

Actuellement, CEL a fourni cinq types spécifiques de clauses qui sont des extensions syntaxiques et sémantiques de la clause: Grant, Duty, Ban, Intent and Claim(Octroi, Obligation, Interdiction, Intention et Réclamation). Leur sémantique est la suivante :

  1. « Grant/Octroi » : chaque fois que l’événement est déclenché, donne au mandant le droit d’exécuter l’acte spécifié « Ressource » fournie si la condition est remplie.
  2. « Duty/Obligation »: chaque fois que l’événement est déclenché, le donneur d’ordre est tenu d’exécuter la loi de « Ressource » : lorsque la condition est remplie.
  3. « Ban/Interdiction »: chaque fois que l'événement est déclenché, il est interdit au donneur d'ordre d'exécuter la loi sur la ressource sous condition.
  4. « Intent/Intention » : chaque fois que l'événement est déclenché, exprime l’« intention du principal » d’appliquer la loi sur la ressource sous condition.
  5. « Claim/Réclamation »: chaque fois que l'événement est déclenché, affirme le fait que le principal a exécuté la loi sur la ressource lorsque la condition a été remplie.

Ces clauses spécifiques font des déclarations contractuelles individuelles pour transmettre des informations permissives, obligatoires, prohibitives, intentionnelles et assertives, et ce, lorsque regroupées dans les promesses faites par leurs émetteurs

 

 

Auteur(s):