Please use this identifier to cite or link to this item: http://hdl.handle.net/1822/57427

TitleOntology-driven metamodeling towards hypervisor design automation: microkernel infrastructure
Author(s)Martins, José Carvalho
Advisor(s)Tavares, Adriano
Pinto, Sandro
Issue date2018
Abstract(s)Modern day embedded systems are becoming increasingly complex and networkoriented. At the same time, they support a large part of our society’s safety and security-critical infrastructure. As such, the need for highly reliable and dependable systems consequently arises. Microkernel-based virtualization has proven to be a valid solution to guarantee functionality encapsulation and fault-containment, providing an adequate environment for mixed-critically systems, while relying on a minimal trusted computing base (TCB). However, these systems often follow a para-virtualized approach, requiring a high engineering effort for the porting and hosting of guest OSes. Hardware-assisted virtualization technologies have been widely used to mitigate these obstacles. ARM’s TrustZone technology stands out given its wide presence in low to mid-range processors used in embedded systems. Furthermore, since microkernel-based systems promote the separation of functionality into separate services, there is a strong synergy between this architecture and model-driven development such as component-based software engineering (CBSE). This master’s thesis proposes an infrastructure for the design of such systems centered around a microkernel-based hypervisor complemented with an automated design environment. The developed kernel, μRTZVisor, is a restructuring of RTZVisor, a TrustZonebased, in-house developed monolithic hypervisor, following an object-oriented approach and the MISRA coding guidelines. μRTZVisor follows a microkernel-like architecture, maintaining its predecessor’s ability of executing coarse-grained partitions in a quasi full-virtualized environment, while providing support for small user-mode tasks, intended to execute system services as extensions of the hypervisor. Also, it provides much more functionality, real-time capabilities and configuration flexibility. This includes the addition of a capability-based accesscontrol and hypercall system, and a flexible IPC infrastructure tightly-coupled with the scheduling mechanism ensuring fast and efficient partition interaction. Results show the implementation incurs in a minimal overhead and guarantees deterministic interrupt latencies, while keeping a minimal TCB. TZDL is a semantically-enriched DSL purposed to model systems built on top of μRTZVisor. It follows the service-component architecture (SCA) and acts both as an ADL and a IDL by generating the final system project and configuration as well as simplified partition communication glue-code abstracting the low-level hypercall API. This generative approach eases the development process not only by providing an already validated part of the code base, but also by allowing the developer to reason on higher-level concepts of the component model. Furthermore, the DSL code itself provides valuable documentation. We believe the synergy between the secure-by-design approach of μRTZVisor’s microkernel architecture and the automated design environment provided by TZDL, results in highly trustworthy and maintainable systems.
Os sistemas embebidos modernos estão a tornar-se cada vez mais complexos e interconnectados. Ao mesmo tempo, estes suportam grande parte da infraestrutura crítica da nossa sociedade. Isto aumenta a necessidade e procura por sistemas altamente fiáveis e seguros. A virtualização baseada em microkernels já deu provas de garantir um ambiente adequeado para sistemas críticos, enquanto mantendo uma base confiável de computação mínima. No entanto, tipicamente, estes sistemas seguem uma abordagem para-virtualizada, exigindo um grande esforço de engenharia para migrar e hospedar novos sistemas operativos. Tecnologias de virtualização com suporte de hardware têm sido largamente utilizadas para ultrapassar estes obstáculos. Além disso, dada a sua modularidade, há uma grande sinergia entre esta arquitectura e o desevolvimento guiado por modelos como é o caso da engenharia de software baseada em componentes. Esta dissertação de mestrado propõe uma infra-estrutura direcionada ao desenvolvimento destes sistemas centrada num hipervisor baseado numa arquitectura microkernel e complementado por um sistema de desenvolvimento automatizado. O kernel desenvolvido nesta dissertação, μRTZVisor, é uma reestruturação do RTZVisor, um hipervisor monolítico baseado em TrustZone, seguindo o paradigma de orientação ao objeto e os standards de codificação MISRA. O μRTZVisor segue uma arquitecture inspirada em microkernels, mantendo a capacidade do seu predecessor em executar partições num ambiente quase totalmente virtualizado. Ao mesmo tempo, suporta pequenas tarefas em modo de utilizador, destinadas à execução de serviços do sistema como extensões do hipervisor. Também providencia um maior grau de funcionalidade, garantias de tempo-real e flexibilidade de configuração. Estas extensões incluem um sistema de controlo de acesso e de chamadas ao sistema baseado em capabilities, assim como uma infra-estrutura de comunicação fortemente interligada com o mecanismo de escalonamento, garantindo uma rápida e eficiente interação entre partições. Os resultados mostram que a implementação incorre num overhead mínimo, garantindo latências de interrupção determinísticas, enquanto mantendo uma base confiável de computação mínima, comparada com a de outras solução similares. A TZDL é uma linguagem de domínio específico enriquecida por tecnologias semânticas pensada para modelar sistemas construídos sobre o μRTZVisor e que segue uma arquitectura serviço-componente. Esta linguagem funciona tanto como uma linaguagem de descrição de arquitecturas como de descrição de interfaces. A TZDL gera o projecto do sistema final, as suas configuções e ainda um código de comunicação simplificado que abstrai o programador do API de baixo nível do hipervisor. Esta abordagem generativa, facilita o processo de desenvolvimento não apenas devido ao facto de gerar uma parte significativa de código já validado, mas também ao permitir que o programador raciocine usando os conceitos de mais alto nível do modelo de componentes. Acreditamos que a sinergia entre a abordagem de um desenvolvimento fundamentalmente seguro providenciado pela arquitectura microkernel do μRTZVisor e o ambiente de desenvolvimente automatizado apoiado pela TZDL, resulta num sistema final mais confiável e sustentável.
TypeMaster thesis
DescriptionDissertação de mestrado em Engenharia Eletrónica Industrial e Computadores
URIhttp://hdl.handle.net/1822/57427
AccessEmbargoed access (3 Years)
Appears in Collections:BUM - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
60141-Ontology-Driven-Metamodeling-Towards-Hypersivor-Design-Automation-Microkernel-Infrastructu.pdf
  Restricted access
9,44 MBAdobe PDFView/Open    Request a copy!

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID