Laboratoire 1

 

Objectif:

 

Le but de ce laboratoire est d'apprendre a manipuler  l'outils Telelogic Tau dans le but d'avoir d'une utilisation pertinente tout au long du  cours.

 

Objectifs spécifiques:

 

Télécharger les fichiers suivant:

Les fichiers du Telelogic Tau SDL:

 

 

Description:

 

Le fichier Lab1Package.sun représente un package de SDL. Il s'agit d'un ensemble de déclarations qui peuvent être incluses dans un ou plusieurs autres systèmes. Vous devrez l'inclure  dans le système.

 

Rappeler que l'outil de Telelogic Tau met chaque élément d'un système dans son propre fichier, et que l'outil Organisateur "Organizer" reliez les elements aux noms de fichier correspondant.  Normalement le nom de fichier c'est le meme que le nom de l'élément, et le suffixe de fichier indique le type de l'élément:

. sun : un paquet

. ssy : un système

. sbt : un type de bloc

. sbk : un bloc

. spt : un type de processus

. spr : un processus

 

Le fichier PhysicalLayer.sb est un type bloc, qui représente une déclaration d'un type de bloc qui peut être employé dans un système. Vous devrez créer une instance de ce bloc dans votre système. Ce type de bloc représente un service simulé de couche physique. Il y a deux interfaces: port1 et port2 . Le service fourni doit envoyer un octet de la port1 vers la port2 , ou vice versa. Pour ce laboratoire, le service est fiable, ce qui signifie que les octets qui sont envoyés arriveront sein et sauve, et dans le même ordre -- une propriété qui peut disparaître à l'avenir! L'octet est fragmenté en 8 bits qui sont envoyés pas ensemble mais un par un. Les octets peuvent être envoyés simultanément dans deux directions.

Il y a deux messages liés à chacun de port1 et port2 :  

octetReq : "Message (octet) demande" semblable a la primitive demande (request). Il demande qu'un octet soit envoyé à l'autre port. Le message a un seul paramètre  de type OCTET , et ceci représente les données à envoyer. Ce message entrant la port, est envoyé par l'"environnement".

 

octetInd : "Message (octet) indication" semblable a la primitive indication". Il  annonce l'arrivée d'un octet de l'autre point. Le message a un seul paramètre de type OCTET , et ceci représente les données qui sont arrivées. Ce message sortant de la port, est envoyé à l'environnement.

 

Pour ce laboratoire, l'"environnement" sera le simulateur Tau. Lorsqu'on ajoute des couches de logique, l'environnement serait donc remplace par la couche logique 2 .

 

À l'intérieur du type bloc sont deux processus: BitProcessor1 et BitProcessor2 . Ces deux processus sont presque identiques -- sauf pour une option SDL  non implentée dans l'outil Tau. L'absence de cette option signifie que deux  noms  différents  du message doivent être employés pour envoyer les "bits" dans des directions opposées. Autrement, chacun des processeurs a la même logique. Chaque processeur tient une chaîne binaire d'octets alignés en queue pour etre envoyer. Quand  le message octetReq arrive, les 8 bits la valeur de l'OCTET seront ajoutées à l'extrémité de la queue. S'il n'y a pas de réception, le processeur continuera à prendre le bit suivant de la queue l'envoyer a travers du fil jusqu'à ce qu'il ne reste plus de bits dans la queue.

 

Au meme Moment, une deuxième queue sollicite les bits qui arrivent du fil, et pendant qu'ils arrivent, ils sont immédiatement ajoutés à la queue. Quand il y a une somme de 8 bits dans la queue, une valeur de type OCTET est créée, et le message octetInd  est formé et envoyé à la couche supérieure.

 

 

Votre objectif dans ce laboratoire sera de créer un système SDL qui contient une instance du type bloc, et l'a connecte à l'environnement SDL. Ceci vous permettra de simuler le système, et crée quelques messages pour les envoyer a partir de l'environnement. Une fois fini, le système devrait ressembler au schéma 1:

Figure 1: Le système SDL à construire.

Qu'est ce que vous devez faire:

  1. Reviser les notes d'instruction du SDL.
  2. Créez un classeur (folder )  pour le laboratoire, puisque Tau va créer beaucoup de fichiers.
  3. Téléchargez les fichiers nécessaires.
  4. Faire tourner l'outil Tau. La fenetre organisateur "Organizer" apparait
  5. Ajoutez le package Lab1Package.sun à l'organisateur.

Figure  2: "Add new...", "Add existing...", "Connect..." fonctions

  1. Connectez les objets BitProcessor1 et BitProcessor2  aux fichiers appropriés, si necessaire (ceci peut se produire automatiquement).
  2. Créez un nouveau système SDL.

  1. introduire le pckage dans la fenetre de conception du système.
  2. Créez une instance de la couche physique. Sur le figure 1, ceci est appelé "Hardware" .
  3. Établir les connections à partir de la couche physique jusqu'à l'environnement.
  4. sauver le système

 

En cet etape, votre organisateur "organizer" devrait ressembler a la figure 4

Figure 4: Vue de l'organisateur (Organizer) a l'instant  du demarrage du simulateur

 

En ce moment vous devriez être prêt à compiler et exploiter le système dans le simulateur. Soyez sûr que vous avez choisi le système dans l'organisateur avant que vous commenciez.

Figure 5: La Fenêtre Principale du Simulateur

  1. Cliquetez sur le bouton de simulateur (voir le figure 4). Ceci commencera à compiler le fichier SDL en utilisant l'outil d'"analyseur". Si tout est correct dans SDL, l'analyseur fonctionnera parfaitement. Mais s'il y a des erreurs, une fenêtre apparaîtra avec les messages d'erreur.
  2. Si la fenêtre de simulateur apparaît, votre compilation était réussi. Avant de commencer la simulation, cliquetez le bouton de "MSC". Ceci commencera une trace du système en utilisant des diagrammes de sequence (MSCs), et une fenêtre d'edition MSC apparaîtra.
  3. Cliquetez la bouton "GO". Ceci mettra en marche le simulateur, et il continuera à fonctionner aussi longtemps jusqu'à ce qu'une donnee externe soit exigée. Dans ce cas, rien se passe autre que les deux etats du  processeur a bits devraient entrer l'état "Ready" (pret).
  4. Cliquetez sur "Send VIA". Ceci prepare un message pour etre mis dans la queue pour un des processus. Vous devrez selectionner le message a envoyer (dans ce cas, octetReq sera la seule option), le nom de liaison par lequel le message serait envoyé (sur Figure 1, ceci serait le side1 ou side2 ), et les données de paramètre de message si exige. Pour le message octetReq, il existe un seul paramètre de message de type OCTET . Vous devrez assigner la valeur octet, et elle devrait être introduite comme paire (base 16) de chiffres hexadécimaux entre les citations simples '...'. Par exemple: '7F'H représente l'octet 01111111 , l'équivalent du nombre entier 127.
  5. L'exécution de l'entrée de message déposera le message dans la queue d'entrée pour le processus à la fin de la liaison de communication selectionnee. Si vous choisissiez side1 , alors le message sera dans la queue d'entrée pour le processus BitProcessor1 . Clicker 'GO' pour remettre  le système en marche.
  6. La trace de MSC montrera le processeur envoyant les 8 bits d'un processus à l'autre. Une fois que les 8 bits sont rassemblés à l'extrémité de réception, le processus de réception envoi octetInd message à l'environnement. Les données du message devraient être identiques aux données vous les ait deja  introduit dans octetReq message.  

Essayez l'expériences suivantes pour voir ce qui se produit: