Logiciel embarqué
autre
Logiciel embarqué

Avions de logiciel embarqué

 

Le principal objectif des documents réglementaires et des normes est de fournir des éléments indicatifs à utiliser dans les processus de création de logiciels pour les systèmes embarqués pour l'aviation, qui doivent remplir les fonctions appropriées avec un niveau de confiance en matière de sécurité qui répond aux exigences de navigabilité des aéronefs.

Parmi les instruments internationaux comportant des exigences logicielles AT est plus important document DO-178 l'formulée la première fois en 1978 À l'heure actuelle, il est utilisé des versions améliorées: DO-I78A, en vigueur depuis 1985 ville, et DO-I78B, en vigueur depuis 1993 , à laquelle beaucoup d'attention est accordée à la question de la qualification des outils logiciels.

En Ukraine et en Russie, il ya des analogues de ces documents: respectivement CT 178A avec 1998 ville et CT 178V avec 2004, l'ajout de ces critères d'admissibilité sont les documents 178A RM et RM-178V.

Parmi la série de normes ISO, opérant en Ukraine et des logiciels connexes, est dominé par deux: DSTU ISO 9000-3-98 et DSTU 3918-1999 (ISO / IEC 12207: 1995). La première est consacrée à l'organisation et les activités du système de qualité par rapport à la, le logiciel de cycle de vie des processus logiciels seconde. Les exigences des normes ISO directement liées à la procédure de certification du soleil et de ses composants, y compris les procédures de certification de logiciels.

En outre, la certification de l'industrie des entreprises de l'aviation, dans ce cas, les processus de création et de production de logiciels d'application utilisé ARMAK document «Lignes directrices 21.2S", à savoir la section «Élément 3. Logiciels d'assurance qualité "qui est divisé en deux parties:" Partie A. Le logiciel embarqué "et" Partie B:. Logiciels pour l'acceptation des produits "

Logiciel désigne le logiciel embarqué des systèmes électroniques des forces armées, qui comprend une partie de la base de certification des Forces armées d'un certain type et installé à bord dans le but de remplir les fonctions nécessaires pour le fonctionnement des forces armées. Les systèmes logiciels conçus, par exemple, pour tester le Soleil, bien installé à bord de l'avion n'a pas décollé, et se réfère au processus de création d'instruments AT.

Depuis les fonctions des systèmes numériques embarqués sont mises en œuvre via un logiciel, celui-ci est l'objet de notamment organisme de certification de l'attention en raison de son impact direct sur l'utilisation sécuritaire des aéronefs.

Criticité des systèmes embarqués fonctionnels et le niveau de logiciel. L'objectif principal des procédures de certification - est, avant tout, d'obtenir certaines garanties de sécurité: la prévention de la mort, des blessures, la mauvaise santé, perte de biens. Le début de certification pour tout système technique complexe est d'analyser les conséquences possibles de la perte (valeur) des fonctions du système sur la sécurité de son exploitation ou l'utilisation pour les humains et les biens. Et peu importe ce qui a causé le dysfonctionnement - erreur de l'utilisateur, une défaillance matérielle ou des erreurs de conception de logiciels. Important sont le système de contrôle de la profondeur, l'identification et la capacité de parer les moyens de rebond du système ou le système d'un niveau supérieur de la hiérarchie, la nécessité pour la redondance, la reconfiguration. Pour analyser les conséquences de la violation des fonctions du système, en règle générale, il faut revenir en arrière à plusieurs reprises après les étapes suivantes, la définition correcte de la catégorie de gravité dépend des exigences de rigidité du logiciel.

Le document CT 178V définit cinq catégories de gravité des systèmes fonctionnels et donc cinq niveaux de logiciel. Malgré le fait que pour certaines catégories de niveaux de logiciels systèmes critiques et sont solidaires, le processus d'établissement des niveaux de tolérances admissibles dans l'une ou l'autre côté.

