• Aucun résultat trouvé

5.4 Spécification Fonctionnelle

5.6.3 Relations avec les autres dimensions

Les relations entre EES et les autres dimensions d’une spécification organisation- nelle que nous décrivons ci dessous sont représentées sur la figure 5.1 du méta-modèle de l’OML MOISE.

Relation EES – SS

La relation entre une EES et une SS est établie d’une part avec les groupes de la SS pour lesquels les portails gèrent les entrées / sorties des agents et d’autre part avec les rôles qui peuvent être des portes d’entrée des portails de l’EES.

Relation EES – FS

Spécification Entrée/Sortie 105 peuvent être définis comme portes dans la EES. Cependant, pour éviter des conflits ou ambiguïtés pouvant être engendrés par les relations –relations définies par des normes de la NS– qui existent entre des rôles de la SS et des missions de la FS, nous avons défini les contraintes de spécification de procédure d’entrée / sortie.

Contraintes de spécification de portes

Dans une spécification d’entrée / sortie, on peut avoir plusieurs portes, chacune étant associée à un triplet constitué d’un rôle, d’une éventuelle mission et d’un éven- tuel but. Compte tenu du fait qu’une mission est composée de but(s) et qu’un rôle peut être lié à une ou plusieurs missions (cf. figure 5.1) il est possible d’avoir des doublons de portes dans l’ES. Afin d’éviter ces situations, nous avons défini trois contraintes présentées ci-dessous. Ces contraintes doivent être satisfaites pour que la spécification EES soient considérée comme ayant été bien définies.

Considérons une spécification organisationnelle (OS) définie comme suit :

OS = hSS, F S, N S, EESi (5.23) Nous définissons les fonctions suivantes portant sur les éléments d’une OS. – roleN (n) : retourne le rôle de la norme n.

– missionN (n) : renvoie la mission associée à la norme n.

– missionR(r) : retourne toutes les missions associées à un rôle r par des normes n ∈ N S.

missionR : R −→ P(M )

r 7−→ {m ∈ P(M ), ∃n ∈ N, roleN (n) = r ∧ missionN (n) = m} – roleM (m) : retourne tous les rôles associés à une mission m par des normes

n ∈ N S .

roleM : M −→ P(R)

m 7−→ {r ∈ P(R), ∃n ∈ N, missionN (n) = m ∧ roleN (n) = r} – goalM (m) : retourne l’ensemble des buts d’une mission.

goalM : M −→ P(G)

m 7−→ {g ∈ P(G), g ∈ Gm}

– missionG(g) : retourne toutes les missions attachées un but missionG : G −→ M

Spécification Entrée/Sortie 106 – groupGap(ga) : retourne le groupe associé à une porte ga d’un portail p.

groupGap : Gap −→ Grp

ga 7−→ gr

1. Lorsque la cible d’une portega d’un portail p, associée à un groupe gr est de la forme (r, _, _), il ne peut y avoir d’autres portes de n’importe quel portail associées à ce groupegr dont la cible soit de la forme (r, m, _) ou (r, m, g). m représente toute mission associée à r par une norme de la NS, et g représente tout but d’une missionm.

∀ga ∈ Gap, ∃gr ∈ Gr, ∃r ∈ R,

groupGap(ga) = gr ∧ targetga = (r, _, _)

=⇒ ∀m ∈ missionR(r), ∀g ∈ goalM (m), ∀p′

, p′′

∈ P,

∄ga1 ∈ Gap′, groupGap′(ga1) = gr ∧ targetga1 = (r, m, _)

 ∧ ∄ga2 ∈ Gap′′, groupGap′′(ga2) = gr ∧ targetga2 = (r, m, g)

 2. Lorsque la cible d’une portega d’un portail p, associée à un groupe gr est de

la forme (r, m, _), il ne peut y avoir d’autres portes de n’importe quel portail associé à ce groupe gr dont la cible soit de la forme (r, _, _) ou (r, m, g). g représente tout but de la missionm.

∀ga ∈ Gap, ∃gr ∈ Gr, ∃r ∈ R, ∃m ∈ MF S,

groupGap(ga) = gr ∧ targetga = (r, m, _) (5.24)

=⇒ ∀g ∈ goalM (m), ∀p′

