Outils pour utilisateurs

Outils du site


kmelia:cr:cr180509

Compte-rendu de la réunion du 18/05/09

Étaient présents : CA, PA, GA, PS. Rédigé par PS.

Dynamique des appels de service

En bref : Un service est actif ou non. Pas deux appels simultanés à un service.

Nous supposons un assemblage complet (tous les services requis ont étés fournis). Nous faisons abstraction des services requis et supposons que les services fournis communiquent directement avec les autres services fournis.

Deux possibilités ont été envisagées par l'équipe. La première à été retenue.

  1. Notion de service “actif”.
    • Un service est soit actif, soit inactif.
    • Un service s'active par un appel !!
    • Un service se désactive en atteignant un état final.
    • Une transition !! visant un service déjà actif n'est pas franchissable.
  2. Notion de contexte d'appel.
    • Un service peut être invoqué plusieurs fois. Chacune des invocations travaille avec des variables locales qui lui sont propres.
    • En revanche, on a ici concurrence d'accès au variables du composant (comme dans le cas de deux services distinct du même composant).

La dynamique des appels de services est un DAG (directed acyclic graph) où les noeuds sont colorés { actif/inactif }.

  • La structure du DAG est statique et correspond aux appels !! présents dans les services.
  • La couleur des noeuds est dynamique. On sait que tout service actif a au moins un antécédent actif.
  • Cette dynamique pourrait-être précisée par la notion de canal actif/inactif.

Cas des services partagés

En bref : Travail en cours.

La spécification de services fournis partagés se heurte (entre autre) à deux problèmes.

  1. Spécifier un service partagé, mais offrir à l'appelant un vision simple du fonctionnement du service.
  2. Spécifier de façon élégante dans le comportement du service les zones partagées et les zones plus classique.

Deux solutions sont avancées et aucunes n'est pour l'instant retenue.

  1. Processus (seul) X Controleur (multi).
  2. Extended eLTS, avec des zones.

Un service shared, comme un service classique est activé, donc initialisé. Cette activation est effectuée lors de la connexion du premier appelant. Le service est désactivé à la déconnexion du dernier appelant. La question de la gestion de la fin du service est assez discutée.

Une proposition est que dans un service shared, les synchronisations peuvent ne concerner qu'un partie des appelants, ceux qui se trouvent dans la même zone.

Une question à laquelle il faudra répondre est de savoir si les services partagés sont une extension uniquement syntaxique ou si l'expressivité du modèle est également étendue.

kmelia/cr/cr180509.txt · Dernière modification: 2018/04/03 16:59 (modification externe)