Logiciels de niveau de classification des catégories de criticité comme suit:

  • Dans un niveau - sur un tel fonctionnels conditions de défaillance du système qui a surgi en raison d'une erreur dans le logiciel pourrait conduire à une situation catastrophique pour le soleil quand il est pratiquement impossible d'empêcher la mort du soleil et les gens. La probabilité d'une telle situation, un vol d'une heure pour être presque incroyable, t E. Moins de 10 ~ 9.

  • Les niveaux dans le logiciel un tel système fonctionnel, dont l'exemption État, qui a surgi en raison d'une erreur dans le logiciel, peut conduire à une situation d'urgence pour le Soleil situation d'urgence caractérisée par une détérioration importante des caractéristiques du soleil ou de dépasser ses limites restrictions, ainsi que par exemple le stress physique de l'équipage de conduite, dans lequel il ne peut pas effectuer correctement et pleinement ses fonctions. Une situation d'urgence peut entraîner des dommages importants au soleil, ou des blessures aux victimes individuelles. La probabilité d'une telle situation, une heure de vol hautement improbable, par exemple, être dans la gamme de 10 M0 ~ 9 ..;

  • ON Niveau de - à un tel système fonctionnel, dont l'exemption État, qui a surgi en raison d'une erreur dans le logiciel, peut conduire à une situation difficile pour le Soleil La situation complexe caractérisée par une caractéristique de soleil de détérioration marquée, la sortie d'un ou plusieurs paramètres des limites de fonctionnement, mais sans atteindre les contraintes limites et une diminution de la capacité de l'équipage à faire face à cette situation en raison de la charge de travail accrue et en raison des conditions défavorables qui réduisent l'efficacité des actions de l'équipage . Une situation difficile peut causer de l'inconfort pour les passagers, y compris éventuellement des blessures. La probabilité d'une situation difficile pour une heure de vol était peu probable, soit, soit dans la gamme de 10 5-10-7 ..;

  • Selon le niveau D - dans un fonctionnels conditions de défaillance du système qui a surgi en raison d'une erreur dans le logiciel pourrait conduire à une complication des conditions de vol pour les avions. Cette situation se caractérise par une légère détérioration du soleil ou une légère augmentation de la charge de travail de l'équipage. Cette situation peut être évitée, par exemple en changeant le plan de vol, et pour les passagers, il ne devrait pas conduire à plus de quelques inconvénients;

  • Selon le niveau de E - sur ce système fonctionnel, que l'exemption de l'Etat, qui se pose en raison d'une erreur dans le logiciel ne modifie pas les capacités opérationnelles des forces armées et de ne pas augmenter la charge sur l'équipage. Obtenir de l'organisme de certification pour confirmer que le logiciel appartient au niveau E, cela signifie que les dispositions du document CT 178V ne lui sont applicables.

 

Le document CT 178A définit trois catégories de fonctions critiques embarqués systèmes de bord:

  • indispensable si une situation particulière qui pourrait surgir dans l'exercice de violation d'au moins l'une des fonctions des Forces armées, est caractérisé comme catastrophiques ou d'urgence;

  • Surtout, si une situation particulière qui pourrait surgir dans l'exercice de violation d'au moins l'une des fonctions des Forces armées, sont complexes;

  • insignifiante si une situation particulière qui pourrait surgir dans l'exercice de violation d'au moins l'une des fonctions des Forces armées, est de compliquer les conditions de vol ou implications.

 

En conséquence, il existe trois niveaux de logiciels:

  • 1 niveau pour la catégorie de «critique» pour le logiciel le plus exigeant et le montant maximum des travaux qui doivent être remplies afin de prouver la conformité aux exigences de certification et le montant maximum de pièces justificatives;

  • 2 de niveau - pour la catégorie «substantielle» des exigences plus faibles;

  • 3 de niveau - pour la catégorie des «non essentiel» avec les exigences minimales.

