• Aucun résultat trouvé

=w

M Pp si est seulement si

$w'ŒW/w¬w' , =w' M p

La définition d’un système logique nécessite la considération d’axiomatiques et de règles d’inférence. À titre d’exemple, nous citons :

- La règle d’inférence :

p

Op (dite Règle de Nécessité ou RN), qui signifie que si le système contient p (l’hypothèse), il contient Op (la conclusion).

- L’axiome K : O(pfiq) fi (OpfiOq).

- L’axiome D : OpfiPq. Si une logique déontique inclut cet axiome, alors la relation d’accessibilité ¬ est sérielle, c’est-à-dire :

$wŒW/$w'ŒW/w¬w'.

5.3. Langage proposé pour Or-BAC

Dans la section 3.3, nous avons représenté Or-BAC à l’aide d’UML. Notre langage déontique

“L” doit fournir une syntaxe permettant d’exprimer les instances des relations existantes entre les entités.

Chaque expression de L contiendra des symboles extraits d’un vocabulaire particulier classés en quatre groupes : les symboles de constante, les variables individuelles, les symboles de relation et les symboles de fonction.

5.3.1. Le langage

5.3.1.1 Constantes

Les symboles de constante correspondent aux instances des entités du diagramme. Ainsi, il y a autant de types q de symboles de constante que d’entités dans notre diagramme, c’est-à-dire : Organisation, Sujet, Objet, Action, Rôle, Vue, Activité et Contexte. Nous avons par exemple les symboles de constante de type :

- Organisation, comme Purpan, Rangueil, ICU31, etc., - Sujet, comme Jean, Marie, ICU31, etc,

- Objet, comme F31.doc, F32.doc, F33.tex, etc., - Action, comme lire, écrire, select, etc.,

- Rôle, comme médecin, infirmière, unité_des_soins_intensifs, etc.,

- Vue, comme dossier_administratif, dossier_médical, dossier_chirurgical, etc., - Activité, comme lecture, écriture, consultation, etc.

- Contexte, comme urgence, etc.

Les constantes sont notées par des lettres minuscules comme a, b et c.

5.3.1.2 Variables

Les variables sont notées par des lettres minuscules comme x, y et z. Il y a des variables individuelles pour chaque type q. Les symboles de constante de type q et les variables individuelles de type q seront appelés termes-q.

Les symboles de relation de L, notées par des mots commençant par des lettres majuscules P, Q, R, etc., correspondent aux relations de notre diagramme. Chaque symbole de relation P de L est considéré comme un type de relation. Par exemple :

- RdO est un symbole de relation de type (Organisation, Sujet, Rôle).

- VdO est un symbole de relation de type (Organisation, Sujet, Vue).

- Est_permis, Est_interdit, Est_obligatoire, Est_recommandé sont des symboles de relation de type (Sujet, Objet, Action).

5.3.1.3 Formules atomiques

Avec les prédicats, les actions définissent les éléments fondamentaux du langage. Par exemple : TRANSMETTRE(u, f, u’) : permet à u de transmettre le fichier f à u’ ; CREEROrg(u, org) : permet de créer une organisation.

Au moyen des prédicats et des actions, on peut définir les formules atomiques : si A est un prédicat ou une action de type “l1, .., ln” et si “t1, .., tn” sont des termes de type “l1, .., ln” alors A(t1, .., tn) est une formule atomique. Par exemple, le prédicat RdO(Bob, médecin, Hôpital-Rangueil) ; et l’action LIRE(Bob, F5.doc) sont des dormules atomiques.

5.3.1.4 Fonctions

À ce stade, notre langage n’est pas assez expressif pour pouvoir comparer des entités. Dans de nombreuses applications, nous désirons dériver des informations concernant certaines propriétés des entités. D’un point de vue formel, des symboles de fonction sont utilisés pour décrire les attributs de ces entités. Les symboles de fonction sont notés par des lettres minuscules comme f, g et h. À chaque symbole de fonction f sont associés un domaine et un co-domaine (encore appelé domaine image de la fonction). Le domaine et le co-domaine d’un symbole de fonction dépendent de la nature des attributs qui lui sont associés. Si un symbole de fonction correspond à l’attribut Nom, alors son domaine est de type Sujet et son co-domaine est un ensemble de noms. De même, le domaine d’un symbole de fonction correspondant à un attribut Âge est de type Sujet et son co-domaine est un ensemble d’entiers positifs. Enfin, le domaine d’un symbole de fonction correspondant à l’attribut Groupe_sanguin est de type Sujet et son co-domaine est l’ensemble {A, AB, B, O}. Dans la mesure où il est possible que des sujets n’aient pas de nom ou que leur groupe sanguin soit inconnu, les symboles de fonction du langage L peuvent n’établir qu’une correspondance partielle entre les domaines et co-domaines associés. Dans de nombreuses situations, il nous est impossible d’attribuer une valeur unique à certains attributs d’une entité. Pour répondre à une telle situation d’un point de vue conceptuel, nous utilisons des symboles de fonction unaires ayant pour co-domaine l’ensemble des parties d’un ensemble. Pour illustrer ceci, il nous suffit de mentionner le cas de l’attribut médecin_traitant : le domaine du symbole de fonction associé est de type Sujet et le co-domaine associé est un ensemble d’ensembles finis de noms.

Afin de dériver les informations représentées par les symboles de fonction, nous devons introduire des relations binaires concrètes, notées par s, t et m entre les domaines. Le type d’une relation binaire concrète est le couple correspondant aux domaines sur lesquels la relation s’applique. L’égalité est probablement la relation binaire concrète la plus simple que nous aurons à traiter. Considérons les exemples suivants :

- Si t et u sont des termes de type Sujet, alors médecin_traitant(t) = médecin_traitant(u) signifie que les sujets t et u ont au moins les mêmes médecins traitants.

- Si t et u sont des termes de type Sujet, alors Âge(t) = Âge(u) signifie que les sujets t et u ont le même âge.

- Si t et u sont des termes de type Sujet, alors Groupe_sanguin(t) = Groupe_sanguin(u) signifie que les sujets t et u ont le même groupe sanguin.

Bien évidemment, il existe certains cas où d’autres relations binaires doivent être considérées. Par exemple :

- Si t et u sont des termes de type Sujet, alors médecin_traitant(t) « médecin_traitant(u) ≠

∅ signifie que les sujets t et u ont un médecin traitant en commun.

- Si t et u sont des termes de type Sujet, alors Âge(t) < Âge(u) signifie que le sujet t est plus jeune que le sujet u.

- Si t et u sont des termes de type Sujet, alors Groupe_sanguin(t) ~ Groupe_sanguin(u) signifie que les groupes sanguins de t est compatible avec celui de u.

Le langage est généré par la règle de grammaire suivante, donnée en notation EBNF, où f

- ¬ est une relation d’accessibilité (relation binaire sur W) ;

- D est un domaine. Un domaine est un ensemble non-vide de valeurs ;

- V est une fonction qui donne les valeurs de vérité des éléments du langage : V(Formule Atomique d’arité n) Œ Dn, V(variable) Œ D, V(constante) Œ D.

Intuitivement, (Bob, médecin, Hôpital-Rangueil) Œ V(w, RdO) » signifie que dans le monde w, Bob joue le rôle médecin au sein de l’organisation “Hôpital-Rangueil”. De la même manière, « (Sam, f5.doc) Œ V(w,LIRE) » signifie que dans le monde w, Sam exécute l’action LIRE sur le fichier f5.doc.

5.3.3. Les conditions de vérité

En plus des conditions de vérité classiques relatives aux opérateurs Ÿ, ⁄,ÿ, le langage présenté ajoute une condition de vérité qui permet de déterminer si une formule atomique est vraie dans un monde donné :

MRdO(Bob, médecin, Rangueil) ssi (Bob, médecin, Hôpital-Rangueil) Œ V(w, RdO). En outre, les opérateurs modaux permettent de modifier les propriétés de la relation d’accessibilité ¬ entre les différents mondes du modèle associé à la spécification.

Ils indiquent si deux mondes doivent ou non être accessibles l’un depuis l’autre. Rappelons la signification des formules déontiques (section 5.2.3) :

-

M f : il existe au moins un monde accessible à partir de w où f est vrai.

Le langage proposé accepte quelques axiomes, notamment :

- Fp´O¬p : l’interdiction de faire quelque chose est équivalente à l’obligation de ne pas le faire.

- PpƬFp : la politique définit explicitement les permissions ; ainsi, toute chose permise est forcément non interdite (l’inverse n’est pas toujours vrai).

- O(pŸq) ´ OpŸOq : l’obligation de faire la conjonction de p et q est équivalente à l’obligation de faire p et l’obligation de faire q.

- OpÆRp et RpÆPp : tout ce qui est obligatoire est recommandé, tout ce qui est recommandé est permis. La recommandation est donc une modalité plus forte que la permission et moins contraignante que l’obligation.