Manuel de l'utilisateur Cast

Par Pierre Pronchery à inrialpes.fr

Dernière révision: 14 Mai 2002
Traduit à partir du document de Jérôme Blachon.
Collaborative Applications Specification Tool

http://www.inrialpes.fr/sinus/cast/

Sommaire

Introduction
  1. Objectifs
  2. Contexte d'utilisation
  3. Principe
  4. Installation
  5. Copyright
  1. Présentation générale
  2. Spécification des tâches
Annexes
  1. Liste des bugs


Retour au Sommaire

Introduction

Ce manuel a pour but de faciliter la prise en main du logiciel Cast. L'environnement de spécification en est le point principal.
À la fin de ce manuel vous trouverez la liste des bugs connus à ce jour. Elle est destinée à être entretenue des remarques de tous les utilisateurs du logiciel.

1. Objectifs

Cast a pour but d'établir la spécification et l'implémentation d'applications communiquantes.

2. Contexte d'utilisation

Il peut être difficile de relier à la main les composants de programmes d'origines différentes. De plus ces programmes sont parfois restreints à un site particulier. Cast aide à la systématisation et l'optimisation de l'utilisation de ces codes ensemble.

3. Principe

Le langage de spécification de Cast élabore graphiquement la synchronisation entre les processus, tout en conservant les propriétés des théories mathématiques engagées. Il est dérivé du "Milner's SCCS Algebra".

4. Installation

Cast est disponible en divers environnements Unix, notamment Solaris et Linux.
Il est actuellement testé sur les plate-formes suivantes:

5. Copyright

Ce logiciel est protégé par les lois sur le copyright. L'INRIA en est l'unique propriétaire. Il ne peut être utilisé, copié, enregistré ou distribué d'une manière quelconque sans autorisation écrite préalable. Son utilisation est aux risques et périls de l'utilisateur, l'INRIA n'est pas responsable de dommages et pertes de données ayant pu survenir lors de l'utilisation de ce logiciel.



Retour au Sommaire

I. Présentation générale

1.1 Aire de travail

Il s'agit de l'emplacement où les éléments du langage sont combinés afin d'établir une spécification. Une fois un symbole sélectionné, vous pouvez le placer dans l'aire de travail grâce à un clic gauche de la souris, à l'endroit voulu.

1.2 Panel de tâches et opérateurs

Le langage de spécification est disponible sous la forme d'une barre d'outils, située à gauche. Chaque symbole représente un opérateur ou une tâche, à l'exception de celui situé en haut à gauche, qui autorise la sélection d'objets.

  • Création d'un objet
    Une fois l'objet désiré sélectionné, le premier clic sur l'aire de travail crée une nouvelle instance de celui-ci.

  • Sélection d'un objet
    En maintenant le bouton gauche de la souris enclenché, vous pouvez sélectionner un ou plusieurs objets de l'aire de travail.

  • Suppression d'un objet
    Chaque objet ou sélection d'objets de l'aire de travail peut être effacé: il suffit de le sélectionner, et d'appuyer sur la touche du clavier "Suppr", ou l'option "Couper" de la barre d'outils (ciseaux) et du menu Édition (Edit->cut).

  • Déplacement
    Chaque objet ou sélection d'objets de l'aire de travail peut être également déplacé. Pour cela il faut cliquer sur la sélection, et maintenir le bouton de la souris enfoncé jusqu'à l'emplacement désiré.

  • Redimension
    Chaque objet ou sélection d'objets de l'aire de travail peut être aussi redimensionné. Pour cela il faut cliquer sur n'importe quel carré noir autour de la sélection, et maintenir le bouton de la souris enfoncé jusqu'à l'obtention de la taille souhaitée.

1.3 Menu

Il étend les fonctionnalités disponibles. On y distingue les fonctions courantes d'une application (menu "File": ouvrir, nouveau, enregistrement...), de celles spécifiques à Cast.

    Menu fichier "File"
  • New: crée un nouveau document

  • Load: ouvre un document existant

  • Save et Save As: enregistre le document

  • Close View: non implémenté (?)
    Menu édition "Edit"
  • Undo et Redo: non implémenté

  • Cut: couper la sélection

  • Copy: copier la sélection

  • Paste: coller la sélection

  • Select all: sélectionner tous les éléments présents
    Menu options "Options"
  • Colors: changer l'apparence des tâches

  • Grid: non implémenté

  • Save Options: sauver les options dans son répertoire personnel (fichier .castrc)
    Menu d'outils "Tools"
  • SCCS Formula: afficher la spécification en algèbre SCCS

