11 research outputs found

    FLOSS, COTS, and Safety: A Business Perspective

    Get PDF
    International audienceThis paper discusses the relationship between COTS software (Commercial-off-the-shelf) and FLOSS (Freely Licensed Open Source Software) from a purely business perspective. The emphasis of this work is on safety-centric industries such as aerospace, automotive, and railways

    Partitioned System with XtratuM on PowerPC

    Full text link
    XtratuM is a real-time hypervisor originally built on x86 architecture. It is designed referencing the concept of partitioned system. The main work in this thesis is to implement XtratuM in PowerPC architecture.Zhou, R. (2009). Partitioned System with XtratuM on PowerPC. http://hdl.handle.net/10251/12738Archivo delegad

    Intégration d'un simulateur de partitionnement spatial et temporel à un flot de conception basé sur les modèles

    Get PDF
    RÉSUMÉ L'architecture avionique modulaire intégrée (IMA) représente une préoccupation cruciale pour l'industrie aérospatiale dans le développement de systèmes de plus en plus complexes, afin de réduire les coûts, ainsi que les temps, de développement, de certification et de production. D'un point de vue logiciel, cet objectif pousse les développeurs à développer ou migrer une multitude d'applications vers des systèmes d'exploitation temps réel (RTOS) conformes à la norme ARINC 653. Cette norme propose un partitionnement dans l'espace et dans le temps sécuritaire pour les systèmes critiques, un élément crucial aux IMA. Toutefois, le prix des licences pour les principaux environnements de développement commerciaux peut être très élevé. Il devient donc intéressant de s’attarder aux alternatives moins dispendieuses qui pourraient très bien être utilisées en début de développement aux fins de simulations, préalablement au déploiement sur la plateforme cible. D’un autre côté, plusieurs alternatives offrent peu de documentation ou de support, et sont souvent limitées quant aux approches de développement basé sur les modèles, ou quant à la conformité à la norme ARINC 653. Pour répondre à cette problématique, ce projet se concentre sur ces environnements de développement peu coûteux ou libres de licences, et propose un flot de conception novateur incluant à la fois un environnement de modélisation efficace pour l'analyse basée sur les modèles, ainsi qu’un environnement de simulation. Le flot proposé utilise le langage « Architecture Analysis and Design Language (AADL) » pour modéliser le système, et le simulateur commercial de système IMA (SIMA) développé par l’entreprise GMV pour exécuter les applications. Ce simulateur est conforme à la norme ARINC 653, et s'exécute sur un ordinateur de bureau par dessus un système d’exploitation Linux comportant un noyau temps-réel. Pour faire le pont entre les deux environnements, le générateur de code libre OCARINA, qui prend en entrée du AADL, a été étendu pour réaliser la génération de fichiers de configurations, et de codes sources, vers la cible SIMA. Le code source généré vise la gestion des appels aux services de l’interface de programmation ARINC 653. Une application avionique a été développée en tant qu’étude de cas pour expérimenter ce flot. Elle consiste en une unité de contrôle et d’affichage multiusage (de l’anglais : « Multi-purpose Control and Display Unit » ou MCDU) communiquant avec un système de gestion de vol simulé fourni par CMC Électronique. Durant l’expérimentation, le simulateur s’est démontré utile en permettant l’identification et la correction d’erreurs de conception dans la configuration et dans l’implémentation du MCDU, ce qui a réduit considérablement les erreurs de transmission de pages. Il a aussi été démontré qu’il pouvait être déployé sur une plateforme dotée d’une distribution Linux embarquée. Concernant le générateur étendu, les résultats furent concluants. La version actuelle de l’outil réduit considérablement le temps alloué à la configuration du système, et à la migration d’application vers l’environnement ARINC 653. De plus, le simulateur SIMA a dorénavant accès à une approche de développement basé sur les modèles. Par contre, des limitations fondamentales ont été identifiées quant à la génération de code source. Néanmoins, nous considérons que le flot que nous proposons est un point de départ satisfaisant qui pourra être étendu à d’autres technologies dans le cadre de futurs travaux.----------ABSTRACT The Integrated Modular Avionics (IMA) architecture has been a crucial concern for the aerospace industry in developing more complex systems, while seeking to reduce cost as well as development, certification and production time. From a software perspective, that objective pushes developers to develop or migrate most applications toward real-time operating systems (RTOS) compliant to the ARINC 653 standard which offers a safety critical space and time partitioning central to IMA. However, due to very high license costs, mainstream commercial development environments can be restrictive. That situation is even more striking considering low-cost alternatives could instead be used in early simulation, before deployment on target platform. On the other hand, many alternatives offer little documentation or support, and are often limited when it comes to either model-based engineering (MBE) approach, or compliance to the ARINC 653 standard. To answer that problematic, this project reviewed existing low-cost and open-source development environments, and proposes a novel flow including both a modeling environment effective for model-based analysis and a simulation level. The proposed flow uses the Architecture and Analysis Design Language (AADL) to model the system, and the commercial Simulated IMA (SIMA) simulator developed by GMV to execute its applications. That simulator is ARINC 653 compliant, and runs on a desktop computer over a Linux distribution with a real-time kernel. To bridge the two environments, the open-source OCARINA generator, which takes AADL inputs, was extended to achieve source code and configuration generation toward the SIMA target. The generated source code aims to manage calls to the ARINC 653 programming interface services. An avionic application was developed as a case study to experiment the latter flow. It consisted of a Multi-purpose Control and Display Unit (MCDU) communicating with an external Flight Management System (FMS) simulation provided by CMC Electronics. During the experiment, the simulator proved useful in leading to the identification and correction of design flaws in the MCDU system configuration, which considerably reduced page transmission failures. It also demonstrated that it could be deployed on a platform with an embedded Linux distribution. Concerning the extended generator, results have proved successful so far. The current version of the tool greatly reduces the time required to configure the system or migrate applications to an ARINC 653 environment. It also enhances the simulator with a MBE approach. However, fundamental limitations were identified as far as source code generation is concerned. Nevertheless, we consider our proposed flow to be a satisfying starting point, which could be extended to other technologies in future work

    Quarantine-mode based live patching for zero downtime safety-critical systems

    Get PDF
    150 p.En esta tesis se presenta una arquitectura y diseño de software, llamado Cetratus, que permite las actualizaciones en caliente en sistemas críticos, donde se efectúan actualizaciones dinámicas de los componentes de la aplicación. La característica principal es la ejecución y monitorización en modo cuarentena, donde la nueva versión del software es ejecutada y monitorizada hasta que se compruebe la confiabilidad de esta nueva versión. Esta característica también ofrece protección contra posibles fallos de software y actualización, así como la propagación de esos fallos a través del sistema. Para este propósito, se emplean técnicas de particionamiento. Aunque la actualización del software es iniciada por el usuario Updater, se necesita la ratificación del auditor para poder proceder y realizar la actualización dinámica. Estos usuarios son autenticados y registrados antes de continuar con la actualización. También se verifica la autenticidad e integridad del parche dinámico. Cetratus está alineado con las normativas de seguridad funcional y de ciber-seguridad industriales respecto a las actualizaciones de software.Se proporcionan dos casos de estudio. Por una parte, en el caso de uso de energía inteligente, se analiza una aplicación de gestión de energía eléctrica, compuesta por un sistema de gestión de energía (BEMS por sus siglas en ingles) y un servicio de optimización de energía en la nube (BEOS por sus siglas en ingles). El BEMS monitoriza y controla las instalaciones de energía eléctrica en un edificio residencial. Toda la información relacionada con la generación, consumo y ahorro es enviada al BEOS, que estima y optimiza el consumo general del edificio para reducir los costes y aumentar la eficiencia energética. En este caso de estudio se incorpora una nueva capa de ciberseguridad para aumentar la ciber-seguridad y privacidad de los datos de los clientes. Específicamente, se utiliza la criptografía homomorfica. Después de la actualización, todos los datos son enviados encriptados al BEOS.Por otro lado, se presenta un caso de estudio ferroviario. En este ejemplo se actualiza el componente Euroradio, que es la que habilita las comunicaciones entre el tren y el equipamiento instalado en las vías en el sistema de gestión de tráfico ferroviario en Europa (ERTMS por sus siglas en ingles). En el ejemplo se actualiza el algoritmo utilizado para el código de autenticación del mensaje (MAC por sus siglas en inglés) basado en el algoritmo de encriptación AES, debido a los fallos de seguridad del algoritmo actual

    High-level compiler analysis for OpenMP

    Get PDF
    Nowadays, applications from dissimilar domains, such as high-performance computing and high-integrity systems, require levels of performance that can only be achieved by means of sophisticated heterogeneous architectures. However, the complex nature of such architectures hinders the production of efficient code at acceptable levels of time and cost. Moreover, the need for exploiting parallelism adds complications of its own (e.g., deadlocks, race conditions,...). In this context, compiler analysis is fundamental for optimizing parallel programs. There is however a trade-off between complexity and profit: low complexity analyses (e.g., reaching definitions) provide information that may be insufficient for many relevant transformations, and complex analyses based on mathematical representations (e.g., polyhedral model) give accurate results at a high computational cost. A range of parallel programming models providing different levels of programmability, performance and portability enable the exploitation of current architectures. However, OpenMP has proved many advantages over its competitors: 1) it delivers levels of performance comparable to highly tunable models such as CUDA and MPI, and better robustness than low level libraries such as Pthreads; 2) the extensions included in the latest specification meet the characteristics of current heterogeneous architectures (i.e., the coupling of a host processor to one or more accelerators, and the capability of expressing fine-grained, both structured and unstructured, and highly-dynamic task parallelism); 3) OpenMP is widely implemented by several chip (e.g., Kalray MPPA, Intel) and compiler (e.g., GNU, Intel) vendors; and 4) although currently the model lacks resiliency and reliability mechanisms, many works, including this thesis, pursue their introduction in the specification. This thesis addresses the study of compiler analysis techniques for OpenMP with two main purposes: 1) enhance the programmability and reliability of OpenMP, and 2) prove OpenMP as a suitable model to exploit parallelism in safety-critical domains. Particularly, the thesis focuses on the tasking model because it offers the flexibility to tackle the parallelization of algorithms with load imbalance, recursiveness and uncountable loop based kernels. Additionally, current works have proved the time-predictability of this model, shortening the distance towards its introduction in safety-critical domains. To enable the analysis of applications using the OpenMP tasking model, the first contribution of this thesis is the extension of a set of classic compiler techniques with support for OpenMP. As a basis for including reliability mechanisms, the second contribution consists of the development of a series of algorithms to statically detect situations involving OpenMP tasks, which may lead to a loss of performance, non-deterministic results or run-time failures. A well-known problem of parallel processing related to compilers is the static scheduling of a program represented by a directed graph. Although the literature is extensive in static scheduling techniques, the work related to the generation of the task graph at compile-time is very scant. Compilers are limited by the knowledge they can extract, which depends on the application and the programming model. The third contribution of this thesis is the generation of a predicated task dependency graph for OpenMP that can be interpreted by the runtime in such a way that the cost of solving dependences is reduced to the minimum. With the previous contributions as a basis for determining the functional safety of OpenMP, the final contribution of this thesis is the adaptation of OpenMP to the safety-critical domain considering two directions: 1) indicating how OpenMP can be safely used in such a domain, and 2) integrating OpenMP into Ada, a language widely used in the safety-critical domain.Actualment, aplicacions de dominis diversos com la computació d'altes prestacions i els sistemes d'alta integritat, requereixen nivells de rendiment assolibles només mitjançant arquitectures heterogènies sofisticades. No obstant, la natura complexa d'aquestes dificulta la producció de codi eficient en un temps i cost acceptables. A més, la necessitat d’explotar paral·lelisme introdueix complicacions en sí mateixa (p. ex. bloqueig mutu, condicions de carrera,...). En aquest context, l'anàlisi de compiladors és fonamental per optimitzar programes paral·lels. Existeix però un equilibri entre complexitat i beneficis: la informació obtinguda amb anàlisis simples (p. ex. definicions abastables) pot ser insuficient per moltes transformacions rellevants, i anàlisis complexos basats en models matemàtics (p. ex. model polièdric) faciliten resultats acurats a un alt cost computacional. Existeixen molts models de programació paral·lela que proporcionen diferents nivells de programabilitat, rendiment i portabilitat per l'explotació de les arquitectures actuals. En aquest marc, OpenMP ha demostrat molts avantatges respecte dels seus competidors: 1) el seu nivell de rendiment és comparable a models molt ajustables com CUDA i MPI, i proporciona més robustesa que llibreries de baix nivell com Pthreads; 2) les extensions que inclou la darrera especificació satisfan les característiques de les actuals arquitectures heterogènies (és a dir, l’acoblament d’un processador principal i un o més acceleradors, i la capacitat d'expressar paral·lelisme de tasques de gra fi, ja sigui estructurat o sense estructura; 3) OpenMP és àmpliament implementat per venedors de xips (p. ex. Kalray MPPA, Intel) i compiladors (p. ex. GNU, Intel); i 4) tot i que el model actual manca de mecanismes de resiliència i fiabilitat, molts treballs, incloent aquesta tesi, busquen la seva introducció a l'especificació. Aquesta tesi adreça l'estudi de tècniques d’anàlisi de compiladors amb dos objectius: 1) millorar la programabilitat i la fiabilitat de OpenMP, i 2) provar que OpenMP és un model adequat per explotar paral·lelisme en sistemes crítics. En particular, la tesi es centra en el model de tasques per què aquest ofereix la flexibilitat per abordar aplicacions amb problemes de balanceig de càrrega, recursivitat i bucles incomptables. A més, treballs recents han provat la predictibilitat en qüestió de temps del model, escurçant la distància cap a la seva introducció en sistemes crítics. Per a poder analitzar aplicacions que utilitzen el model de tasques d’OpenMP, la primera contribució d’aquesta tesi consisteix en l’extensió d'un conjunt de tècniques clàssiques de compilació per suportar OpenMP. Com a base per incloure mecanismes de fiabilitat, la segona contribució consisteix en el desenvolupament duna sèrie d'algorismes per detectar de forma estàtica situacions que involucren tasques d’OpenMP, i que poden conduir a una pèrdua de rendiment, resultats no deterministes, o fallades en temps d’execució. Un problema ben conegut del processament paral·lel relacionat amb els compiladors és la planificació estàtica d’un programa representat mitjançant un graf dirigit. Tot i que la literatura sobre planificació estàtica és extensa, aquella relacionada amb la generació del graf en temps de compilació és molt escassa. Els compiladors estan limitats pel coneixement que poden extreure, que depèn de l’aplicació i del model de programació. La tercera contribució de la tesi és la generació d’un graf de dependències enriquit que pot ser interpretat pel sistema en temps d’execució de manera que el cost de resoldre les dependències sigui mínim. Amb les anteriors contribucions com a base per a determinar la seguretat funcional de OpenMP, la darrera contribució de la tesi consisteix en adaptar OpenMP a sistemes crítics, explorant dues direccions: 1) indicar com OpenMP es pot utilitzar de forma segura en un domini com, i 2) integrar OpenMP en Ada, un llenguatge molt utilitzat en el domini de seguretat.Postprint (published version

    High-Integrity Systems Development for Integrated Modular Avionics using VxWorks and GNAT

    No full text
    Abstract. This paper presents recent trends in avionics systems development from bespoke systems through to COTS and emerging Integrated Modular Avionics architectures. The advances in Ada and RTOS technologies are explained and the impact of requirements for RTCA/DO-178B and EUROCAE/ED-12B certification and achievements are presented in the context of the GNAT and VxWorks technologies.

    Technology 2002: The Third National Technology Transfer Conference and Exposition, volume 2

    Get PDF
    Proceedings from symposia of the Technology 2002 Conference and Exposition, December 1-3, 1992, Baltimore, MD. Volume 2 features 60 papers presented during 30 concurrent sessions

    High-Integrity Systems Development for Integrated Modular Avionics Using VxWorks and GNAT

    No full text

    From Resilience-Building to Resilience-Scaling Technologies: Directions -- ReSIST NoE Deliverable D13

    Get PDF
    This document is the second product of workpackage WP2, "Resilience-building and -scaling technologies", in the programme of jointly executed research (JER) of the ReSIST Network of Excellence. The problem that ReSIST addresses is achieving sufficient resilience in the immense systems of ever evolving networks of computers and mobile devices, tightly integrated with human organisations and other technology, that are increasingly becoming a critical part of the information infrastructure of our society. This second deliverable D13 provides a detailed list of research gaps identified by experts from the four working groups related to assessability, evolvability, usability and diversit
    corecore