Applications
Développement de logiciels sûrs : une approche dirigée par la conception
IN176 v1 RECHERCHE ET INNOVATION

Applications
Développement de logiciels sûrs : une approche dirigée par la conception

Auteur(s) : Quentin ENARD

Date de publication : 10 févr. 2014

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Contexte

2 - Description technique de l'innovation

3 - Applications

  • 3.1 - Systèmes de gestion de vol
  • 3.2 - Informatique ubiquitaire

4 - Perspectives et évolutions

  • 4.1 - Systèmes résilients
  • 4.2 - Assistance à la personne
  • 4.3 - Transfert technologique

Sommaire

Présentation

NOTE DE L'ÉDITEUR

Le projet de création d’entreprise iQSpot a été retenu en tant que lauréat du concours OSEO dans la catégorie « En émergence » en mai 2013. Ce projet vise le marché des bâtiments intelligents et ambitionne de fournir une plateforme de gestion de bâtiments intégrant un grand nombre de technologies de capteurs et actionneurs tout en fonctionnant en mode SaS (Software as a Service), permettant ainsi d’offrir un catalogue d’applications en perpétuelle évolution.

25/02/2014

RÉSUMÉ

Développer des applications logicielles sûres de fonctionnement est une tâche particulièrement complexe qui nécessite d'assurer le respect d'exigences de sûreté tout au long du processus de développement. Cet article relate les travaux de l'équipe de recherche Phoenix de l'INRIA Bordeaux en vue de faciliter ces développements. Ces travaux se concentrent sur le développement d'une suite d'outils, nommée « DiaSuite », qui s'appuie sur un langage de conception pour guider le développement grâce à la génération de support dédié à chaque étape, de l'implémentation au déploiement, en passant par les tests. Le respect des exigences de sûreté est alors facilité grâce à l'intégration dans DiaSuite des aspects de sûreté de fonctionnement tels que le traitement des erreurs.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Quentin ENARD : Docteur en informatique de l'université Bordeaux I - Développeur chez iQSpot (co-fondateur), Bordeaux, France

INTRODUCTION

Résumé

Développer des applications logicielles sûres de fonctionnement est une tâche particulièrement complexe qui nécessite d'assurer le respect d'exigences de sûreté tout au long du processus de développement. Cet article relate les travaux de l'équipe de recherche Phoenix de l'INRIA Bordeaux afin de faciliter ces développements. Ces travaux se concentrent sur le développement d'une suite d'outils, nommée « DiaSuite », qui s'appuie sur un langage de conception pour guider le développement grâce à la génération de support dédié à chaque étape, de l'implémentation au déploiement, en passant par les tests. Le respect des exigences de sûreté est alors facilité grâce à l'intégration dans DiaSuite des aspects de sûreté de fonctionnement tels que le traitement des erreurs.

Abstract

The development of dependable software applications is a complex task that requires to fullfill dependability requirements through the whole development process. This paper presents the research of the Phoenix research group from INRIA Bordeaux – Sud-Ouest to ease these developments. This research focuses on the development of a tool suite, namely DiaSuite, that leverage a design language to guide the development process by generating dedicated support at each stage, from programming to deployment through tests. Then, DiaSuite makes easier to fulfill the dependability requirements thanks to the integration of dependability concerns such as error Handling.

Mots-clés

Génie logiciel, sûreté de fonctionnement, langage de conception, ingénierie dirigée par les modèles, architecture logicielle, langage dédié, génération de code, traitement des erreurs

Keywords

Software Engineering, Dependability, Design language, Model Driven Engineering, Software Architecture, Domain Specific Language, Code generation, Error handling

Points clés

Domaine : Génie logiciel, sûreté de fonctionnement

Degré de diffusion de la technologie : Émergence | Croissance | Maturité

Technologies impliquées : Langages de conception, génération de code, exceptions

Domaines d'application : Aéronautique, automobile, immotique, assistance à la personne...

Principaux acteurs français :

Pôles de compétitivité : Aerospace Valley, Cap Digital

Centres de compétence :

Industriels : Thales, Airbus, Renault, Orange, Bouygues, Schneider...

Autres acteurs dans le monde : Boeing, NASA, BMW, Siemens...

Contact : [email protected]/ phoenix.inria.fr

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-in176

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

3. Applications

