La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Systèmes en temps réel Délais des événements Développé par le maj R. Smith Traduit par le maj A. Beaulieu.

Présentations similaires


Présentation au sujet: "Systèmes en temps réel Délais des événements Développé par le maj R. Smith Traduit par le maj A. Beaulieu."— Transcription de la présentation:

1 Systèmes en temps réel Délais des événements Développé par le maj R. Smith Traduit par le maj A. Beaulieu

2 21-Jan-14 Major RW Smith Communication (part 1) - 2 Délais des événements – comme définit Les systèmes en temps réel sont par défaut très réactifs les messages peuvent et arriveront à nimporte quel temps Peut être que vous ne voulez pas ou ne pouvez pas les traiter maintenant (vous êtes au milieu dune séquence) Pas tous les messages ont besoin dêtre traiter tout de suite Dépend du design Un mécanisme est requis pour déférer, rappeler et purger les messages

3 21-Jan-14 Major RW Smith Communication (part 1) - 3 Délais des événements – mécanique RTMessage::defer() Dans le code de transition de la machine détat qui reçoit msg->defer( ); //ceci va mettre le message dans la file (PAPS) sur le port de réception RTProtocol & RTInSignal ::recall(), purge() Dans le code de transition où il est déterminé que le message peut maintenant être traité myPort.recall( ); ou myPort.mySignal( ).recall( ); xxx.recallAll( ); ou xxx.recallFront( ); ou xxx.recallAllFront( ) // ceci va rappeler un ou TOUS les messages déférés sur le port ou le signal type, et aussi si on utilise Front la méthode va le(s) placer en avant de la file de messages du RTController Retourne le nombre de messages rappelés (0 ou 1)

4 21-Jan-14 Major RW Smith Communication (part 1) - 4 Délais des événements– mécanique (continue) Il doit aussi être possible de nettoyer tout message qui nest plus requis ou valide myPort.purge( ); ou myPort.mySignal( ).purge( ); //efface le ou les messages de la file //retourne le nombre de messages effacés de la file des messages déférés.

5 21-Jan-14 Major RW Smith Communication (part 1) - 5 Délais des événements– Exemple 1 - Un Robot occupé Si une autre demande de pick-up entre: robotPort.pickup().recall(); msg->defer( ); Quand la livraison est Complétée :

6 21-Jan-14 Major RW Smith Communication (part 1) - 6 Exemple 2 – Un serveur de base de données

7 21-Jan-14 Major RW Smith Communication (part 1) - 7 Exemple 2 - Un serveur de base de données : Le diagramme de structure de système Communication synchrone sans connexion entre les clients multiples et un système de base de données

8 21-Jan-14 Major RW Smith Communication (part 1) - 8 Exemple 2 - Un serveur de base de données : Le diagramme de structure de la base de données Communication asynchrone entre QueryServer et Database Notez le(s) port(s) pour les demandes du client

9 21-Jan-14 Major RW Smith Communication (part 1) - 9 Exemple 2 - Un serveur de base de données : Le diagramme de structure pour le serveur de demandes 3. Quand la demande est fini envoie les données à la cache et rappel tous les messages délayés vers lavant myPort.recallAllFront(); 2. Entre temps, si dautres demandes arrives, défère les - si oui envoie - si non défère le message et interroge le database 1. Sur réception des premières données, vérifie si les données sont dans la cache


Télécharger ppt "Systèmes en temps réel Délais des événements Développé par le maj R. Smith Traduit par le maj A. Beaulieu."

Présentations similaires


Annonces Google