, p′′

∈ P,

∄ga1 ∈ Gap′, groupGap′(ga1) = gr ∧ targetga1 6= (r, _, _)

 ∧ ∄ga2 ∈ Gap′′, groupGap′′(ga2) = gr ∧ targetga2 6= (r, m, g)

 3. Lorsque la cible d’une portega d’un portail p, associée à un groupe gr est de

la forme (r, m, g), il ne peut y avoir d’autres portes de n’importe quel portail associées à ce groupegr dont la cible soit de la forme (r, m, _) ou (r, _, _). ∀ga ∈ Gap, ∃gr ∈ Gr, ∃r ∈ R, ∃m ∈ MF S, ∃g ∈ GF Sleaves, g ∈ mo(m),

groupGap(ga) = gr ∧ targetga = (r, m, g) (5.25)

=⇒ ∀p′

, p′′

∈ P,

∄ga1 ∈ Gap′, groupGap′(ga1) = gr ∧ targetga1 6= (r, m, _)

 ∧ ∄ ga2 ∈ Gap′′, groupGap′(ga2) = gr ∧ targetga2 6= (r, _, _)

Spécification Entrée/Sortie 107 Relation EES – NS

La relation entre une EES et une NS est indirecte. En effet, les normes d’une NS définissent des liens directs entre une SS et une FS. Dans l’EES, les normes de la NS permettent d’une part de vérifier la cohérence des rôles associés aux différentes cibles (target) des portes d’entrées définis dans les portails de l’EES, en particulier lors- qu’une cible est une mission ou un but. D’autre part, les normes de la NS permettent aussi de vérifier que les contraintes de spécification de portes d’entrée ci-dessus pré- sentées sont respectées.

Enfin, les normes de la NS sont aussi utilisées dans la gestion proprement dite des processus des entrées et des sorties d’agents dont les procédures sont définies dans l’EES. Concrètement nous verrons dans le prochain chapitre qu’à l’issue de l’exécu- tion d’un processus d’entrée, un contrat est établi pour chaque agent admis. Chaque contrat comprend des clauses qui correspondent à des normes définies dans la NS.

5.6.4 Exemple

L’ensemble des portailsP de la spécification d’entrée / sortie de notre exemple est composée d’un seul portail :EES = hP i, P = {wpP or}. le portail wpP or est as- socié au groupewpgroup et comprend deux portes ga1, ga2.EES est sommairement

représentée par la figure 5.8

ga2

wpPor

ga1

FIGURE5.8 – Éléments de l’EES de l’exemple ""write-paper""

Spécification du portail wpP or et des portes ga1, ga2

– wpP or = hGrpwpP or, GawpP or, EntryReqswpP or, ExitReqswpP or,

typewpP or, hasgatewpP ori

Synthèse 108 – GawpP or = {ga1, ga2}

– hasgatewpP or(wpgroup) = {ga1, ga2}

– EntryReqswpP or = {en_req1}

en_req1 = hEntryReq, hasSkill == M AS, mandatoryi

– ExitReqswpP or= φ

– typewpP or(wpgroup) = EntryExit

– ga1 = htargetga1, 5 dayi, targetga1 = (writer, _, _)

– ga2 = htargetga2, 6 dayi, targetga2 = (editor, mM an, _)

5.7 Synthèse

Nous avons présenté dans ce chapitre, les différentes dimensions de la nouvelle version du modèle MOISE, en nous focalisant sur les éléments essentiels de cet OML relatifs à l’ouverture pour la modélisation des organisations. Nous avons ainsi vu le concept d’exigence et ses types (AdoptRequirement et LeaveRequirement) qui enri- chissent les spécifications structurelles et fonctionnelles, ainsi que les concepts de la nouvelle dimensions d’entrée / sortie à savoir portal, EntryRequirement, ExitRequire- mentet gate.

L’utilisation de portails (portals) offre divers avantages à une organisation parmi lesquels :

– La gestion explicite des entrées et des sorties dans une organisation par des entités dédiées.

– La possibilité de mutualiser la gestion des entrées et des sorties dans différents groupes d’une organisation en délégant la gestion des entrées et / ou des sortie dans ces groupes à un même portail.

– La possibilité de distribuer la gestion des entrées et des sorties en ayant plusieurs portails dans une organisation.