logiciel de niveau dépend non seulement de la catégorie des fonctions critiques. Le rôle important joué par l'architecture du système et la structure de son logiciel. Par exemple, le système peut être analysé canal analogique de secours qui dupliquer la totalité de la fonction de canal numérique. Dans certaines circonstances, cela peut être suffisant pour diminuer le niveau. A l'inverse, quand on l'analyse sur un seul système Sun est utilisé de telle sorte que son refus de répondre à une catégorie critique, et les autres forces armées du même défaillance du système conduit à une des conditions d'exploitation plus critiques, le concepteur du système peut déterminer un niveau plus élevé. Une influence importante dans la détermination du niveau du logiciel sont également des méthodes de sa conception. par exemplemesures, la méthode de l'isolement ou de contrôle en tant que méthode de protection contre certaines conditions d'échec par la validation continue de la fonction ou multi versionné méthode, la mise en œuvre de ce qui prévoit la création de deux ou plusieurs composants logiciels qui effectuent une fonction de différentes manières et à différents logiciels offre la possibilité de séparer fonctionnellement indépendant composants logiciels pour isoler les défaillances.

Les valeurs numériques mentionnées ci-dessus de la probabilité d'occurrence de situations spéciales ne concernent pas la probabilité d'erreurs non détectées dans le logiciel. Le logiciel ne peut être appliqué à l'appareil mathématique développé de la théorie des statistiques, qui aboie possible de calculer la probabilité d'événements, car il n'y a pas de lien direct entre la probabilité d'occurrence de situations particulières et ne sont pas susceptibles de détecter les erreurs dans le logiciel. Ainsi, les niveaux d'indicateurs relatifs à la fiabilité ou, en fonction d'un niveau logiciel, ne peuvent pas être utilisés dans l'évaluation de la sécurité du système, par exemple, utilisé le taux de défaillance matérielle.

Cependant, les réglementations recommandent l'utilisation de ceux-ci ou d'autres critères quantitatifs pour évaluer la qualité du logiciel ou pour atteindre un certain niveau de qualité, en tenant compte du fait que l'industrie du logiciel a accumulé une grande collection de modèles et de paramètres qui vous permettent d'évaluer différentes caractéristiques des logiciels. En outre, lors de l'élaboration et la vérification des logiciels est fortement recommandé de tenir un registre des erreurs détectées et les inconvénients, ainsi que les mesures prises pour y remédier.

 

Les processus de développement, la vérification et la validation des logiciels

L'étape principale dans la création de tout produit technique est sa conception, notamment le prototypage, le tester pour vérifier la conformité avec les exigences et, à la fin, l'approbation de son entretien. Création d'un produit logiciel entièrement conforme à ces processus.

Présente le processus de création d'un produit logiciel d'intérêt du point de vue de l'obtention de certaines garanties de sécurité. Ici, chaque événement associé à l'élaboration de (P) présente une activité de vérification correspondant (B). Et ils ont tous deux produisent les documents pertinents (D).

Le matériel initial pour initier les processus de développement logiciel sont les exigences déclarées pour le système, qui doivent être formalisées sous la forme d'un document approprié (DF <"zéro">), et qui doivent être converties en exigences logicielles (D1), précisément du fait que la mise en œuvre comme déjà noté, les fonctions des systèmes électroniques numériques sont exécutées par logiciel. Le processus de développement des exigences logicielles (P1) est le processus de transformation des exigences système en exigences logicielles.

Pour faciliter la compréhension de la procédure de transformation, à la fois au cours du développement et de sa procédure de vérification est recommandé de diviser en au moins deux parties: un exigences de conception de haut niveau et les exigences subséquentes de développement faible.

Les exigences de haut niveau directement dérivées de l'analyse des besoins du système en vue des caractéristiques de sa construction. Il est nécessaire de respecter les conditions suivantes: chaque exigence du système doit être transféré à un ou plusieurs des exigences d'un haut niveau, et vice versa, chacun pour un haut niveau de logiciels - dans un ou plusieurs des exigences du système, à l'exception des réclamations dérivés qui ne sont pas découlent directement des exigences du système (par exemple, le traitement d'interruption de la demande, en fonction des caractéristiques du calculateur de cible sélectionné). Dérivés des exigences de haut niveau à transmettre dans le processus d'évaluation de la sécurité du système. Pour connaître les exigences de haut niveau comprennent les exigences fonctionnelles et techniques, l'interopérabilité et les exigences de sécurité de la demande.

