Summary: | Um dos principais desafios no desenvolvimento de ferramentas e metodologias para sistemas multiprocessados, embarcados e de tempo-real é o reuso de software já desenvolvido, mantendo baixa utilização de recursos como memória, energia e desempenho de CPU, e ainda atendendo às restrições temporais. O presente trabalho procura atacar este problema no nível do middleware, comumente utilizado como forma de integrar componentes de software reusáveis, diminuindo o tempo e o esforço desprendido no desenvolvimento de aplicações e serviços com alta qualidade. Este trabalho especifica e implementa um middleware para uma plataforma MPSoC voltada para sistemas embarcados e de tempo-real, permitindo adaptações durante o projeto e/ou execução da aplicação, a fim de otimizar o uso dos recursos e atender às restrições de projeto. Ao projetista da aplicação é permitido reusar os serviços do middleware e da plataforma em diferentes aplicações. Igualmente, aplicações escritas sobre o middleware podem ser portadas para outras plataformas onde o middleware possa ser executado. O middleware proposto oferece serviços implementados em hardware e encapsulamento da comunicação hardware-software na própria aplicação. Além disso, são oferecidos meios para gerenciamento de requisitos não funcionais de energia e tempo-real, como deadline e tempo de execução. === One of the main challenges in the development of tools and methodologies for a multiprocessor real-time embedded system is to reuse already developed software, but at the same time obtaining low memory footprint, low energy consumption, and minimal area, obviously addressing the real-time constraints. This work aims at facing these problems at the middleware level, frequently used to integrate components of reusable software, accelerating development cycle and reducing the effort to develop applications and services with high quality. The present work specifies and implements a middleware for an MPSoC platform oriented to real-time and embedded systems, providing adaptations at development and execution time, in order to optimize resources usage and fulfill design restrictions. The designer can reuse middleware services and the platform as well, when developing different applications. Likewise, applications developed under the middleware can be ported to run in other platforms where the middleware was ported to. The proposed middleware offers hardware implemented services and encapsulates hardware-software communication in the application. Moreover, it permits to specify non-functional requirements of energy and real-time, as deadline and execution time.
|