L’utilisation de portes (gates) permet à une organisation d’offrir plusieurs moyens d’entrer aux agents. Grâce à la richesse des versions précédentes de MOISE, nous avons désormais trois moyens d’entrer dans une organisation : rôle, mission ou but. Cette diversité offre une flexibilité de procédures d’entrées très intéressante pour l’ouverture d’organisations multi-agents. De plus, elle permet de pouvoir expliciter les attentes d’une organisation vis-à-vis d’agents qui entrent dès le processus d’entrée. Par exemple, un agent qui entre dans une organisation au moyen d’un but, s’engage

Synthèse 109 directement à la réalisation de ce but.

Certains éléments dont hérite l’OML MOISE des versions précédentes n’ont pas été présentés. Nous invitons les lecteurs intéressés à découvrir toute la richesse des modèles MOISE+ [81, 77, 84] etMOISEInst [70, 68, 69] en se reportant aux réfé-

Chapitre 6

Gestion d’entité organisationnelle

ouverte

Nous avons présenté dans le chapitre précédent le langage de modélisation d’or- ganisation MOISE. Il est utilisé pour définir les dimensions structurelle, fonction- nelle, normative et d’entrée / sortie qui constituent la spécification organisationnelle (OS) d’une organisation multi-agent. Une OS contribue à l’ouverture des organisa- tions dans la mesure où elle représente l’une des données échangées entre une entité organisationnelle et des agents extérieurs. Ces derniers l’utiliseront pour raisonner sur l’entité organisationnelle et décider de leur entrée et de leur participation à la réa- lisation des objectifs collectifs de l’entité organisationnelle. Par ailleurs, les entités organisationnelles sont également créées et gérées dans une infrastructure de gestion d’organisations à partir d’une spécification organisationnelle.

L’objectif d’une entité organisationnelle étant de gérer la dynamique structurelle et fonctionnelle d’une organisation, dans ce chapitre nous présentons les principaux éléments qui participent à cette dynamique. La section 6.1 est donc consacrée à la présentation des instances de groupes, de schéma sociaux et de portails. Ensuite, (cf. section 6.1.6) nous présentons la structure d’un contrat, élément qui établit l’entrée d’un agent dans une entité organisationnelle et qui permet de gérer sa participation dans l’entité organisationnelle. Nous présentons dans la section 6.2 notre approche de gestion des entrées / sorties. Nous terminons ce chapitre par la présentation de notre approche de contrôle ou régulation des agents au sein d’une organisation.

Entité organisationnelle 112

6.1 Entité organisationnelle

Dans le chapitre 3, nous avons donné la définition d’une entité organisationnelle (OE) comme étant une instance d’organisation constituée d’une spécification organi- sationnelle (OS), d’agents et de tout ce qui contribue à la gestion de la dynamique : évolution ou changement d’état de l’instance de l’organisation [20, 68].

Une entité organisationnelle est créée dans un système multi-agent (SMA). Ce dernier est lui même constitué de divers éléments parmi lesquels nous considèrerons essentiellement l’ensemble des agents (A) et l’ensemble des entités organisationnelles (Org). Ainsi, nous utiliserons dans nos travaux la représentation simplifiée suivante d’un SMA :

SM A = hA, Orgi (6.1)

Chaque élément deOrg est une entité organisationnelle décrite à un instant t selon l’équation 6.2. Un agentag de A deviendra membre d’un élément oe de Org après son admission via un processus d’entrée que nous présentons dans la section 6.2.1.

∀oe ∈ Org, oe = h OS, IG, IS, IP, Ca, Co, grpT ype, schT ype, porT ype, isubGrp, igrpIS, ischIG, iporIG, iporCa, caIgrp, igrpCo,

cf acStatus, missionStatus, goalStatus, normStatus it (6.2) – OS : spécification organisationnelle de l’oe, OS = hSS, F S, N S, EESi. – IG : ensemble d’identifiants des instances de groupes créés au sein de oe. – IS : ensemble d’identifiants des instances de schémas sociaux créés au sein de

oe.

– IP : ensemble d’identifiants des instances de portails créés au sein de oe. – Ca : ensemble d’identifiants d’appels à candidatures de l’oe. Nous présentons

