LANGAGE ALTARICA

L’AltaRica est un langage né en 1998 d’une collaboration entre la recherche, principalement le Laboratoire Bordelais de Recherche en Informatique (LaBRI), et le monde industriel. Ce langage, basé sur des méthodes formelles, a été pensé et développé en vue de réaliser des analyses safety qualitatives et quantitatives. L’une des versions du langage, appelée AltaRica Data-Flow, est implémentée dans l’outil CECILIA* Workshop.

Historique

La conception du langage AltaRica a débuté à la fin des années 90 dans le Laboratoire Bordelais de Recherche en Informatique (LaBRI).
La raison de la création d’un nouveau langage de modélisation était de surmonter les difficultés rencontrées par les analystes de la sécurité (dans les industries aéronautique, nucléaire, automobile, pétrolière et gazière) avec des formalismes de modélisation « classiques » tels que les arbres de défaillances, les chaînes de Markov ou les réseaux de Petri stochastiques.

Trois versions du langage cohabitent : le langage originel “AltaRica LaBRI”, une version qui force l’orientation des flux et gomme le caractère acausal (le même évènement peut amener à des conséquences différentes) appelée “AltaRica Data-Flow” et une évolution de ce dernier appelée “AltaRica 3.0”. A noter qu’à ce jour, seul l’AltaRica Data-Flow est implémenté dans des outils industriels.

Photo de RoonZ nl sur Unsplash

Langage

L’AltaRica Data-Flow est un langage formel à transitions gardées. Les états et les transitions sont modélisés dans des modèles à la fois fonctionnels et dysfonctionnels, et les logiques implémentées permettent la propagation des défaillances.
Des analyses statiques et dynamiques de ces modèles peuvent être effectuées : équations booléennes, génération de séquences, model-checking, simulation Monte-Carlo, chaînes de Markov…

Les principes de base de l’AltaRica Data-Flow sont les suivants :

  • les états d’un composant sont modélisés (Nominal, Failed)
  • les transitions représentent les changements d’état via des évènements discrets (Failure)
  • les assertions déterminent la valeur des sorties en fonction des entrées et de l’état courant du composant : Output = f(Input, State)

La syntaxe et la sémantique du langage sont définis dans le document en téléchargement.

Publications

Les activités de recherche en lien avec le langage AltaRica, sous toutes ses formes, ont été nombreuses au cours des 25 dernières années.

En voici un florilège :

– The AltaRica Language. In Lydersen and Hansen and Sandtorv ed., Proceedings of European Safety and Reliability Conference, ESREL’98. 1998, A. Griffault, G. Point, A. Rauzy, J.P. Signoret and P. Thomas. 

Model-based diagnosis for avionics systems using minimal cuts. In 22nd International Workshop on Principles of Diagnosis – DX 2011, Allemagne (2011), A. Griffault, S. Gaudan, F. Kuntz, E. Laurent, G. Point and C. Sannino.

– MBSA in Aeronautics: A Way to Support Safety Activities. IMBSA 2022. Lecture Notes in Computer Science, vol 13525. Springer, Cham. https://doi.org/10.1007/978-3-031-15842-1_3, C. Frazza, P. Darfeuil, J. Gauthier, J.

– AltaRica : Contribution à l’unification des méthodes formelles et de la Sûreté de fonctionnement. Thèse de l’Université Bordeaux I, 2000, Gérald Point. 

Motifs formels d’architectures de systèmes pour la sûreté de fonctionnement. Thèse de l’Ecole Nationale Supérieure de l’Aéronautique et de l’Espace (SUPAERO), 2005, Christophe Kehren.

Analyses de sûreté de fonctionnement multi-systèmes. Thèse de l’Université Bordeaux I, 2009, Romain Bernard.

Symbolic computation of minimal cuts for AltaRica models. Research Report n°1456-11. LaBRI – Université Bordeaux I, Sep. 2011, Alain Griffault, Fabien Kuntz, Gérald Point and Aymeric Vincent.

Projet S2C (System & Safety Continuity) des IRT Saint-Exupéry et System X.