5 research outputs found
Component-Based Real-Time Operating System for Embedded Applications
Acceptance rate: 37%, Rank (CORE): AInternational audienceAs embedded systems must constantly integrate new functionalities, their developement cycles must be based on high-level abstractions, making the software design more flexible. CBSE provides an approach to these new requirements. However, low-level services provided by operating systems are an integral part of embedded applications, furthermore deployed on resource-limited devices. Therefore, the expected benefits of CBSE must not impact on the constraints imposed by the targetted domain, such as memory footprint, energy consumption, and execution time. In this paper, we present the componentization of a legacy industry-established Real-Time Operating System, and how component-based applications are built on top of it. We use the Think framework that allows to produce flexible systems while paying for flexibility only where desired. Performed experimentions show that the induced overhead is negligeable
Embedded-systems-oriented virtualization framework with functionality farming
Tese de Doutoramento em Engenharia Eletrónica e de ComputadoresUm: O uso de um hipervisor como kernel de separação em arquiteturas integradas está a ser
considerado, visto que, um hipervisor não só proporciona separação temporal e espacial, mas
também compatibilidade com software legacy. No entanto, nos dias de hoje, a maior parte dos
hipervisores baseiam-se em paravirtualização ou dependem de hardware high-end; ambas as
abordagens não cumprem os requisitos dos sistema embebidos críticos para a segurança. A
paravirtualização, por um lado, não proporciona compatibilidade total com software legacy, sendo
necessária a sua modificação e adaptação a uma interface especifica do hipervisor utilizado.
Hardware high-end, por outro lado, apesar de proporcionar compatibilidade total com software
legacy, dá origem a sistemas de grande dimensão, de elevado peso, com elevado consumo de
energia, de elevado custo, etc. Nesta tese, a capacidade da virtualização completa em hardware lowend
para resolver as limitações dos hipervisores existentes é investigada. Para isso, um hipervisor
baseado em virtualização completa em hardware low-end é descrito e é apresentada uma avaliação
da sua performance e do espaço ocupado em memória.
Dois: Métodos de desenvolvimentos convencionais não são capazes de acompanhar os requisitos
dos sistemas embebidos críticos para segurança de hoje em dia. Nesta tese: (a) é apresentada uma
abordagem baseada em modelos já existente, mais especificamente, geração de código baseada em
modelos; (b) são descritas as modificações aplicadas a um compilador de modelos já existente por
forma a que este suporte novas capacidades; e (c) é apresentada uma avaliação sobre a capacidade
da geração de código baseada em modelos de reduzir o esforço de engenharia quando comparada
com abordagens convencionais.
Três: A maior parte dos sistemas operativos de hoje em dia seguem uma arquitetura monolítica; esta
arquitetura, no entanto, está associada a fraca confiabilidade, baixa segurança, esforço de
certificação elevado, bem como baixa previsibilidade e escalabilidade. Para colmatar estes
problemas, as soluções propostas na literatura apenas contornam a origem do problema, i.e., a
elevada dimensão do kernel numa arquitetura monolítica, e não o resolvem diretamente. Nesta tese,
functionality farming é proposto para atacar a origem do problema. Functionality farming apenas,
no entanto, depende de um esforço de engenharia significativo. Visto isto, esta tese também
apresenta FF-AUTO, uma ferramenta capaz de realizar functionality farming de forma semiautomática.
Por último, esta tese demonstra como functionality farming é capaz de melhorar o
design e a performance de um kernel já existente, e demonstra também como FF-AUTO permite uma
redução significativa do esforço de engenharia.First, the use of a hypervisor as the separation kernel on integrated architectures has been
considered, as it not only provides time and space partitioning, but it also provides compatibility
with legacy software. Nowadays, most hypervisors, however, either rely on paravirtualization or
depend on high-end hardware, both of which do not fulfill the requirements of safety-critical
embedded systems. Paravirtualization does not provide complete legacy compatibility as it requires
legacy software to be modified to fit a hypervisor-specific interface. High-end hardware, on the
other hand, even though it provides complete legacy compatibility, it leads to large system size,
weight, power consumption, cost, etc. In this thesis, the feasibility of low-end hardware full
virtualization to address the limitations of existing hypervisors is investigated. For that, a hypervisor
based on low-end hardware full virtualization is described and an evaluation of its performance and
footprint is presented.
Second, conventional development methods are unable to keep up with the requirements of
nowadays and future safety-critical embedded systems. In this thesis: (a) an existing model-driven
engineering approach to address the limitations of conventional development methods is presented;
more specifically, a model-driven code generation approach; (b) the modifications applied to an
existing model compiler in order for it to support new features are described; and (c) an evaluation
of whether or not a model-driven code generation approach leads to lower engineering effort when
compared to a conventional approach is presented.
Third, most operating systems, nowadays, follow a monolithic architecture; this, however, leads to
poor reliability, weak security, high certification effort, as well as poor predictability and scalability.
To address this problem, the solutions proposed in the literature just work around the source of the
problem, i.e., the large size of the kernel in a monolithic architecture, and do not address it directly.
In this thesis, functionality farming is proposed to tackle the source of the problem. Functionality
farming alone, however, depends on a significant engineering effort. To address this problem, this
thesis also presents FF-AUTO, a tool which performs functionality farming semi-automatically. At
last, this thesis demonstrates how functionality farming is able to improve the design and the
performance of an existing kernel, as well as how FF-AUTO enables a significant reduction of the
required engineering effort