Cool (et bonne idée les couleurs :))
Ok pour la première partie sauf que j'ai l'impression que l'InvalidLoop.xml n'est pas couverte...
Ensuite, sur cette partie, je ne la comprends pas :( :
Un fois toutes les règles ci-dessus appliqués, on applique une autre série de règles :
* Si un item peut être runnable ou running => il est runnable.
* Si un item est en optionnal (ou qu'il puisse être runnable, running, disabled) => il est runnable.
* Si un item peut être en runnable ou disabled => il est runnable.
A la fin, la réduction est la suivante :
Un « running » est forcément « running ». ==> RunningStatus = RunningLocked.
Un « disabled » est forcément « disabled ». ==> RunningStatus = Disabled.
Un « runnable » peut être « runnable » ou « running ». ==> RunningStatus = Running | Stopped.
Un « optional » est forcément « runnable » ==> RunningStatus = Running | Stopped.
(Cela revient, en pratique, à considerer les Optional qui restent en Runnable.)
Enfin, pour la suite, on n'a pas à « choisir » :
On penserai avoir tout couvert, mais qu'en est-il de ce cas ?
Le service est en running, et les 2 plugins implémentant ce service sont optionnel s:
Ici on voit qu'il y a 2 solutions possibles compte-tenu des règles ci-dessus.
Comment faire un choix ?
Le choix se fera dynamiquement lors de la résolution dynamique.
Ce que l'on sait dans cet exemple c'est que P1 | P2 doivent être running. On n'en sait pas plus et c'est bien comme cela.
Au niveau statique, le graphe est valide.
Peux-tu essayer de « mathématiser » un peu le truc ?
Je m'y suis essayé dans ton document (lui-même) que j'ai mis sur ma dropbox publique :
https://dl.dropboxusercontent.com/u/5463917/Yodii%20r%C3%A8gles%20de%20r%C3%A9solution%20statique.docx
(Pour ce faire j'ai été récupéré la table des symboles mathématiques d'Unicode sur wikipedia :)).
Spi
PS : je mets ce mail aussi sur la liste de dev de civikey... Il faut communiquer m'a-t-on dit :).
From: SIMONARD Emilie [mailto:
simo...@intechinfo.fr]
Sent: mercredi 26 mars 2014 15:17
To: Olivier Spinelli
Cc: FINKEL Martin
Subject: règles de résolution statique
Bonjour
Voici en pièce jointe les règles de résolution statique tel que nous les connaissons. Est-ce correct ?
Ensuite voici quelques questions :
Comment gérer le cycle de vie des objets dans le host ?
voulez vous une vérification à la fin de la résolution statique qui prévienne l'impossibilité de garentir un démarage full start?(stop etc)
Quelle date vous arrangerai pour la prochaine réunion ? Nous pouvons nous déplacer le mercredi 2 avril, jeudi 3avril et le vendredi 4 avril.
A bientôt