A Framework for Mixed-Criticality Partitioned Real-Time Embedded Systems

A Framework for Mixed-Criticality Partitioned Real-Time Embedded Systems

UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN A FRAMEWORK FOR MIXED-CRITICALITY PARTITIONED REAL-TIME EMBEDDED SYSTEMS TESIS DOCTORAL JOSÉ EMILIO SALAZAR MARSÁ Ingeniero Informático 2015 DEPARTAMENTO DE INGENIERÍA DE SISTEMAS TELEMÁTICOS ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN A FRAMEWORK FOR MIXED-CRITICALITY PARTITIONED REAL-TIME EMBEDDED SYSTEMS Autor: JOSÉ EMILIO SALAZAR MARSÁ Ingeniero Informático Director: ALEJANDRO ALONSO MUÑOZ Doctor Ingeniero Informático 2015 Tribunal nombrado por el Magfco. y Excmo. Sr. Rector de la Universidad Politécnica de Madrid, el día ___ de ___________ de _____. Presidente: ___________________________________________________________. Vocal: ______________________________________________________________. Vocal: ______________________________________________________________. Vocal: ______________________________________________________________. Secretario: ___________________________________________________________. Suplente: ____________________________________________________________. Suplente: ____________________________________________________________. Realizado el acto de defensa y lectura de la Tesis el día ___ de ___________ de _____ en la E.T.S.I. de Telecomunicación habiendo obtenido la calificación de _________________. EL PRESIDENTE LOS VOCALES EL SECRETARIO Last modified: 12/02/15 Agradecimientos Sacar adelante y escribir esta tesis doctoral (y hago especial hincapié en lo de escribir) no me ha resultado nada sencillo. Si he llegado a este punto ha sido gracias a muchas personas que me han apoyado, ayudado y soportado durante todos estos años. Muchas gracias, Juan. Primero, por guiarme en el proyecto final de carrera. Luego, por confiar en mi y encontrarme un sitio en este grupo; y después, por toda la ayuda que me has prestado. Mi primer día en el laboratorio me recibió Alejandro, mi director de tesis. Muchas gracias por todo, por la paciencia, el apoyo y todo lo que he aprendido de ti en los diferentes proyectos de investigación en los que hemos trabajado. Todavía más agradecido te estoy por, a pesar de mi gusto a discutirlo todo, ayudarme en el arduo proceso de organizar, diseñar y escribir una tesis doctoral en un idioma, el inglés, que no domino todo lo que me gustaría. Muchas gracias, Alejandro. En esos primeros días en el grupo, Miguel Ángel fue quien me enseñó y guió por los abstractos y tortuosos caminos del metamodelado. Muchas gracias Miguel Ángel por tu paciencia. Juan Antonio, muchas gracias. Siempre has estado ahí para ayudar en lo que fuera. Muchas gracias, además, por enseñarme de fotografía, de barcos, de Ada y de mucho más. Durante todos estos años, he tenido el placer de conocer y trabajar con excelentes personas y compañeros, todos ellos imprescindibles para que yo haya llegado hasta aquí: Santiago Urueña, Daniel Tejera, Juan Pedro Silva, Daniel Brosnan, Ángel Esquinas, Peter Bradley y Jorge Garrido. No menos importante ha sido el apoyo en todas las gestiones y trámites de todo tipo que he recibido de Angelines, Alicia y Lola. Muchas gracias a todas. Nada de lo anterior hubiese sido posible sin el apoyo incondicional de mi familia, quienes han tenido que sufrir, muchas veces sin quererlo, todas mis aventuras en el mundo de la investigación. Finally, thank you Sarah, my life partner. Thank you for reading this book and making the English grammar and wording of this text acceptable. Thank you for your patience and for your understanding. Thank you for everything. VII Abstract The importance of embedded software is growing as it is required for a large number of systems. Devising cheap, efficient and reliable development processes for embedded systems is thus a notable challenge nowadays. Computer processing power is continuously increasing, and as a result, it is currently possible to integrate complex systems in a single processor, which was not feasible a few years ago.Embedded systems may have safety critical requirements. Its failure may result in personal or substantial economical loss. The development of these systems requires stringent development processes that are usually defined by suitable standards. In some cases their certification is also necessary. This scenario fosters the use of mixed-criticality systems in which applications of different criticality levels must coexist in a single system. In these cases, it is usually necessary to certify the whole system, including non-critical applications, which is costly. Virtualization emerges as an enabling technology used for dealing with this problem. The system is structured as a set of partitions, or virtual machines, that can be executed with temporal and spatial isolation. In this way, applications can be developed and certified independently. The development of MCPS (Mixed-Criticality Partitioned Systems) requires additional roles and activities that traditional systems do not require. The system integrator has to define system partitions. Application development has to consider the characteristics of the partition to which it is allocated. In addition, traditional software process models have to be adapted to this scenario. The V-model is commonly used in embedded systems development. It can be adapted to the development of MCPS by enabling the parallel development of applications or adding an additional partition to an existing system. The objective of this PhD is to improve the available technology for MCPS development by providing a framework tailored to the development of this type of system and by defining a flexible and efficient algorithm for automatically generating system partitionings. The goal of the framework is to integrate all the activities required for developing MCPS and to support the different roles involved in this process. The framework is based on MDE (Model-Driven Engineering), which emphasizes the use of models in the development process. The framework provides basic means for modeling the system, generating system partitions, validating the system and generating final artifacts. The framework has been designed to facilitate its extension and the integration of external validation tools. In particular, it can be extended by adding support for additional non- functional requirements and support for final artifacts, such as new programming languages or additional documentation. The framework includes a novel partitioning algorithm. It has been designed to be independent of the types of applications requirements and also to enable the system integrator to tailor the partitioning to the specific requirements of a system. This independence is achieved by defining partitioning constraints that must be met by the resulting partitioning. They have sufficient expressive capacity to state the most common constraints and can be defined manually by the system integrator or generated automatically based on functional and non-functional requirements of the applications. IX The partitioning algorithm uses system models and partitioning constraints as its inputs. It generates a deployment model that is composed by a set of partitions. Each partition is in turn composed of a set of allocated applications and assigned resources. The partitioning problem, including applications and constraints, is modeled as a colored graph. A valid partitioning is a proper vertex coloring. A specially designed algorithm generates this coloring and is able to provide alternative partitions if required. The framework, including the partitioning algorithm, has been successfully used in the development of two industrial use cases: the UPMSat-2 satellite and the control system of a wind-power turbine. The partitioning algorithm has been successfully validated by using a large number of synthetic loads, including complex scenarios with more that 500 applications. X Resumen Los sistemas empotrados son cada día más comunes y complejos, de modo que encontrar procesos seguros, eficaces y baratos de desarrollo software dirigidos específicamente a esta clase de sistemas es más necesario que nunca. A diferencia de lo que ocurría hasta hace poco, en la actualidad los avances tecnológicos en el campo de los microprocesadores de los últimos tiempos permiten el desarrollo de equipos con prestaciones más que suficientes para ejecutar varios sistemas software en una única máquina. Además, hay sistemas empotrados con requisitos de seguridad (safety) de cuyo correcto funcionamiento depende la vida de muchas personas y/o grandes inversiones económicas. Estos sistemas software se diseñan e implementan de acuerdo con unos estándares de desarrollo software muy estrictos y exigentes. En algunos casos puede ser necesaria también la certificación del software. Para estos casos, los sistemas con criticidades mixtas pueden ser una alternativa muy valiosa. En esta clase de sistemas, aplicaciones con diferentes niveles de criticidad se ejecutan en el mismo computador. Sin embargo, a menudo es necesario certificar el sistema entero con el nivel de criticidad de la aplicación más crítica, lo que hace que los costes se disparen. La virtualización se ha postulado como una tecnología muy interesante para contener esos costes. Esta tecnología permite que un conjunto de máquinas virtuales o particiones ejecuten las aplicaciones con unos niveles de aislamiento tanto temporal como espacial muy altos. Esto, a su vez, permite que cada partición pueda ser certificada independientemente. Para el desarrollo de sistemas particionados con criticidades mixtas se necesita actualizar los

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    218 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us