1 / 21

Middlewares para Sistemas Embarcados (Embutidos)

Middlewares para Sistemas Embarcados (Embutidos). Jordan Janeiro. Introdução - Esclarecimento. Sistemas embarcados ou sistemas embutidos?. Introdução - Definição. O que são sistemas embarcados?

jerom
Download Presentation

Middlewares para Sistemas Embarcados (Embutidos)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Middlewares para Sistemas Embarcados (Embutidos) Jordan Janeiro

  2. Introdução - Esclarecimento • Sistemas embarcados ou sistemas embutidos?

  3. Introdução - Definição • O que são sistemas embarcados? • São sistemas microprocessados, embutidos nos dispositivos que eles irão controlar, capazes de realizar tarefas específicas com recursos computacionais restritos.

  4. Dificuldades • Escassez de recursos. • Estações de trabalho com memória cache da UCP maior do que memória ROM ou RAM de dispositivos embarcados. • Forma de programação atingida. • Algoritmos otimizados. • Lembra o passado.

  5. Demanda • Não se deve menosprezar o mercado ! • 11 bilhões de dispositivos manufaturados por ano (2003). • Porém o mercado foi menosprezado no início e ...

  6. Motivação • Devido ao ciclo da oferta x demanda, o mercado de hardware obteve maior atenção. • Fábricas de software ignoradas. • Desenvolvimento de software ad-hoc. • Problemas com heterogeneidade de equipamentos. • Reflexão ...

  7. Middlewares • MicroQoSCORBA • OCP - Open Control Platform • RUNES - Reconfigurable, Ubiquitous, Networked Embedded Systems

  8. MicroQoSCORBA – Visão Geral • Sistema baseado em CORBA. • Adaptações no compilador IDL. • Adaptações na interação entre ORBs. • Tecnologia de comunicação das camadas mais baixas alterada.

  9. MicroQoSCORBA – Compilador IDL • Configurar arquivos e gerar stubs e esqueletos. • Não é um compilador genérico (one size fits all). • Gera códigos otimizados para determinados ORBs customizados. • Permite que códigos de protocolos e da camada de transporte sejam selecionados e codificados nos stubs. • Remove complexidade do ORB; • Elimina ligação desnecessária com o código de protocolos e transportes no lado do cliente;

  10. MicroQoSCORBA – Customização de ORBs • Muito pode ser feito no código do stub ou esqueleto para reduzir o uso de recursos. • ORBs podem ser customizados. • Eles podem ser configurados para possuírem perfis de uso de recursos e perfomance. • ORBs customizados mantém interoperabilidade com ORBs padrão. • Interoperabilidade x Requisitos de HW e SW

  11. MicroQoSCORBA - Comunicação • Suporta IIOP e UDP. • Suporta também um subconjunto de padrões de comunicação CORBA (MQC IOP). • São eliminadas: exceções, tipos de dado muito grandes e mensagens desnecessárias. • Adiciona na arquitetura CORBA uma camada de transporte • Dessa forma camadas de transporte específicas de um ambiente serão desenvolvidas conforme necessário.

  12. MicroQoSCORBA - QoS • Suporta alguns requisitos de QoS. • Tolerância à falhas (redundância temporal e redundância por valor), segurança (separar canais de controle dos canais de dados) e responsividade. • Cada um dos requisitos possui diferentes mecanismos implementados que ponderam QoS x Consumo de Recursos. • Criptografia x latência x uso de memória e energia.

  13. OCP – Visão Geral • Baseado no Bold Stroke. • Utiliza componentes do RT CORBA (ACE/TAO). • Agrega novas funcionalidades ao Bold Stroke. • Ferramentas de simulação e integração em anexo. • Simulink

  14. OCP – Herança (Bold Stroke) • Baseado em CORBA. • Software financiado pela Boeing. • Utilizado nos caças da McDonell Douglas Corporation. • Implementava todos os sistemas (navegação, interface piloto-veículo e controle de armas). • Não era utilizado no gerenciamento do veículo. • Controles de vôo críticos eram implementados. • Seus maiores objetivos são: implementar o gerenciamento do veículo no middleware (OCP) e permitir todos os níveis de controle de vôo de UAVs.

  15. OCP – RT CORBA • O ACE/TAO foi usado para permitir o desenvolvimento de aplicações de controle de vôo. • Era necessário algumas otimizações. • Prover eventos leves para diminuir o fluxo de mensagens no agente central do Serviço de Eventos de TR do TAO. • Cache local de um objeto distribuído no lado do cliente, evitando que a thread fique bloqueada e que o canal de eventos fique congestionado. • Suporte a protocolos plugáveis (GIOP-lite sobre memória compartilhada).

  16. OCP - Novas funcionalidades • Implementa um framework para gerenciamento de recursos, garantindo a qualidade de serviço de um aplicação. • Suporte a sistemas híbridos • Suporte a gatilho de tempo precisos nos nível de aplicação. • Foi criado um framework para encapsular tarefas específicas de hardware, expondo-as para uma aplicação através de uma interface limpa.

  17. RUNES - Visão Geral • A construção do middleware se baseia em uma linguagem independente de modelos de componentes (OpenCOM de Lancaster). • Complementado pelos Component Frameworks • Complementado pelos Meta-modelos reflexivos

  18. RUNES – Modelo de Componentes

  19. Comparações (1/2)

  20. Comparações (2/2)

  21. Conclusões • Há pelo menos um ponto positivo em cada um dos middlewares. • MicroQoSCORBA • Tolerância a falhas (QoS), interoperabilidade. • OCP • Maturidade e usabilidade (C++). • RUNES • Extensibilidade, interoperabilidade, heterogeneidade.

More Related