1.4 Barre d'outils

Dans l'ordre:

1.5 Messages d'état

La barre d'état a été retirée de la dernière version de Cast.



Retour au Sommaire

II. Spécification des tâches

2.1 Spécifier une tâche

Definition: Une tâche est une représentation formelle ou abstraite d'un processus.

2.2 Déclarer des paramètres

Après avoir cliqué sur "Input", "Input Output" ou "Output", la fenêtre suivante apparaît:
  • Type et Name permettent de déterminer le type d'argument et son nom

  • Set Value permet de définir sa valeur

  • Sources et/ou Destination

2.3 Déclarer un module

  • Type du module: CORBA ou Non-CORBA

  • Server Name: nom du serveur hébergeant le module

  • CORBA Object Name

  • CORBA Method Name

  • Method Parameters pour définir les paramètres de la méthode CORBA

  • Cocher PaCO Module si le module exploite PaCO

2.4 Spécifier une séquence

La séquence est un opérateur, qui répond à la sémantique suivante:
si t1 et t2 sont deux tâches, t1 séquence t2 signifie que t2 commence dès que t1 est terminée.

La procédure de création est la suivante:

2.5 Spécifier une somme

La somme est un opérateur, qui répond à la sémantique suivante:
si t1 et t2 sont deux tâches, t1 somme t2 signifie que la tâche t1 ou la tâche t2 est exécutée.

En sélectionnant l'opérateur de somme dans la barre d'outil, vous pouvez l'ajouter au diagramme en cours grâce à un clic gauche de la souris. Ainsi, deux nouvelles tâches sont créées: l'accès à leurs propriétés se fait grâce à un double clic. La modification de leur comportement se fait à l'aide d'une boîte de dialogue, activée à l'aide d'un double clic sur le texte "SUM".

2.6 Spécifier un choix

Le choix est un opérateur, identique à la somme bien que sa représentation change; il répond à la sémantique suivante:
si t1, t2, et t3 sont trois tâches, t2 choix t3 signifie que t2 ou t3 est exécuté après la tâche t1.

2.7 Spécifier un produit

Le produit est un opérateur, qui répond à la sémantique suivante:
si t1 et t2 sont deux tâches, t1 produit t2 signifie que les tâches t1 et t2 sont exécutées parallèlement.

Dans la barre d'outils, cliquer sur l'opérateur de produit et le placer dans l'aire de travail pour créer un nouveau produit.

2.8 Des exemples de spécifications





2.9 Générer la formule SCCS

Il est possible de générer la formule SCCS correspondant au diagramme en cours. Pour cela, sélectionner l'option "SCCS formula" du menu "Tools". Cette formule est modifiée en même temps que le diagramme si celui-ci évolue.



Retour au Sommaire

Annexes

Annexe A: Liste des bugs

D'après Jérôme Blachon en Janvier 1999 certains bugs subsistaient dans la base du logiciel, car elle avait été modifiée en profondeur: notamment la gestion des paramètres et des tâches. De plus certaines fonctions ne sont pas implémentées.

Je ne sais s'ils ont été corrigés, Cast a apparemment beaucoup évolué depuis. Après une semaine de contact avec Cast j'ai pu constater quelques bugs, plus ou moins graves. Certains sont peut-être inhérents aux changements de librairies externes au programme (je pense aux bugs graphiques dans ce cas), bien que ce soit peu probable. J'ai expérimenté quelques fautes de segmentation également.

Je vais continuer de torturer l'interface puis l'utilisation en elle-même de Cast pour pouvoir reproduire les bugs et m'imprégner de son architecture. De plus je dois avouer que je ne suis pas très fan de Motif... En effet bien que développé avec wxWindows, certains éléments de l'interface me semblent dépendants d'une implémentation native de Motif (?).



Retour au Sommaire