Sisal-Store

Site de mise à disposition des ressources de Sisal.

Qu'est-ce que Sisal ?

Sisal est un environnement de développement d'application temps réel.

Une application temps réel est une application informatique qui fait des choses au bon moment, plus généralement de programmes qui interagissent avec des équipements externes et le monde réel.

Sisal propose un modèle de programmation qui simplifie le développement et la maintenance de système d'informations temps réel en environnement complexe.

L'objectif premier, central et dernier est de permettre au développeur et au mainteneur de disposer d'un document qui contienne toutes les informations nécessaires et suffisantes à la compréhension et au fonctionnement d'une application temps réel à un certain niveau d'analyse.

Sisal ne propose pas de faire de gros dessins fouillis, mais plutôt d'écrire du texte simple, lisible et "proche" de la pensée humaine.

Les concepts principaux

Les données

Une donnée peut être disponible ou indisponible.

Dans un environnement complexe, un capteur peut-être en panne et l'information correspondante est indisponible. Sisal note que la valeur est nulle, une variable qui contient cette information aura la valeur nulle, et un calcul qui utilise cette valeur aura un résultat nul. La nullité est contagieuse.

Une variable peut être indéfinie, contenir une valeur simple ou faire référence à un objet.

Sisal reprend et généralise le paradigme de la programmation orientée objet: toute information est accessible par l'intermédiaire d'une variable nommée; cette information peut-être élémentaire ou être une référence à un ensemble d'information (un objet) caractérisée par un ensemble de propriétés (une classe).

Un objet peut être un objet interne ou être une interface d'un objet externe (device) par exemple un équipement matériel.

Le device est la généralisation du concept d'objet à toute entité devant être gérée dans une application temps réel.

Les traitements

Les traitements sont des suites d'instructions élémentaires qui peuvent être structurées en suite, boucle, procédures, méthodes...

Les traitements sont enregistrés dans des fichiers appelés scripts ou synoptiques qui contiennent toutes les informations nécessaires à l'application.

Un synoptique est un script qui dispose d'une interface homme-machine, il affiche donc des données et attend des évenments venant de l'utilisateur.

Les événements

Tout traitement d'une application Sisal est déclenché par la survenue d'un événement.

Un événement peut être le déclenchement d'un capteur de présence, l'épuisement d'un délai..

Une clause évenementielle est l'association d'un ou plusieurs événements et d'un traitement. Il y a autant de clauses évenementielles que d'événements déclencheurs. Une clause événementielle peut être inactive, déclenchée ou en cours d'éxécution.

Lorsqu'un événement est levé, toutes les clauses événementielles dont il est un déclencheur sont déclenchées; la clause déclenchée sera mise en éxécution dés que le noyau de Sisal en aura la disponibilité.

Deux clauses événementielles différentes peuvent s'exécuter simultanéménent, un clause événementielle ne peut s'éxécuter qu'une seule fois à l'instant présent.

La programmation parallèle qui est généralement complexe à maîtriser est ici proposée dans une implémentation simple qui suffit largement dans la majorité des cas d'applications temps réel.

L'ouverture

Sisal fonctionne sur plusieurs système d'exploitation. Sauf exception marginale la plupart des applications développées dans un environnement sont directement exécutables dans un autre environnement.

Sisal utilise la librairie wxWdigets qui est fonctionnelle sous Linux, Windows et OS/X.

Sisal permet de définir des devices (objets externes) que ce soit par des scripts en interne ou par des programmes (classiquement écrits en C) disponibles dans des librairies (.so ou .dll) sur la cible.

Perenité

Sisal est l'aboutissement d'un processus commencé il y a vingt ans pour de la supervision de processus industriel.

Sisal assure une rétro-compatibilité trés fortes, les applications Sisal écrites au début sont inchangées hormis certains identifiants qui ont été réservés pour l'introduction des devices (class, ident,..).

L'introduction de l'orienté objet a élargi le champ d'application de Sisal et lui assure sa pérennité.

Sisal a été utilisé pour des applications de pilotage de magasins, de logistique et de commande de robot; dans ce dernier cas des devices définissent des sous-ensembles fonctionnels ( pattes, bras) ou des librairies de traitement d'images.
Ph.Leroy,
Qu'est ce que le Sisal-Store?

Le Sisal-Store est le lieu d'échange et de partage de tout ce qui est relatif à Sisal.

Cela comprend la possibilité de télécharger les outils d'installation de Sisal, la possibilité d'acquérir des modules développés par des tiers, et surtout d'échanger avec d'autres développeurs du savoir-faire.

Toutes les informations sont disponibles sans restriction; le téléchargement et la participation aux forums nécessitent de s'être identifié.

Tout ce qui est mis à disposition implique l'acceptation d'une licence d'usage et, dans certaines circonstances, un paiement.

Et non Sisal n'est pas gratuit, vous pouvez l'essayer librement mais si vous devez en tirer un profit alors il faudra payer quelque chose. On précise tout cela dans la présentation des licences proposées.

De même Sisal n'est pas à source-ouvert, pour des raisons de divulgations et de cout de réecriture.

Le modèle économique de l'open-source est trés respectable et nous veillons aux respects des licences du logiciel que nous intégrons; mais le coût de recommenter le code-source en anglais et l'étroitesse du marché nous amène à repousser cette bascule.
Comment fait-on?

On s'inscrit sur le site, on recoit un mail avec un mot de passe provisoire et on dispose de toutes les ressources.

Si cela ne marche pas, c'est probablement parce que votre logiciel de messagerie ne connait pas encore le sisal-store et a mis le mail dans la boîte à spam.

Si cela ne marche toujours pas, c'est peut-être parce que vous dépendez d'un inhibiteur de messagerie et là, il faut demander à votre service informatique car nous ne pouvons rien faire.