Devoir 1 - SEG-2506 - Hiver 2016

Donné: le 26 janvier, à remettre en classe le 22 février (après la semaine de lecture). Vous pouvez travailler en groupes de deux.

Soumettre votre rapport sur papier. Aussi, s.v.p., envoyer un courriel au TA avec votre spêcification LTSA et le programme Umple.

Préambule:

L'objectif de ce devoir est de pratiquer ces choses encore avec une version de système téléphonique un peu différent.

Description du système

Structure

Le système téléphonique consiste de

Comportement dynamique

Chaque téléphone pour initier un appel et aussi repondre à un appel entrant. Les messages échangés entre les téléphones et le commutateur suivent les convention SIP. Seulement les messages INVITE, INVITE_Response, ACK, BYE, et BYE_Response de SIP sont utilisés pour controler les connexions. Le commutateur joue le rôle d'un SIP Stateful Proxy (voir par exemple Wikipedia).

L'objet usager communique avec son téléphone correspondant par les interactions suivantes:

Travail à faire  

  1. Définir le comportement dynamique des objets usager dans la forme d'une machine à états impliquant les interactions mentionnées ci-dessus. Note: il est suggéré d'utiliser une machine qui a avec chaque transition seulement une interaction simple, une entrée ou une sortie.
  2. Les messages SIP mentionnés ci-haut sont assez complexes et peuvent contenir un grand nombre de paramètres. Pour modéliser le comportement du système téléphonique pour ce devoir, vous devriez simplifier beaucoup la situation, en utilisant aussi peu de paramètres que possible.Vous devriez écrire la liste des messages avec les paramètres que vous aller utiliser. Note: vous pourriez changer les noms des messages et des paramètres (comparé avec les noms de SIP), mais ils devraient rester similaire au noms originaux pour que l'on voit la correspondance avec les définitions SIP.
  3. Définissez le comportement dynamique des objets téléphone en donnant un modèle de machine à états à la Mealy (chaque transition est initiée par une entrée et peut contenir zéro, une ou plusieurs sorties).
  4. Basé sur vos modèles de machines à états des points (1) et (3), construisez un système téléphonique simplifié avec l'outil LTSA et vérifiez qu'il ne contient pas de blocage.Suggestions pour simlifier:
  5. Modelisez le système téléphonique (basé sur les points (1), (2) et (3)) dans le environnement de développement Umple.
  6. Implantez votre modèle Umple en Java en ajoutant un processus Main qui crée le commutateur et les trois téléphones. Exécutez quelques tests et documentez les séquences d'interactions qui sont exécutés. Vous pourriez tester en particulier les situations suivantes:
  7. Comparez quelques séquences d'interaction observées pendant les tests avec les séquences obtenues par la modélisation avec LTSA.

 

Documents à remettre: Un rapport sur les résultats obtenus pour les tâches ci-hautes

Le barème de notation (préliminaire) est le suivant: