En todo proceso diseño electrónico, el ingeniero ha de abordar un conjunto, más o menos grande, de tareas complejas, en función del sistema que tenga que desarrollar, facilitando esta tarea la experiencia y conocimiento del propio diseñador. En consecuencia, es muy común que durante dicho proceso de diseño se deban utilizar varios tipos de herramientas, con el fin de poder abordar la realización de cada una de las tareas específicas de dicho proceso de diseño.
Una de estas es la especificación de propio sistema. Como ramas principales del proceso de diseño, la aplicación y la plataforma son parte intrínseca de sistema empotrado. Respecto a la aplicación, su estructura, los mecanismos de comunicación, la concurrencia… son aspectos a considerar. Además, todas estas decisiones han de ser validadas mediante técnica de análisis, que nos reporten información sobre la correcta implementación de la funcionalidad a desarrollar.
Las decisiones de la plataforma han de ser en relación a los recursos de cómputo presentes en ella, así como de las propiendas de los diferentes recursos HW presentes en dicha plataforma (tamaños de las memorias, frecuencias de procesadores…), los cuales tienen un impacto directo sobre el futuro rendimiento del sistema. Una vez que se tiene la aplicación y plataforma, se ha de hacer una tarea de mapear la aplicación a la plataforma destino. En este punto, se analiza no solo lo idóneo del mapeo hecho, sino lo correcto de la elección de la plataforma, o de las propiedades conferidas a la aplicación. Esto puede involucrar una redefinición de la aplicación en términos, por ejemplo, de la concurrencia, o de seleccionar una nueva plataforma que posea, por ejemplo, más procesadores.
Este hecho puede implicar la necesidad de manejar y dominar muchas herramientas por parte del ingeniero, lo que puede dar lugar a una serie de dificultades colaterales al díselo del sistema en sí, que deberían ser neutralizadas. En primer lugar, el uso de distintas herramientas puede generar una potencial pérdida de tiempo en la migración de los datos unas herramientas a otras. En ocasiones para realizar esta migración se ha de duplicar la información, ya que no hay forma de intercambiar información entre ellas directamente. Además, para saber manejarlas y sacar su máximo potencial, el ingeniero ha de utilizar una gran cantidad de tiempo en su formación.
Para abordar todos los retos que requiere el diseño de los sistemas empotrados, esta tesis presenta como solución un entorno de desarrollo integrado. El entorno de diseño que se presenta en esta tesis se sustenta en dos pilares.
El primero de ellos es que toda la descripción y caracterización del sistema se hace mediante un modelo único de alto nivel. En este modelo se podrá capturar la funcionalidad, la plataforma, el mapeo a la plataforma, escenarios de análisis, el entorno del sistema… De esta forma, el sistema estará completamente caracterizado. El modelado captura toda aquella información que es relevante no solo para su especificación sino para permitir el conjunto de análisis a considerar en el proceso de diseño. Además, el modelo también incluye información necesaria para poder realizar la implementación del sistema una vez que el proceso de análisis haya finalizado.
Este modelo único captura toda la información relevante para caracterizar complemente el sistema, desde la aplicación, la plataforma HW/SW, el mapeo arquitectural, así como poder establecer diferentes tipos de análisis del sistema que permitan su correcto desarrollo. Una vez realizado este proceso de evaluación y análisis, se determina la configuración final del sistema realizando un prototipado del mismo, mediante un proceso de síntesis que según sea el caso, abarque el SW, el HW o ambos.
El modelo único que servirá para especificar el sistema y como entrada común a todas las herramientas cubiertas en esta tesis se creará usando el lenguaje de modelado UML. UML tiene una gran capacidad expresiva; posee una gran cantidad de mecanismos capaces de capturar todos los aspectos de un sistema, permitiendo describir tanto la estructura estática como el comportamiento dinámico de un sistema. La estructura estática define los objetos que van a componer el sistema. El comportamiento dinámico define la historia de los objetos en el tiempo y la comunicación entre objetos para cumplir sus objetivos.
Para poder ser utilizado como lenguaje de modelado de sistemas electrónicos, UML se ha enriquecido con nuevos mecanismos expresivos que nos permitan añadir información referente a otros aspectos del sistema, como la plataforma HW/SW, mapeos arquitecturales o modelos de análisis. Con este fin, se ha desarrollado el perfil MARTE (“Modeling and Analysis of Real-Time and Embedded Systems”). Este perfil es un estándar, que permite al diseñador modelar todos los aspectos de un sistema empotrado (aplicación, plataforma y mapeo) y crear escenarios de análisis que permitan evaluar el modelo del sistema.
El segundo pilar del trabajo es la propia integración del conjunto de herramientas necesarias para que el diseñador pueda realizar las distintas actividades del proceso de diseño de manera ágil, que incluirán especificar, analizar e implementar el sistema a diseñar. Así, mediante un entorno de fácil manejo, se podrá especificar el sistema, realizar diferentes análisis del diseño (análisis de planificabilidad, exploración del espacio de diseño y simulación funcional), realizar procesos de síntesis HW/SW, simulación funcional… Todas estas tareas se podrán ejecutar de forma automática ya que, partiendo de la información capturada en el modelo de alto nivel, las diferentes herramientas podrán ser lanzadas. De esta forma, se facilita la labor del diseñador de manera que tenga a su disposición, de forma fácil, el acceso y la utilización de las herramientas que más le interesen en cada momento de su proceso de desarrollo.
El entorno de desarrollo junto con la metodología de modelado UML/MARTE se ha aplicado a un gran número de ejemplos de uso que van a servir para ilustrar algunos de las diferentes partes del entorno de desarrollo presentado en esta tesis. De esta forma se quiere mostrar la versatilidad de dicho entorno, enseñando como de útil puede ser para encontrar la implementación final del sistema a diseñar. Los diferentes ejemplos que se muestran han sido usados en diferentes proyectos europeos de investigación.
The design of embedded systems implies the need to deal with many aspects such as concurrency, the variety of platforms and HW resources, different types of analysis ... This also makes a great variety of tools necessary during the design process. This thesis presents a design environment that is based on two foundations. In the first one, all the description and characterization of the system is done by a unique high level model, capturing functionality, platform, mapping, analysis scenarios ... This model is implemented by using the standard languages UML and MARTE. The second foundation is the integration of a set of tools necessary for the designer to specify, analyse and implement the system to be designed. Through an easy-to-use environment, the designer can specify the system, perform different analysis of the design, perform HW/SW synthesis, functional simulation ... All these tasks can be done automatically.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados