Bonjour à toutes et à tous
Il y a quelque temps de ça j'ai exploré un modèle de programmation par événement en créant un petit langage "ad hoc" (D.S.L) en Groovy.
Tout ça est bien gentil mais comme une réalisation sérieuse approche dans mon planning je me pose la question d'un choix de modèle de programmation Java plus "standard".
D'abord une petite idée du problème général: sur un réseau de micro-pcs pilotant des matériels j'ai un code "chef d'orchestre" qui demande à certains matériels d'exécuter des actions (supposons que l'ordre soit "ferme une vanne")
pendant que cet ordre est en cours d'exécution et que le chef d'orchestre en attend le résultat, des événements surviennent et sont notifiés au chef d'orchestre (" l'alim. électrique est en train de lâcher", "un tremblement de terre se déclenche" - ce n'est pas un blague on est en zone très sismique - , etc...). Il faut donc que le chef prenne certaines décisions dans le contexte d'une exécution.
Dans ma maquette Groovy j'avais donc une définition de contexte d'exécution associant des actions à des événements. On gère une queue d'événements (avec des événements plus prioritaires que d'autres) qui contient des codes qui sont exécutés en séquence. Quand on reçoit le code de fin d'exécution on a des opérations spéciales de vidange de la queue ... et on recommence (bon c'est une description très simplifiée).
Auriez vous à l'esprit quelque chose qui ressemblerait à ce genre de mécanisme en Java "pur" (ou avec une librairie -presque- standard) ? ... je regarde Java Rx mais je n'arrive pas trop à le faire correspondre à mes besoins .... (mais p.e. m'y prends-je mal).
Merci pour toute suggestion ou piste.
Partager