• Aucun résultat trouvé

Etats/Evénements versus Activités/Concurrence

Chapitre 2. Spécification

2.1. Modèle de résolution

2.1.3. Etats/Evénements versus Activités/Concurrence

Les perspectives de modélisation sont définies dans [Zeigler 1976] selon deux critères fondamentaux, à savoir : le temps et les changements d’état du système. Selon ces critères, trois grandes perspectives de modélisation pour simulation des systèmes dynamiques sont possibles :

• Le temps est (i.e., évolue en) continu, et les changements d’état (du système) sont continus. Une telle spécification est dite DESS (pour Differential Equation System Specification). Les formalismes qui s’y prêtent le mieux sont les équations différentielles (partielles, ordinaires, du premier ou second ordre, etc.).

• Le temps est discret (il fait des sauts par incréments fixes), et les changements d’état sont discrets (car ne pouvant se faire qu’à ces instants discrets). Une telle spécification est dite DTSS (pour Discrete Time System Specification). Parmi les formalismes qui s’y prêtent bien, citons les automates cellulaires, les équations aux différences, les L-System, etc. (pour les divers formalismes mentionnés, voir [Fishwick 1995] pour une

présentation très pédagogique).

• Le temps est continu, mais les changements d’état sont discrets (les intervalles de temps entre deux changements d’état consécutifs sont de longueurs variables). Une telle spécification est dite DEVS (pour Discrete Event System Specification). De multiples formalismes s’y prêtent bien, tels les Réseaux de Pétri, les automates à états finis, les réseaux de files d’attente, etc.

La passerelle de DESS vers DTSS est possible par discrétisation du temps et approximation du comportement du système selon cette base temporelle. Celle de DTSS vers DEVS semble plus naturelle, du fait que la première perspective peut être facilement interprétée comme un cas particulier de la seconde. Celle de DESS directement vers DEVS est possible à travers la technique de quantisation [Zeigler et al. 2000]. Ces possibilités de passerelle rendent légitimes le choix de la perspective DEVS comme cadre universel de modélisation pour simulation. Si la classification en DESS, DTSS, et DEVS se veut être un spectre complet des spécifications possibles pour la simulation des systèmes dynamiques, leur dénominateur commun réside dans le fait qu’elles adoptent toutes une perspective encore plus fondamentale. Selon cette dernière, un système se caractérise à tout instant par un état, qui subit un changement suite à des événements qui sont soit internes, soit externes (les événements externes traduisant l’interaction du système avec son environnement). Ce paradigme Etats/Evénements constitue un Modèle de Calcul (MoC, pour Model of Computation [Buck et al. 1994]) commun à toutes les spécifications de la théorie de la M&S [Zeigler 1976].

D’autres formes de description sont possibles, ne reposant pas sur ce MoC, comme montré en Figure 13. Des formalismes comme CSP (Communicating Sequential Processes), PN (Process Network), SDF (Synchronous Data Flow), etc. reposent plutôt sur les notions d’activités et de concurrence. D’autres formalismes bien connus de nature similaire sont les diagrammes d’activités et les diagrammes de séquence d’UML, ou encore BPMN (Business Process Modeling Notation). Selon le MoC Activités/Concurrence, un système exécute à tout instant une activité (incluant la réception d’événements externes et

dictés par les règles de concurrence avec les autres systèmes (accès à des ressources partagées et communications synchrones/asynchrones avec l’environnement).

Figure 13. Etats/Evénements versus Activités/Concurrence

Notre point de vue est que le MoC Activités/Concurrence est dual du MoC Etats/Evénements. Mieux, nous constatons que de manière classique, en phase de modélisation, c’est le MoC Etats/Evénements (MoC EE) qui est privilégié, et que la sémantique opérationnelle proposée pour les modèles spécifiés s’appuie systématiquement sur un MoC Activités/Concurrence (MoC AC). En témoignent toutes les stratégies de simulation qui existent (toutes présentées en chapitre 3, à savoir : événements-centrés, activités-centrés, processus-centrés, processus parallèles optimistes et pessimistes). Toutes s’expriment en terme de flux de contrôle : dans les cas séquentiels, un unique processus exécute toutes les activités qui réalisent la simulation ; dans les cas purement parallèles, plusieurs processus concurrents sont en charge des opérations de gestion de la simulation (y compris les activités de synchronisation entre eux). Notons que dans ce dernier cas, les processus sont bien concurrents même si l’approche est purement parallèle, car malgré la présence de plusieurs processeurs exécutant en parallèle la simulation, chaque processeur est probablement en charge de l’exécution concurrente d’activités locales (par exemple, la réception de message, de manière concurrente à la consommation d’événements internes). Une illustration de ce point de vue est donnée en Figure 14, avec la spécification en MoC AC de la stratégie (dite aussi protocole) de simulation DEVS. Le

CSP PN SDF … sémantique opérationnelle (s.o.)

Système Modèle Simulateur

Stratégies de simulation DESS DTSS DEVS Etats/Evénement Activités/Concurrence s.o. s.o. MoC

modèle global (CM1) y est une construction modulaire hiérarchique en MoC EE (AM pour les composants dits atomiques, CM pour les composants dits couplés), alors que la sémantique opérationnelle est exprimée en MoC AC (Racine, Coordinateur et Simulateur sont des processus concurrents, chacun en charge de générer le comportement d’un des composants du modèle global, les simulateurs se chargeant des composants atomiques, les coordinateurs des composants couplés, et la Racine de la gestion du temps virtuel global). La Figure 14 ne montre que les activités des simulateurs et de la racine, mais celles des coordinateurs sont définies de manière similaire ([Zeigler et al. 2000]).

Figure 14. Sémantique opérationnelle en MoC AC de DEVS

Une formalisation à caractère universel du MoC AC (à l’image de celle du MoC EE proposée par DEVS) étendrait les possibilités de modélisation pour simulation aux processus de résolution, pourvu qu’une sémantique opérationnelle soit disponible (elle-même exprimée en MoC AC). En d’autres termes, une telle spécification serait simulable, donc correspondrait à l’esprit du

Root Coordinator Coordinator CM2 Simulator Simulator AM2 Simulator AM3 Coordinator CM1 t = t0

send (i, t) message to child t = tn of child

loop

send (*, t) message to child t = tn of child

until end of simulation

sous l’angle de la théorie des systèmes au même titre que les modèles des systèmes mobilisés dans cette résolution.