Exigences de bas niveau sont exprimés en termes de génie logiciel et sont obtenus en analysant et en détail les exigences de haut niveau. Exigences de faibles niveaux sont directement liées aux procédures de codage et les logiciels d'agrégation, t. E. Il est des exigences relatives à la applicable langages de programmation, les compilateurs, l'architecture et middleware, à la structure de ses composants, à la classification d'objets logiciels à la base de l'opérateur, à l'environnement, le développement et la vérification ainsi que le style de programmation.

Documents connexes sont les normes et autres documents normatifs (D2) sur les spécifications techniques pour la conception, le codage, le soutien. L'exercice de vérification, l'achèvement de la première étape du développement, - une comparaison des exigences pour les besoins du système de logiciel afin de vérifier la compatibilité de la répartition des fonctions entre le matériel et le logiciel et les interfaces, l'exhaustivité ou la pertinence des exigences du logiciel. La forme recommandée de documentation - une table de références croisées, qui peuvent être émises en tant que vérification de document distinct, ou faire partie d'un document général qui décrit toutes les étapes des procédures de vérification et de leurs résultats, ainsi que les nouveaux enjeux et les mesures pour y faire face.

Les prochaines étapes du développement - processus de planification du développement de logiciels et la gestion de la qualité. L'objectif principal de la planification - l'identification des ressources et des séquences d'action, d'assurer la réalisation des objectifs. Il est encore déterminé par les processus d'organisation (relation). En conséquence, ils devraient être émis cinq documents (qui est permis une combinaison raisonnable): plans de certification (DZ), le plan de développement de logiciels, la vérification des plans et des plans de gestion de configuration (D6) et garantir sa qualité. Les activités de vérification (V2, VZ) se rapportent principalement à la coordination des procédures de l'étape de l'approbation des plans, ainsi que leur correction par les commentaires qui ont surgi dans les dernières étapes de l'opération, et même logiciel. Le contenu des documents examinés plus loin.

Poursuite du processus de développement est un processus de conception de logiciels. Ici, les exigences logicielles de haut niveau sont spécifiés pour un certain nombre d'itérations du processus de conception pour former l'architecture logicielle d'algorithmes de fonctionnement, en tenant compte du faible niveau des exigences à tel point que sur eux il était possible de rendre le code source. Pour répondre aux exigences de sécurité doivent assurer le contrôle de contrôle et de flux de données, par exemple, pour fournir une minuterie de chien de garde, contrôle de cohérence et tangentiels de comparaison naturellement avec la réaction correspondant à l'état « de refus ». les résultats de conception sont enregistrés dans un document décrivant le projet.

Le V4 d'exercice de vérification - contrôle du projet sur les exigences de conformité pour les logiciels et les normes de conception, y compris la vérification des algorithmes de fonctionnement du système. L'objectif principal de la vérification du projet est de fournir son « vérifiabilité ». Ceci doit être pris en considération au moins les facteurs suivants: la séquence d'exécution du programme, les flux de données et une éventuelle distorsion de leur impact potentiel sur les fonctions d'isolement du matériel et de l'intégrité. Le document de vérification D13 doit être une table de conformité du projet à la demande d'un logiciel sous la forme d'analyse transversale. Retraite des normes et des exigences doit être notée et justifiée.

Toutes les étapes jusqu'ici, Lager phase de conception du logiciel peut être qualifié de préliminaire. Seulement comme un résultat du processus de programmation (R5), interconnexion de composants de logiciels (R6) et l'intégration de logiciels avec le matériel (R7) apparaît produits logiciels propres à leur forme finale.

Le premier résultat du processus de mise en œuvre d'un faible niveau des exigences, toujours un code source (D9), qui doit être transformé en projet. architecture logicielle comptable dans le processus de conception est mis en œuvre dans les procédures de logiciel multi-composants et logiciels d'intégration à l'ordinateur cible code objet en fin de compte exécutable (DOJ) et le logiciel de configuration de répertoire approprié (D11). données d'entrée incorrectes ou insuffisantes identifiés dans ces processus, il est nécessaire de revenir aux processus précédents pour apporter des corrections ou de clarté. De plus, l'environnement de développement logiciel (il est, le plus souvent, et l'environnement de son soutien) doivent être clairement et soigneusement définis et fixés (D12).