la notion d’appel à candidature dans la section 6.1.5.

– Co : ensemble des identifiants des contrats d’agents de l’oe. Nous présentons la notion de contrat dans la section 6.1.6.

– grpT ype : fonction qui associe un type de groupe noté gr, défini dans l’en- sembleGr des types de groupes de la spécification structurelle (SS) de l’OS, à une instance de groupe dont l’identifiant notéigr est un élément de IG.

grpT ype : IG −→ Gr igr 7−→ gr

Entité organisationnelle 113

Organisation specification OrganisationEntity

Clause Contract * 1..* GroupInst 1..* SchemeInst* Candidature CFAC PortalInst Agent * 1 * * 1..* isResponsible * manages 1 * applies for manages manages 1 manages * * 1 manages concerns * concerns concerns Portal::EES Group::SS SocialScheme::FS Norm::NS 1..* 1..* 1..* * 1 1 1 subGrp 1 * 1..* MissionState 1..* NormState GoalState manages 1 1..* 1 manages Mission::FS Goal::FS 1.. Role::SS 1 1 concerns 1 1..* 1..* 1 1..* 1 1 1 1 1..* 1 1 1..* Gate::EES 1..* 1 1 concerns

FIGURE6.1 – Composants d’une entité organisationnelle

– schT ype : fonction qui associe un type de schéma social noté s défini dans l’ensemble des types de schémas sociaux S de la spécification fonctionnelle (F S) à une instance de schéma social dont l’identifiant isch est élément de IS.

schT ype : IS −→ S isch 7−→ s

– porT ype : fonction qui associe un type de portail noté p défini dans l’ensemble des portailsP de la spécification d’entrée sortie EES à une instance de portail dont l’identifiant notéipor est élément de IP .

porT ype : IP −→ P ipor 7−→ p

Entité organisationnelle 114 – isubGrp : fonction qui fournit les instances de sous-groupes d’une instance de

groupe. Une instance de groupeigr′

peut être sous-groupe d’une autre instance de groupe igr si et seulement si le type de l’instance de igr′

est défini dans l’ensemble SGgr des types de sous-groupes de gr. Ce dernier étant le type de

igr. isubGrp : IG −→ P(IG) igr 7−→igr′ , igr′ ∈ IG ∧ grpT ype(igr) = gr, grpT ype(igr′ ) = gr′ , gr′ ∈ SGgr 

– ischIG : fonction qui fournit les instances de groupes qui sont responsables d’une instance de schéma social. Une instance de groupe igr est responsable d’une instance de schéma social isch si et seulement si le type de igr noté gr appartient à l’ensemble RespGrs des types de groupes pouvant être respon-

sables des. Ce dernier étant le type de isch. ischIG : IS −→ P(IG)

isch 7−→igr, igr ∈ IG ∧ grpT ype(igr) = gr, schT ype(isch) = s, gr ∈ RespGrs



– igrpIS : fonction qui fournit les instances de schémas sociaux dont est respon- sable une instance de groupe. Cette fonction est en quelque sorte l’inverse de la fonctionischIG.

igrpIS : IG −→ P(IS)

igr 7−→isch, isch ∈ IS ∧ grpT ype(igr) = gr, schT ype(isch) = s, gr ∈ RespGrs



– iporIG : fonction qui fournit les instances de groupes dont une instance de portail gère les entrées / sorties. Une instance de portail ipor peut gérer les entrées / sorties d’une instance de groupeigr si et seulement si le type de igr noté gr appartient à l’ensemble Grp des types de groupe dont p peut gérer les

entrées / sortie.p est le type de l’instance de portail ipor. iporIG : IP −→ P(IG)

ipor 7−→igr, igr ∈ IG ∧ grpT ype(igr) = gr, porT ype(ipor) = p, gr ∈ Grp

Entité organisationnelle 115 – iporCa : fonction qui fournit les appels à candidatures gérés par une instance de portail. Un appel à candidature notéca est toujours créé dans une instance de portailipor et pour une porte définie dans l’ensemble Gapdes portes associé au

type de portailp. Ce dernier étant le type de portail de ipor.

La porte d’un appel à candidature noté ga est obtenue par la fonction gateCa(ca) définie dans la section 6.1.5.

