A propos d'agora, modèle et architecture
Bref historique
agora est à la fois le nom d'un modèle conceptuel et
le nom de la plateforme expérimentale basée sur ce modèle.
Cette plateforme constitue
l'aboutissement d'une série de travaux d'intégration technologique
et de diverses expérimentations scientifiques menés depuis 2004 au
LIRMM
par l'équipe
Kayou
(rebaptisée
Smile en 2008).
Entre 2004 et 2007 le développement a été financé par le projet européen
ELeGI (European Learning Grid Infrastructure)
.
Depuis 2008, ce projet est soutenu grâce à diverses collaborations dont le
CNR
de Pise
(voir
ISTI, Istituto di Scienza e Tecnologie dell'Informazione
), l'
Universidade Catolica de Brazilia
et le
CNFM
(Coordination Nationale de Formation en Microélectronique).
Actuellement, les développements complémentaires sont effectués dans le cadre du
TGE (Très Grand Equipement) Adonis
pour les SHS (Sciences Humaines et Sociales) avec le projet
ECRINS.
Architecture de la plateforme agora
Démarche conceptuelle
La démarche conceptuelle de l'architecture agora
consiste à rechercher une solution qui privilégie l'accès sécurisé
aux ressources tout en conservant une libre exploitation de ces ressources
par les communautés.
L'architecture d'un système informatique réparti impose des choix conceptuels qui semblent parfois incompatibles. En effet,
Nous constatons que les solutions existantes
s'orientent soit vers le tout sécurisé
à administration centralisée, au risque d'exclure tout un pan d'utilisateurs intéressés, soit vers le tout ouvert, non-administré, au risque de se heurter à des usages malveillants.
De plus le poids des habitudes dissuade les utilisateurs à migrer leur espace de travail hors de la sphère physiquement proche (l'ordinateur personnel ou le réseau local).
L'architecture agora.
Pour y parvenir, agora
défini deux types d'entités: les entités pro-actives (les agents) et les entités réactives ou passives (les ressources).
Les relations qui se nouent dynamiquement entre ces entités constitue un système complexe en activité.
D'abord, les agents ont besoin de se retrouver dans un environnement
pour évoluer et interagir: l'espace collaboratif,
un concept logique qui n'est pas toujours bien posé dans la littérature.
Du point de vue de l'architecture agora,
cet environnement est constitué de ressources réparties dans un espace
physique correspondant à l'infrastructure.
Une infrastructure est composée d'équipements informatiques interconnectés
par un réseau.
Tout ceci forme un système complexe à appréhender et à mettre en oeuvre.
Les modèles d'architectures classiques
tels que le client-serveur,
montrent leur limites car ils
ne tiennent compte que partiellement
des quelques principes
indispensables pour aboutir à un système
véritablement autonome et doté d'une capacité
d'auto-organisation.
Par exemple, si l'on considère les utilisateurs
de services informatiques
comme les agents d'un système,
ceux-ci se retrouvent indéniablement
confrontés à des contraintes liées aux
choix technologiques initiaux,
adoptés plus ou moins arbitrairement
par le concepteur du système et quasiment
impossible à remettre en question, une fois
le service déployé.
Principes
L'une des spécificité du modèle d'architecture agora
réside dans le respect des trois principes suivants:
-
Le principe d'ubiquité selon lequel
la localisation des ressources est
indépendant des conditions spatiales et temporelles d'utilisation.
Ceci implique que la ressource utilisée par l'espace
collaboratif doit être exclusivement délivrée
par l'infrastructure et non pas au niveau
de l'équipement terminal.
La ressource inclut la capacité de mémoire,
la capacité de traitement, la capacité de transport ou encore
l'accès à une instrumentation lourde et complexe.
Ce principe, qui, de surcroît, exige toute une panoplie
de mécanismes de sécurité,
adopte une approche de plus en plus répandue avec le concept de
grille informatique.
-
Le principe de présence augmentée
(awareness) selon lequel les membres d'une communauté peuvent adopter
différentes modalités de communication (services synchrones)
pour renforcer l'état de présence vis à vis des autres acteurs.
Typiquement, un espace collaboratif comporte un espace
de données accessibles de façon asynchrone et un ensemble
de services pour opérer sur ces données en mode synchrone.
Il peut s'agir, par exemple, d'un service de visualisation partagé couplé
à un service de communication audio visuel.
Dans de nombreux cas, les solutions proposées n'offrent pas un panel de
services totalement intégrés.
-
Le principe d'immanence
joue un rôle majeur dans la capacité des organisations
à acquérir de l'autonomie.
Les membres d'une organisation ne se connaissant pas
nécessairement doivent etre en mesure de
collaborer en toute confiance.
Ce principe constitue la clé de voute de
l'architecture agora dans la mesure
où le résultat de l'activité du système est continuellement réinjecté
dans l'organisation dudit système.
Pour parvenir à une collaboration en toute confiance,
il est nécessaire de faire appel à un certain nombre
de mécanismes permettant de se prémunir des risques
de rigidité organisationnelle.
Il s'agit:
-
La délégation de droits entre membres
d'une communauté;
-
L'habilitation pour un membre
à effectuer certaines opérations;
-
Le niveau d'implication des membres au sein
d'une communauté;
-
La cooptation de nouveaux membres
parmi une communauté;
Ces mécanismes sont en cours d'étude dans le cadre du projet
ECRINS.
Modèle conceptuel agora
Ainsi, l'architecture de la plateforme agora
tire son originalité de par son modèle conceptuel et grâce à un
ensemble de services de base.
Comme le montre la figure ci-contre,
le modèle conceptuel est composé de cinq concepts liés par
quatre relations.
Concepts
-
agent
L'agent décrit, de façon générale, tout élément pro-actif
du système ayant la capacité de modifier
à tout instant l'état du système.
Plus particulièrement, il s'agit soit d'un agent artificiel
(un processus qui s'exécute en tache de fond)
soit d'un agent humain, c'est à dire une personne qui,
par le biais d'une interface homme-machine,
effectue des opérations qui ont pour conséquence de produire
une séquence temporelle d'événements.
-
activité
Une activité est exercée par un agent dans le contexte
d'un groupe. Ce concept englobe l'ensemble des notions
de rôle, de droits sur des services
et les règles régissant les interactions entre agents.
-
groupe
Un groupe est composé de membres et
définit le contexte à l'intérieur
duquel un agent exerce une activité donnée.
Un agent peut être membre de plusieurs groupes et exercer
une activité différente selon le groupe considéré.
-
ressource
La ressource décrit, de façon générale,
un ensemble d'éléments réactifs ou passifs du système
dont la fonction est de structurer l'environnement
en apportant les moyens pour les agents de réaliser des tâches.
Au niveau d'une communauté d'agents où
l'environnement est un espace collaboratif,
la ressource de cet espace collaboratif se définit comme
un conteneur de services.
Dans le cas d'un système informatique distribué
un conteneur de services est un ensemble de
ressources réifiées.
-
organisation
Une organisation est un concept associant un groupe à une ressource.
Il s'agit d'une relation bijective de sorte qu'à un groupe donné
lui est associé une ressource et une seule, et réciproquement.
Relations
-
Relation agent-activité-groupe
Un agent exerce une activité au sein d'un groupe.
Cette relation ternaire
indique qu'une activité particulière est spécifiée pour un couple
agent-groupe. Autrement dit, un ensemble d'activités sont exercées par
les membres d'un groupe donné. L'activité d'un groupe peut formellement
se définir comme la somme des activités des membres de ce groupe.
Toutefois, l'effet holistique exercé par le groupe sur les membres
ne permet pas de confirmer cette égalité.
-
Relation activité-ressource
Toute activité nécessite la présence d'une ressource.
-
Relation groupe-organisation
Tout groupe est rattaché à une organisation et une seule.
Cette relation bijective indique que le groupe est une partie
d'une organisation. La seconde partie de l'organisation est
constituée par la ressource.
-
Relation ressource-organisation
De la même façon,
toute unité de ressource est rattachée à une organisation et une seule.
Tout comme le groupe, cette relation bijective indique
que la ressouce est une partie d'une organisation.