Inutile de dire, à ce stade du développement effectué les mesures les plus importantes de vérification (V5, V6, V7) sous le titre le plus volumineux, le plus complexe dans le contenu et - Test (test) logiciel pour détecter les erreurs contenues dans le logiciel. Le problème ici est que les erreurs détectées sont habituellement éliminés, pas identifiés peuvent même pas être prédit.

Le contenu de toutes les trois mesures de vérification.

Ce processus se compose d'un certain nombre d'itérations, et comprend toutes les positions dans chaque itération et pour chaque événement. Les résultats du processus sont enregistrées dans un document D13.

Les processus d'examen du développement de logiciels serait incomplète sans mention des plans et UKPO GKPO. être mis en œuvre par des audits interne et externe de la configuration, ainsi que les procédures organisationnelles et technologiques appropriées, et sont reflétées dans les minutes et D14 D15.

Mise en œuvre du logiciel de plan document de certification D16 fixe.

Le cycle de développement du logiciel est terminée, les tests confirment la pertinence opérationnelle du système fonctionnel numérique à bord (V9). Ces tests sont effectués dans le cadre du certificat officiel (certification) que le système sur cet avion dans les conditions d'exploitation déclarés fonctionne correctement.

La documentation pour la certification de logiciels. Aux États-Unis, il a été officiellement 1987 méthode Institut SEI (Software Engineering Institute), qui permet de déterminer le niveau de maturité technologique des entreprises qui développent des logiciels et améliorer le processus de développement. Initialement Capability Maturity

Modèle (CMM), et plus tard - Capability Maturity Model Integration (CMMI). Conformément au modèle de la plus haute ( « optimisation ») niveau de maturité technologique - le cinquième - RÉPOND processus entièrement automatisé à la production sur la base d'un modèle mathématique en utilisant les méthodes d'optimisation paramétrique et structurelle et l'organisation se concentre sur l'amélioration des processus. L'un des signes de la partie inférieure de la première ( « primaire ») niveau est organisme dépendant de programmeurs individuels, et l'une des conditions pour la transition du second niveau ( « répétitions ») à un tiers ( « Définitions ») - documenter les processus sous contrôle de service approprié dirigé par la personne responsable de la haute direction de l'organisation.

Toutes les phases du cycle de vie du logiciel ont un début et une fin à la documentation peuvent exister pour toujours. Par conséquent, de formuler les exigences en matière de documentation - cela signifie de formuler les exigences pour tous les processus ci-dessus de la création de logiciels. La documentation est le facteur très matériel par lequel le logiciel certifié. La documentation est également un élément clé dans l'enquête soigneusement analysé les conditions de catastrophes ou de situations d'urgence.

Une forme très importante et le contenu du document, l'inclusion des caractéristiques quantitatives et qualitatives du produit, la profondeur de son suivi et l'analyse, la présence de la possibilité d'enregistrement et de stockage, le niveau de responsabilité des personnes qui signent le document. Le maillon le plus faible dans la documentation - vue complète de la déclaration à ses exigences.

Une liste précise des documents requis pour la certification d'un logiciel dépend du logiciel (sur la criticité du système) et est déterminée dans le processus d'approbation du plan de certification auprès de l'autorité de certification. La brièvement ci-dessous montre l'essence et les documents déjà mentionnés.

  • D1 les «exigences de Software" - contient une description de la transformation des exigences aux exigences de logiciels avec la libération des exigences de niveaux haut et bas et avec une attention particulière à la sécurité et les conditions de défaillance possibles. Pour définir la performance fonctions de critères et les limites possibles, telles que la mémoire, le temps-fréquence, pour l'interaction. Une attention particulière est accordée à l'isolement de composants logiciels.

  • D2 - "des normes de développement de logiciels" - liste pluriel. Au moins - ce qui est une liste de normes officielles, le développement des besoins, conception, codage, tests de logiciels. Avec les normes - quelques documents.

  • Leur contenu - méthodes pour créer, règles de structuration, les restrictions sur le projet (par exemple, l'exclusion de la récursion, des objets dynamiques, les autres symboles de données), limite de complexité (par exemple, l'imbrication des appels, l'utilisation du houblon) sur la langue et le compilateur, de l'environnement et des outils.

  • CLE - "la certification des logiciels de régime» est servi à l'approbation de l'autorité de certification de l'Etat, définit les procédures, les méthodes de prouver la conformité aux exigences du produit à lui à un système pour les Forces armées et de la documentation requise.

  • D4 "plan de développement de logiciel" - définit le cycle de vie du développement de logiciels, l'interaction des artistes et de l'environnement de développement.

  • D5 - "vérification du logiciel de régime» - définit les étapes (la position du processus de développement et les critères pour la transition vers les procédures de vérification), des techniques, des procédures, de l'environnement et des outils de vérification, y compris des outils logiciels, des instructions sur la réalisation des paramètres de qualité nécessaires (de sécurité) et les instructions sur les rescanner et le test après avoir modifié le logiciel, qui garantissent l'élimination des erreurs détectées.

  • D6 - "Plan de gestion de configuration logicielle" - fixe les règles pour identifier les logiciels et l'équipement des unités, la version de base et la traçabilité des versions dérivées des règles de gestion du changement, les règles de l'ordre et de la configuration d'enregistrement du statut, l'archivage, la surveillance et la protection du logiciel de l'unité de traitement de données.

  • D7 - "logiciels d'assurance de la qualité du plan" définit la portée, les responsabilités et les pouvoirs d'inspection et de vérification et d'autres activités liées au processus de l'obtention de garanties, y compris les rapports de problèmes, leur suivi et les actions correctives.

  • D8 - "Description du logiciel de projet" - contient une description détaillée de la façon dont le logiciel répond aux exigences des exigences de haut niveau, y compris les algorithmes, structures de données, et comment les exigences de logiciels affecté à des tâches et des processus. En outre, une description de l'architecture logicielle, les bibliothèques, je / flux de données S et contrôler l'allocation des ressources et les restrictions, les procédures, les horaires, les programmes inter-processus connexes et le partage inter-applications, des interruptions, des composants logiciels, les méthodes pour leur isolement.

  • D9 "Source Code" - contient le code source, les instructions de compilation pour la génération de code, la vérification des données et les liens de téléchargement.

  • D10 - "code objet exécutable" - contient le code qui est approprié pour la mise en œuvre directe du processeur cible, calculatrice, t E. Un qui est chargé dans le système de l'équipement avionique..

  • D11 - "logiciel de configuration de produit» - définit la configuration du produit livré comme une unité. Elle doit identifier le logiciel dans son ensemble, chaque composant correspondant aux documents et médias.

  • D12 - «Produit Environnement Software" - contient une description de l'environnement du cycle de vie du logiciel, depuis le stade de préciser les exigences et la phase de la radiation de l'utilisation de produits de finition. Dans le catalogue identifié par les outils de développement, de vérification, logiciel de suivi, fournit des données sur les qualifications des outils.

  • D13 - "Les procédures et les résultats de la vérification" peut être divisée en deux ou trois documents, qui doivent être décrites les procédures pour l'examen, l'analyse, l'essai à tous les stades de développement, des exemples d'application et les résultats des tests des procédures composants du logiciel identifiés. Tous les problèmes et les mesures correctives doivent être décrits en détail.

  • D14 - "Protocoles UKPO."

  • D15 - "Protocoles GKPO."

  • D16 - "La conclusion finale sur le logiciel" - est le principal document qui fixe la mise en œuvre du «Plan de certification des logiciels" et la mesure dans laquelle les «Logiciels requis». Il doit contenir une brève description du système et le logiciel, certification conditions (accords), les caractéristiques, l'identification et l'état de la documentation du logiciel pour obtenir une liste de logiciels et une déclaration de la mesure dans laquelle les exigences en matière de logiciels.

Blogue et articles

à l'étage