iporCa : IP −→ P(Ca)

ipor 7−→ {ca, ca ∈ Ca ∧ gateCa(ca) = ga, porT ype(ipor) = p, ga ∈ Gap



– caIgrp : fonction qui fournit l’instance de groupe à laquelle est associé un appel à candidature. Un appel à candidature ca est associé à une instance de groupe igr si et seulement si le type du groupe de igr noté gr appartient à l’ensemble Grp, p étant le type de portail de ipor et si la porte associée à ca appartient au

résultat de la fonctionhasgatep(gr). Cette dernière fournit toutes les portes de

p associé au type de groupe gr. caIgrp : Ca −→ IG

ca 7−→ igr

igr ∈ IG : ∃ipor ∈ IP ∧ igr ∈ iporIG(ipor) ∧ ∃ca ∈ caP or(ipor), gateCa(ca) = ga,

porT ype(ipor) = p, grpT ype(igr) = gr, ga ∈ hasgatep(gr)

 – igrpCo : fonction qui fournit les contrats gérés par une instance de groupe. Nous

verrons dans la section 6.1.6 qu’un contrat est toujours créé suite à un processus d’entrée réussi d’un agent dans une instance de groupe. Ainsi chaque contrat est associé à une seule instance de groupe et une instance de groupe peut gérer plusieurs contrats cf. Figure 6.1.

igrpCo : IG −→ P(Co)

igr 7−→ {co, co ∈ Co }

– cf acStatus : fonction qui retourne l’état d’un appel à candidature. Un appel à candidature peut avoir l’un des deux états suivants : published qui est l’état attribué lorsque l’appel à candidature est créé et closed qui est l’état attribué lorsque le délai correspondant à la durée de publication est expiré. Ainsi après

Entité organisationnelle 116 la création d’un appel à candidature, celui-ci reste à l’étatpublished jusqu’à ce que la durée de publication soit expirée.

cf acStatus : Ca −→ Cf acState ca 7−→ cf acState

Cf acState = {published, closed}

– missionStatus : fonction qui fournit l’état d’une mission d’une instance de schéma social relative à une clause d’un contrat. Nous verrons dans la sec- tion 6.1.6 qu’un contrat est composé d’un ensemble de clauses. Chaque clause d’un contrat précise une mission à laquelle doit s’engager l’agent ainsi que l’ins- tance de schéma social qui gère la mission. Si l’agent ne s’est pas encore engagé à une missionm d’une clause de son contrat co dans l’instance isch de schéma social correspondant, la fonctionmissionStatus retourne l’état uncommitted. Dans le cas contraire elle retourne l’étatcommitted.

missionStatus : ISXCoXMS −→ M issionState

(isch, co, m) 7−→ mState

M issionState = {uncommitted, committed} – goalStatus : fonction qui retourne l’état d’un but d’une instance de schéma so-

cial. Nous verrons dans la section 6.1.3 qu’une instance de schéma social gère essentiellement des missions et des buts. La gestion des buts consiste principa- lement à la coordination des conditions liées à leurs réalisations. Ainsi, lorsque les conditions nécessaires à la réalisation d’un but ne sont pas remplies, le but est à l’état waiting, dans le cas contraire il est dans l’état active. Un but passe de l’étatactive à achieved lorsqu’il a été réalisé ou à l’état impossible lorsqu’il est irréalisable.

goalStatus : ISXGS −→ GoalState

(isch, g) 7−→ gState

GoalState = {waitting, actived, achieved, impossible}

– normStatus : fonction qui retourne l’état d’une norme associée à une clause d’un contrat. Nous verrons dans la section 6.1.6 que chaque clause d’un contrat est spécifiée relativement à une normen définie dans l’ensemble N des normes

Entité organisationnelle 117 de la spécification normative. Les valeurs pouvant être retournées par la fonction normStatus sont celles du cycle de vie d’une norme Cf. Figure 5.6.

normStatus : CoXN −→ N ormState

(co, n) 7−→ nState

N ormState = {waitting, actived, inactived, f ulf illed, unf ulf illed} Nous présentons dans les sections ci-dessous les principales fonctions d’une ins- tance de groupe, de schéma social et de portail. Ensuite nous présentons les notions d’appel à candidature et de contrat.