La méthodologie outillée de DiaSuite a été mise en œuvre pour développer des applications dans des domaines variés allant de l'aéronautique à l'informatique ubiquitaire en passant par l'aide à la personne. En particulier, un prototype de système de gestion de vol, réalisé en collaboration avec Thales, ainsi que des applications d'informatique ubiquitaire pour une école d'ingénieur (ENSEIRB) ont été développés en utilisant DiaSuite.

3.1 Systèmes de gestion de vol

Un système de gestion de vol est en charge de la navigation d'un appareil volant et fonctionne sous la supervision du pilote. Par exemple, le pilote peut directement spécifier les paramètres de vol, comme l'altitude. Il peut également définir un plan de vol qui sera automatiquement suivi par l'appareil. Chaque paramètre de vol est géré par un mode de navigation spécifique (par exemple, gestion de l'altitude, gestion du cap). Lorsqu'un mode est sélectionné par le pilote, l'application contrôle les ailerons et les élévateurs afin d'atteindre la valeur cible du paramètre correspondant. Par exemple, si le pilote spécifie un cap à suivre, l'application compare ce cap cible au cap courant qui est capté par des appareils tels que les centrales inertielles (ou IRU pour Inertial Reference Unit), puis manœuvre les ailerons en conséquence. Chaque mode de navigation est généralement associé à une chaîne fonctionnelle représentant la succession des traitements, depuis les capteurs jusqu'aux actionneurs.

Basé sur le paradigme SCC, le langage de conception DiaSpec est particulièrement adapté pour la conception des chaînes fonctionnelles qui constituent les modes de fonctionnement de l'autopilote. Par exemple, la description du mode de gestion du cap présentée dans le paragraphe 2.2.1 illustre la projection des différents traitements vers des contextes et contrôleurs DiaSpec. Grâce à la description des différents modes de fonctionnement du gestionnaire de vol, les outils fournis par DiaSuite ont permis de guider efficacement le développement. En effet, ces descriptions ont permis de vérifier des propriétés de sûreté telles que le signalement systématique au pilote de la panne d'un capteur ou le temps maximal d'exécution d'une chaîne fonctionnelle. Ces mêmes descriptions ont également servi à guider l'implémentation de l'application, ainsi que l'illustre le paragraphe 2.2.2, assurant ainsi la conformité entre conception...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Applications

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - AVIZIENIS (A.), LAPRIE (J.-C.), RANDELL (B.), LANDWEHR (C.) -   Basic concepts and taxonomy of dependable and secure computing.  -  IEEE Transactions on Dependable and Secure Computing (2004).

  • (2) - CACHO (N.), FILHO (F.C.), GARCIA (A.F.), FIGUEIREDO (E.) -   EJFlow : taming exceptional control flows in aspect-oriented programming.  -  AOSD'08 : Proceedings of the 7th International Conference on Aspect-Oriented Software Development (2008).

  • (3) - FABRE (J.-C.), PÉRENNOU (T.) -   FRIENDS – a flexible architecture for implementing fault tolerant and secure distributed applications.  -  EDCC'96 : Proceedings of the 2nd European Dependable Computing Conference on Dependable Computing, p. 3-20 (1996).

  • (4) - FEILER (P.H.) -   The architecture analysis and design language (AADL) : an introduction.  -  Technical report, DTIC Document (2006).

  • (5) - DION (B.) -   Correct-by-construction methods for the development of safety-critical applications.  -  SAE Transactions (2004).

  • ...

1 Sites Internet

AUTOSAR, AUTomotive Open System Architecture http://www.autosar.org/(page consultée le 30 juillet 2013)

Parrot, AR Drone http://ardrone2.parrot.com (page consultée le 30 juillet 2013)

HAUT DE PAGE

2 Normes et standards

ED-12C - 2012 - Software Considerations in Airborne Systems and Equipment Certification - -

RTCA/DO-178C - 2011 - Software Considerations in Airborne Systems and Equipment Certification - -

HAUT DE PAGE
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Normalisation en matière de sûreté de fonctionnement des logiciels

Cet article présente un panorama détaillé et actualisé de la normalisation en matière de Sûreté de ...

Contrôle en ligne d'une installation de générateur de vapeur par Bond Graph

Le présent article concerne une application de la modélisation Bond Graph pour la surveillance en ligne ...

Vérification et maintenance d’un parc d’appareils de mesure

Quelle que soit la taille du parc de matériels dont elle dispose, une entreprise doit mettre en œuvre ...

Fatigue des composants électroniques de puissance - Physique de défaillance

L'augmentation des champs d'application de l'électronique de puissance conduit à l'émergence de ...