Virtualization is increasingly emerging as a key technology in current embedded system design, providing the ability to support the co-existence of vastly different subsystems at reduced overall system cost [1]. Taking in mind current-day embedded domain constraints (e.g. performance, real-time, memory, power, safety, security), many industry leaders, such as ARM or Imagination Tech (MIPS), have developed their own virtualization extensions. This enables a hardware-assisted implementation approach providing the benefits of improved performance with little or no modification of the guest operating systems [2]-[5]. Security hardware extensions such as ARM\'s TrustZone have also been explored to implement virtualization, such as the in-house developed TZVisor [2], [5], [6].
Given the complexity of current embedded devices, there is also a growing need for the automation of the final system\'s complete design stack configuration and generation, adapted to user needs and requirements. This work proposes the ontology-driven modeling of a hypervisor core, focusing on its commonalities and variabilities, and its development and implementation exploring the aforementioned hardware extensions. The resulting artefacts must take into account their relationship and semantic integration with other hypervisor modules(mainly related with security and safety, e.g., Health Monitor or Secure Boot) towards their inclusion in a Collaborative Design Environment, based on an ontology-enriched metamodeling DSL, capable of achieving the desired design automation [7].
References
[1] G. Heiser, “Virtualizing embedded systems - why bother?,” 2011 48th ACM/EDAC/IEEE Des. Autom. Conf., pp. 901–905, 2011.
[2] S. Pinto, J. Pereira, T. Gomes, S. Montenegro, and A. Tavares, “Towards a TrustZone-assisted Hypervisor for Real-Time Embedded Systems,” pp. 1–4, 2016.
[3] “MIPS Virtualization - Imagination Technologies.” [Online]. Available:
https://imgtec.com/mips/architectures/virtualization/.
[4] D. Number, “MIPS32 ® Architecture for Programmers Volume IV-i : Virtualization Module of the MIPS32 ® Architecture,” vol. IV, pp. 1–175, 2013.
[5] S. Pinto et al., “Towards a lightweight embedded virtualization architecture exploiting ARM TrustZone,” 19th IEEE Int. Conf. Emerg. Technol. Fact. Autom. ETFA 2014, 2014.
[6] H. Frenzel, Torsten and Lackorzynski, Adam and Warg, Alexander and Härtig, “ARM TrustZone as a Virtualization Technique in Embedded Systems,” Proc. Twelfth Real-Time Linux Work. Nairobi, Kenya, 2010.
[7] V. Silva et al., “Collaborative Design Automation for IoT Edge and Fog Devices : a perspective paper.”
[8] S. Zampiva, C. Moratelli, and F. Hessel, “A hypervisor approach with real-time support to the MIPS M5150 processor,” Proc. - Int. Symp. Qual. Electron. Des. ISQED, vol. 2015–April, pp. 495–501, 2015.
[9] G. Heiser and B. Leslie, “The OKL4 Microvisor: Convergence point of microkernels and hypervisors,” Proc. first ACM asia-pacific Work. ..., pp. 19–23, 2010.
- By contributing to the development of the ontology-enriched DSL infrastructure aimed at system design automation, prove the value of the use of semantic technology and DDD methodologies on generative programming and system design automation.
- Comparison of the ARM and MIPS architectures and their virtualization and security extensions, to better understand the pros and cons of virtualizing each architecture.
- Study, analysis and dissection of hypervisor core architectures and implementations (e.g. TZVisor[2][5], prplHypervisor/Hellfire [8], OKL4[9]) focusing on microkernel and para-virtualization approach aspects;
- Refactoring and restructuring of the TZVisor core to a microkernel/para-virtualized implementation by adding capabilities such as hypercalls, IPC and support for privileged VMs. Also, porting the implementation to C++, following a highly modular approach, promoting separation of concerns and easy module integration.
- Implementation and model development of hypervisor core functionalities, e.g., scheduling, memory and time management, inter-partition communication and shared I/O, using ARM and/or MIPS virtualization extensions; With this show the advantages of using virtualization dedicated hardware in achieving full-virtualization and high-performance, leaving the security hardware to be used by health monitoring facilities.
- Development of semantic models of the produced artifacts by extending the devised core ontology through the DSL infrastructure, effectively, their prescriptive ontology, towards their inclusion in the developed design automation system.
- Develop code according to the IEC 61508 and MISRA C++ standards, towards achieving certification.