![]() |
http://www.inrialpes.fr/sinus/cast/ |
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.
Cast a pour but d'établir la spécification et l'implémentation d'applications communiquantes.
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.
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".
Cast est disponible en divers environnements Unix, notamment Solaris et Linux.
Il est actuellement testé sur les plate-formes suivantes:
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.
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.
![]() |
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.
|
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.
|
|
|
|
La barre d'état a été retirée de la dernière version de Cast.
Definition: Une tâche est une représentation formelle ou abstraite d'un processus.
Après avoir cliqué sur "Input", "Input Output" ou "Output", la fenêtre suivante apparaît:
![]() |
|
![]() |
|
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:
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".
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.
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.
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.
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 (?).