BR112012031826B1 - Sistema aviônico distribuído, método de operação de um sistema aviônico distribuído e meio de armazenamento legível por computador - Google Patents

Sistema aviônico distribuído, método de operação de um sistema aviônico distribuído e meio de armazenamento legível por computador Download PDF

Info

Publication number
BR112012031826B1
BR112012031826B1 BR112012031826-8A BR112012031826A BR112012031826B1 BR 112012031826 B1 BR112012031826 B1 BR 112012031826B1 BR 112012031826 A BR112012031826 A BR 112012031826A BR 112012031826 B1 BR112012031826 B1 BR 112012031826B1
Authority
BR
Brazil
Prior art keywords
avionics
processing
data
task
time
Prior art date
Application number
BR112012031826-8A
Other languages
English (en)
Other versions
BR112012031826A2 (pt
Inventor
Anders Pettersson
Jan Håkegård
Torkel Danielsson
Original Assignee
Saab Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Saab Ab filed Critical Saab Ab
Publication of BR112012031826A2 publication Critical patent/BR112012031826A2/pt
Publication of BR112012031826B1 publication Critical patent/BR112012031826B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • H04L67/322

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

aviônica distribuída. a presente invenção refere-se a um sistema aviônico distribuído disposto em um veículo aéreo (1) para o controle de pelo menos uma função da aviônica, o sistema compreendendo: uma pluralidade de subsistemas de processamento de aviônicos (s1-s4) interligados em uma rede (2), cada um dos subsistemas de processamento de aviônicos (s1-s4) compreendendo: um meio de processamento (4), disposto de modo a processar pelo menos uma tarefa (53, 55-56, 62-63) de modo a prover um conjunto de mensagens de dados compreendendo uma ou mais unidades de dados relacionados ao controle da pelo menos uma função da aviônica com base nos dados de entrada providos, relativos às condições da pelo menos uma função da aviônica, um meio de memória (3) em conexão operativa com o meio de processamento (4) disposto de modo a armazenar instruções para o meio de processamento (4) a fim de processar a dita pelo menos uma tarefa, sendo que pelo menos um dos subsistemas de processamento de aviônicos (s1-s4) é disposto de modo a transmitir pelo menos um sinal de início de ciclo de sincronização para a rede (2).

Description

CAMPO DA INVENÇÃO
[001] A presente invenção refere-se a um sistema e um método para o controle da aviônica.
[002] Além disso, a presente invenção se refere a um software adaptado para a realização das etapas de método de controle quando executadas em um computador.
ANTECEDENTES DA INVENÇÃO
[003] Nos sistemas de controle integrados de hoje, a evolução da tecnologia digital permitiu uma funcionalidade complexa. No entanto, como re-sultado direto do desenvolvimento, a necessidade de uma capacidade maior do sistema provido por um software e vários componentes, tais como senso-res, processadores, monitores de vídeo, barramentos de dados e unidades de memória, aumenta cada vez mais.
[004] Além da implementação de mais funcionalidade e interconectividade nos sistemas de controle, o uso de menos Peso e Potência Espacial (SWaP) e de uma quantidade menor de cabeamento são as necessidades mais importantes. As atualizações de hardware e software integrados durante um período de vida dos produtos tornam a adaptabilidade e a modularidade um outro parâmetro de projeto interessante. Outros incentivos incluem a obtenção de um desenvolvimento, produção e manutenção a baixo custo, nos quais um caminho possível é a implementação de uma tecnologia comercialmente disponível, pronta para uso (Commercial off the Shelf) (COTS) no lugar de uma tecnologia especializada cara.
[005] Os sistemas em tempo real para aplicações de controle de segurança de importância crítica, nos quais dados de sensores são normalmente obtidos, comunicados e processados a fim de prover um sinal de controle para um atuador, impõem exigências rigorosas com relação à largura de banda, ao tempo de entrega dos dados, à redundância e à integridade. A falha em atender a uma ou várias dessas exigências nas aplicações, incluindo uma "frenagem eletrônica" ou uma "direção por comando eletrônico", pode se tornar perigoso.
[006] Uma área na qual uma execução em tempo real de alta velocidade confiável e uma comunicação de dados confiável são aplicáveis diz respeito à área dos sistemas aviônicos. Os avanços na tecnologia no final dos anos 60 e no início dos anos 70 fizeram com que se tornasse necessário compartilhar informações entre diferentes subsistemas aviônicos a fim de reduzir o número de módulos funcionais, tais como as Unidades Substituíveis na Linha da Frente (LRU:s). Um único sensor, tal como um sensor de posição, fornece informações aos sistemas de armas, ao sistema de visuali-zação, ao piloto automático e ao sistema de navegação.
[007] A arquitetura de alto nível dos sistemas aviônicos tem sido utilizada desde as unidades LRU:s separadas de significado federado para funções separadas até as aviônicas modulares integradas (IMA) com respeito às diversas funções integradas às unidades LRU:s multifuncionais. A conectividade que permite a comunicação entre as diferentes unidades LRU:s é utilizada desde as conexões ponto a ponto de largura de banda baixa até as conexões de barramento de largura de banda mais alta.
[008] As orientações estabelecidas pela Comissão Técnica de Rádio para a Aeronáutica (RTCA) nos documentos DO-17813 e RTCA DO-254 re-gulam como projetar e desenvolver um software e um hardware respectivo de forma segura a fim de mostrar aeronavegabilidade, de acordo com uma escala de criticidade. No entanto, a certificação e a subsequente recertificação de um software de acordo com o documento DO-17813 representam um custo substancial no desenvolvimento de sistemas de controle de aviônicos baseados em software.
[009] A fim de ajudar no desenvolvimento dos modernos sistemas de controle para a aviônica, um conjunto de documentos de orientação, tais como o DO-297 e o 651 da Aeronautical Radio Inc. (ARINC), define conceitos gerais para os sistemas da aviônica IMA. Além disso, o documento A-RINC 653 "Avionics Application Software Standard Interface" define uma Interface API de Programa de Aplicação, referida como Executivo de Aplicação (APEX), implementada nos Sistemas Operacionais em Tempo Real (RTOS) utilizados nos sistemas de controle de aviônicos. O Executivo APEX permite um particionamento de tempo e espaço que pode ser utilizado sempre que múltiplas aplicações precisam compartilhar um único processador e recurso de memória a fim de garantir que uma aplicação não possa derrubar uma outra no caso de uma falha de aplicação.
[0010] O documento US 6 886 024 B1 apresenta um sistema no qual a execução de diversas aplicações distribuídas em diversos computadores é controlada utilizando uma linguagem de script simplificada a fim de realizar uma coordenação entre as diversas aplicações e permitir uma construção facilitada das aplicações distribuídas de ordem superior. Cada computador inclui, em uma plataforma de agente, uma base de agente capaz de ter um agente shell, um agente de serviço local e um agente de aplicação, uma uni-dade de movimento de agente, uma unidade geradora de encadeamento, uma unidade de controle remoto e uma unidade geradora de agente. Uma linguagem script entrada através de uma unidade de entrada é interpretada pelo agente shell a fim de iniciar o agente de aplicação. O agente de aplicação supervisiona uma aplicação corrente. O agente shell e o agente de aplicação podem ser deslocados para um outro computador utilizando a unidade de movimento de agente e podem ter uma comunicação com um agente em outro computador com a ajuda da unidade de controle remoto.
[0011] O documento WO/2001/086442 A2 descreve as técnicas para uma comunicação entre aplicações e o manuseamento de dispositivos de entrada / saída I/O de um Sistema Modular Integrado de Aviônicos (IMA) de modo a permitir a integração de múltiplas aplicações, ao mesmo tempo man-tendo um forte particionamento espacial e temporal entre os módulos de software de aplicação ou as aplicações particionadas. A integração dos mó-dulos de aplicação é simplificada ao abstrair as interações de aplicação de-sejadas de maneira similar ao acesso dos dispositivos. Tal abstração facilita a integração das aplicações já desenvolvidas, bem como novas aplicações.
[0012] No entanto, o deslocamento a partir dos sistemas aviônicos es-pecializados utilizando um hardware e software dedicados na tentativa de alcançar um melhor desempenho do sistema, modularidade e boa relação custo / benefício tende a produzir sistemas complexos com menor determi-nismo.
[0013] Por conseguinte, existe uma necessidade, na arte da aviônica, de apresentar um sistema aviônico aperfeiçoado, destinado a melhorar a confiabilidade e o determinismo.
OBJETIVO DA INVENÇÃO
[0014] É, portanto, um objetivo da presente invenção prover um sistema e um método que alcancem maior fiabilidade e determinismo em relação ao tráfego e processamento de dados.
SUMÁRIO DA INVENÇÃO
[0015] Este objeto é obtido, de acordo com a presente invenção, por um sistema aviônico distribuído disposto em um veículo aéreo para o controle de pelo menos uma função da aviônica, o sistema compreendendo: uma pluralidade de subsistemas de processamento de aviônicos interligados em uma rede. Cada um dos subsistemas de processamento de aviônicos com-preendendo: um meio de processamento disposto de modo a processar pelo menos uma tarefa de modo a prover um conjunto de mensagens de dados que compreendendo uma ou mais unidades de dados relacionados ao controle da pelo menos uma função da aviônica com base nos dados de entrada providos, relativos às condições da pelo menos uma função de aviônica, um meio de memória em conexão operativa com o meio de processamento disposto de modo a armazenar instruções para o meio de processamento processar a dita pelo menos uma tarefa. Pelo menos um dos subsistemas de processamento de aviônicos é disposto de modo a transmitir pelo menos um sinal de início de ciclo de sincronização para a rede. Cada um dos subsistemas de processamento de aviônicos é disposto de modo a gerar um conjunto repetitivo de quadros de tempo de processamento periódicos por meio da detecção repetida de instantes de tempo subsequentes, com base em um primeiro intervalo predeterminado e no pelo menos um sinal de início de ci-clo. Cada um dos subsistemas de processamento de aviônicos é disposto de modo a selecionar, dentro de cada um dos quadros de tempo de processa-mento gerados, pelo menos um conjunto de tarefas a processar, com base em uma programação de execução predeterminada. Cada um dos subsistemas de processamento de aviônicos é disposto de modo a selecionar a ordem na qual se deve processar cada qual dentre pelo menos uma tarefa dentro de cada tarefa selecionada de pelo menos um conjunto de tarefas, com base em uma taxa de processamento predeterminada associada a cada dentre a pelo menos uma tarefa, determinada a partir de um conjunto de taxas de processamento global do sistema em ordem decrescente da dita taxa de processamento associada.
[0016] Deste modo é obtido um sistema de processamento distribuído em tempo real determinístico, robusto e de baixo custo com uma alta segurança do sistema e baixas quantidades de flutuação de fase nos parâmetros mensuráveis de disponibilidade de sistema.
[0017] O sistema é uma opção caracterizada ainda pelo fato de que pelo menos uma das tarefas dentro de pelo menos um conjunto de tarefas alocado para pelo menos um dos subsistemas de processamento de aviônicos dentre a pluralidade de subsistemas de processamento de aviônicos é disposto de modo a ser dependente de pelo menos um ou mais unidades de dados providos por pelo menos uma tarefa previamente processada alocada para diferentes subsistemas de processamento de aviônicos dentre a pluralidade de subsistemas de processamento de aviônicos a fim de prover uma ou mais unidades de dados relacionados ao controle da pelo menos uma função da aviônica.
[0018] O sistema é uma caracterizada ainda pelo fato de que cada um dos subsistemas de processamento é disposto de modo a gerar um conjunto de quadros de tempo de comunicação periódicos por meio da detecção repetitiva de instantes de tempo subsequentes dentro de cada quadro de tempo de processamento gerado, com base em um segundo intervalo de tempo periódico predeterminado.
[0019] O sistema é uma opção caracterizada ainda pelo fato de que cada um dos subsistemas de processamento compreende uma interface de rede e uma unidade de controle de transmissão disposta de modo a controlar a interface de rede a fim de realizar transmissões programadas de pacotes de dados, sendo que a dita unidade de controle de transmissão é provida com um acesso ao meio de memória compreendendo informações de programação de execução relativas a uma tabela de sincronização que estaticamente aloca para a dita pluralidade de quadros de tempo de comunicação um número predeterminado de pacotes de dados, cada qual compreendendo um subconjunto predeterminado de mensagens de dados a partir do dito conjunto de mensagens de dados.
[0020] O sistema é uma opção caracterizada ainda pelo fato de que a informação de programação de execução se baseia em determinadas restrições de retardo de comunicação ponto a ponto associadas à comunicação das mensagens de dados entre os processos alocados para diferentes nós de sistema.
[0021] O sistema é uma opção caracterizada ainda pelo fato de que a informação de programação de execução é configurada de modo a impedir o excesso de quadros de tempo de comunicação, sendo que pelo menos um dos pacotes de dados é transportado na rede para uma pluralidade de quadros de tempo de comunicação consecutivos.
[0022] O sistema é uma opção caracterizada ainda pelo fato de que os subsistemas de processamento de aviônicos são dispostos de modo a sele-cionar, dentro de cada um dos quadros de tempo de processamento gerados, pelo menos um conjunto de tarefas para processo, com base em uma sequência predeterminada de conjuntos de tarefas, e compreende ainda a seleção, dentro de cada um dos quadros de tempo de processamento gerados, de pelo menos um conjunto de tarefas para processo em um quadro de tempo predeterminado, cada qual em um espaço de endereço de memória predeterminado.
[0023] Este objetivo é também obtido de acordo com a presente invenção através de um método para operar um sistema de computação de aviônica distribuída para o controle de pelo menos uma função de aviônica, o método compreendendo as etapas de: prover dados de entrada relativos às condições da pelo menos uma função de aviônica, prover os dados de entrada para a unidade de memória dos subsistemas de processamento para um processamento posterior, por pelo menos uma tarefa, a fim de prover uma mensagem de dados definida compreendendo uma ou mais unidades de dados relacionados ao controle de pelo menos uma função de aviônica, sincronizar os subsistemas de processamento de aviônicos no tempo por meio da geração de pelo menos um sinal de início de ciclo na rede, gerar um conjunto repetitivo de quadros de tempo de processamento periódicos por meio da detecção repetida de instantes de tempo subsequentes, com base em um primeiro intervalo predeterminado e no pelo menos um sinal de início de ciclo, selecionar, dentro de cada um dos quadros de tempo de processamento gerados, pelo menos um conjunto de tarefas para processo, com base em uma programação de execução predeterminada, selecionar a ordem na qual se deve processar cada qual dentre pelo menos uma tarefa dentro de cada qual dentre o pelo menos um conjunto de tarefas selecionado, com base em uma taxa de processamento predeterminada associada a cada qual dentre a pelo menos uma tarefa, determinada a partir de um conjunto de taxas de processamento global do sistema em ordem decrescente da dita taxa de processamento associada.
[0024] As reivindicações dependentes definem os aspectos caracterizantes opcionais correspondentes aos descritos em relação ao sistema.
[0025] Este objetivo é também obtido por um programa de computador que compreende um código de programa para a realização das etapas de método acima descritas, quando o dito programa de computador é executado em um computador.
[0026] Este objetivo é também obtido por um produto de programa de computador que compreende um código de programa armazenado em uma mídia legível por computador para a realização das etapas de método acima descritas, quando o dito programa de computador é executado no computador.
[0027] Este objetivo é também obtido por um produto de programa de computador diretamente armazenável em uma memória interna de um computador, compreendendo um programa de computador para a realização das etapas de método descritas acima, quando o dito programa de computador é executado no computador.
BREVE DESCRIÇÃO DOS DESENHOS
[0028] A Figura 1 mostra esquematicamente um sistema aviônico distribuído de acordo com um exemplo da presente invenção.
[0029] Figura 2 mostra esquematicamente o sistema aviônico distribuído integrado aos componentes de um veículo aéreo, de acordo com um exemplo da presente invenção.
[0030] A Figura 3 mostra um diagrama de blocos esquemático dos componentes de hardware do sistema aviônico distribuído de acordo com um exemplo da presente invenção.
[0031] A Figura 4 ilustra uma representação esquemática dos componentes de hardware e de software de acordo com um exemplo da presente invenção.
[0032] A Figura 5 ilustra uma representação esquemática de uma porção da arquitetura de software em mais detalhe.
[0033] A Figura 6 mostra uma ilustração esquemática de uma programação de execução de dados de acordo com um exemplo da presente invenção.
[0034] A Figura 7 mostra um diagrama de blocos esquemático de uma rede de comunicação de acordo com um exemplo da presente invenção.
[0035] A Figura 8 mostra uma ilustração esquemática de uma programação de execução de sistema de acordo com um exemplo da presente invenção.
[0036] A Figura 9 mostra uma ilustração esquemática de uma programação de execução de sistema de acordo com outro exemplo da presente invenção.
[0037] A Figura 10 mostra um fluxograma esquemático ao longo de um método para a operação do sistema aviônico distribuído de acordo com um exemplo da presente invenção.
DESCRIÇÃO DETALHADA
[0038] Com referência aos desenhos, e inicialmente à Figura 1, é ilustrado um sistema de computação de aviônica distribuída de acordo com um exemplo da presente invenção. O sistema de computador de aviônica distri-buída pode compreender uma pluralidade de computadores de aviônica S1-S4 interligados em uma rede 2, dispostos de modo a serem montados em vários locais de um veículo aéreo 1 e atuar como um controlador de um ou mais dentre um conjunto de subsistemas do veículo aéreo 1, de tal modo a, por exemplo, atuar como um controlador de um sistema de injeção de com-bustível ou da hidráulica de um aileron.
[0039] Na Figura 2 é ilustrada uma vista alternativa do sistema de computador de aviônica distribuída a ser configurado, visto como os sistemas / componentes integrados do veículo aéreo 1. O conjunto de subsistemas do veículo aéreo AVS pode compreender sistemas, tais como, por exemplo, ailerons, flaps, injeção de combustível e carga útil. O sistema de computador de aviônica distribuída pode compreender pelo menos um nó de computador S1-S4, tal como um computador de uso geral, disposto como um computador de controle de voo (FCC) e/ou um computador de controle de missão (MCC), disposto de modo a ficar em conexão comunicativa com vários dentre o conjunto de subsistemas do veículo aéreo AVS e sistemas adicionais e/ou componentes, tais como os sensores SENS, os atuadores ACT e uma ou mais estações de controle. Os sensores SENS podem prover as informações relativas às propriedades associadas a um ou mais dentre um conjunto de subsistemas do veículo aéreo AVS e de um ambiente operacional ENV que envolve o veículo aéreo 1. A uma ou mais estações de controle pode prover informações relacionadas às interações de um ou mais operadores do veículo aéreo 1. O sistema de computação de aviônica distribuída pode ser disposto de modo a processar as informações providas a partir de um ou mais dentre os sensores SENS e/ou estações de controle, a fim de prover dados de controle para o um ou mais atuadores ACT e/ou dados de apresentação para as estações de controle. O sistema de computador de aviônica distribuída pode ser acoplado a pelo menos um componente de processamento de aviônicos legados LE, tal como, por exemplo, uma unidade LRU legada disposta como uma unidade de processamento de radar disposta de modo a ficar em conexão comunicativa com os diversos subsistemas aviônicos do veículo AVS e sistemas adicionais e/ou componentes, tais como os sensores SENS, os atuadores ACT e uma ou mais estações de controle.
[0040] Com referência à Figura 3, a configuração de hardware 35 de um dentre uma pluralidade de computadores S1 é ilustrada de acordo com um exemplo da presente invenção. Cada qual dentre a pluralidade de computadores S1-S4, a seguir também referidos como os nós S1-S4, pode compreender pelo menos um processador 4, a memória 3, um relógio de hardware (não mostrado), uma fonte de alimentação (não mostrada), a interface de barramento 6 e a interface I/O 5. A interface I/O 5 pode ser disposta de modo a prover acesso aos periféricos do sistema, por exemplo, os dispositivos acoplados ao respectivo nó por meio de VME, PCIe, IDE ou coisa do gênero. O sistema de computador de aviônica distribuída pode compreender ainda pelo menos uma rede 2, tal como, por exemplo, uma rede de Ethernet, que conecta operativamente os nós S1-S4, permitindo assim a troca de mensagens de dados entre os nós. A rede de comunicação 2 é configurada de modo a prover um meio para a comunicação de pacotes de dados compreendendo unidades de dados dispostos nas mensagens de dados entre os nós de sistema S1-S4. As mensagens de dados podem, cada uma das mesmas, compreender uma ou mais unidades de dados, também referidas como variáveis, relacionadas a, por exemplo, uma leitura de sensor, um valor de saída periodicamente calculado de um circuito de controle ou coisa do gênero. O acesso à rede pode ser provido por meio da respectiva interface de barramento 6, a qual pode ser disposta de modo a dispor as mensagens de dados para e/ou recuperar as mensagens de dados da rede 2, de acordo com instruções predeterminadas armazenadas em uma ou mais porções da memória 3. A interface de barramento 6 pode ainda ser disposta de modo a prover acesso por meio de uma ou mais conexões adicionais com outros dispositivos, tais como, por exemplo, os concentradores de dados remotos (RDC:s), os sensores e/ou atuadores. A uma ou mais conexões com os outros dispositivos podem ser conexões ponto a ponto, tal como a conexão RS-422, ou do tipo barramento, tais como as conexões MIL-STD-1553, IEEE 1394, ou outro tipo similar de conexão conhecida na técnica.
[0041] Na Figura 4, a configuração relativa à arquitetura de alto nível de um dentre cada qual dentre a pluralidade de computadores S1 é ilustrada de acordo com um exemplo da presente invenção. Cada nó S1-S4 pode, além do hardware 35 descrito acima com referência à Figura 2, compreender um sistema de interface de hardware 30, disposto de modo a, por meio de um conjunto de unidades de interface, prover acesso a um hardware específico, tal como a memória 3 e o relógio de hardware. Cada nó S1-S4 pode com-preender ainda um sistema operacional 25, tal como um sistema operacional em tempo real (RTOS). O sistema operacional pode ser disposto de modo a prover um certo número de serviços para um conjunto de aplicações. O nú-mero de serviços pode ser relacionado à comunicação, à programação de execução, ao gerenciamento de memória, à sincronização e ao monitoramento de saúde, tal como a provisão do tempo do sistema local ou serviços de timer. Na provisão dos serviços, o sistema operacional pode ser disposto de modo a interagir com o hardware 35 por meio do sistema de interface de hardware 30. Cada nó S1-S4 pode compreender ainda um módulo de dados de configuração (CDM) 40. O módulo CDM 40 pode ser disposto em conexão operativa com o sistema operacional 25 e com o sistema de interface de hardware 30 a fim de prover informações relativas à configuração específica de acesso à memória, à programação de execução e à comunicação. Como exemplo, o módulo CDM pode ser disposto de modo a prover o sistema RTOS com parâmetros de inicialização associados à sincronização de execução do conjunto de aplicações. O módulo CDM pode ser implementado em um componente de memória separado ou em uma região de memória associada à memória 3 associada a cada um dos nós S1-S4.
[0042] Cada aplicação do conjunto de aplicações pode compreender uma ou mais tarefas, também referidas como processos. Cada qual dentre a uma ou mais tarefas pode denotar uma unidade lógica de computação com um único encadeamento de controle. Como um exemplo, uma aplicação pode ser disposta de modo a processar leituras de sensor e controlar os comandos de controle providos por um operador por meio de uma ou mais leis de controle, a fim de continuamente prover um sinal de controle para um atuador, tal como, por exemplo, prover um sinal de controle para um atuador associado a um aileron. Como um exemplo adicional, uma das tarefas pode ser configurada de modo a realizar uma operação derivativa sobre um parâmetro recuperado a partir de um sensor, tal como, por exemplo, configurado de modo a realizar uma computação derivativa de um ou mais parâmetros subsequentes relativos a uma aceleração de um objeto a fim de computar a velocidade do objeto.
[0043] Em um exemplo, cada nó S1-S4 pode ser disposto de modo a executar um sistema operacional em tempo real RTOS, compatível com o documento ARINC 653, a fim de permitir o particionamento espacial e tem-poral do conjunto de aplicações compreendidas em um módulo de particionamento 15 da Aviônica Modular Integrada IMA. Com referência à Figura 5, módulo de particionamento 15 da Aviônica IMA pode compreender uma ou mais aplicações particionadas, tais como, por exemplo, uma primeira aplicação 51, uma segunda aplicação 52 e uma terceira aplicação 61. Cada uma das aplicações pode ser dividida no módulo de particionamento 15 da Aviônica IMA em uma ou mais partições, tais como, por exemplo, uma primeira partição 50 associada à primeira aplicação 51 e à segunda aplicação 52, e uma segunda partição 60 associada à terceira aplicação 61. Cada uma das aplicações 51-52 e 61 podem compreender ainda uma ou mais tarefas. Como um exemplo, uma primeira tarefa 53 pode ser associada à primeira aplicação 51, uma segunda tarefa 55 e uma terceira tarefa 56 podem ser asso-ciadas à segunda aplicação 52, e uma quarta tarefa 62 e quinta tarefa 63 podem ser associadas à terceira aplicação 61. O um ou mais nós S1-S4 pode compreender ainda, cada um dos mesmos, uma camada de abstração provida por uma interface de programas aplicativos (API) 20 localizada entre software de aplicação no módulo de particionamento de aviônica IMA e no sistema operacional OS. A interface API 20 pode ser disposta de modo a prover um conjunto de serviços básicos ao conjunto de aplicações necessárias para a realização de suas respectivas tarefas para comunicação.
[0044] Em um o exemplo, a interface API pode ser disposta como um executivo de aplicação (APEX), em conformidade com as especificações do documento ARINC 653. A implementação das especificações do documento ARINC 653, no que diz respeito à arquitetura da Aviônica IMA de alto nível evita a propagação de erro ao executar diferentes aplicativos em um único processador. O particionamento permite executar aplicativos certificados em um nível de criticidade diferente medido pelo nível de segurança de projeto DAL, de acordo com o documento RTCA DO-178B, em um único processa-dor.
[0045] Na Figura 6, a programação de execução 100 de partições associadas a um dos nós é ilustrada de acordo com um exemplo da presente invenção. Os recursos de processamento do processador 4 em cada um dos nós S1-S4 podem ser divididos por meio da configuração para um conjunto de quadros de tempo de execução menores 125 também referidos como quadros de tempo de processamento menores. Cada um dos quadros de tempo de execução menores 125 pode ser disposto de modo a ser periódico, isto é, que ocorre periodicamente em instantes de tempo posteriores, tais como definidos por um período de tempo. Cada qual dentre a uma ou mais partições alocadas para o módulo de particionamento de aviônica IMA 15 em cada um dos respectivos nós pode ser provida com pelo menos um quadro de tempo de execução, tal como, por exemplo, um primeiro quadro de tempo de execução 120 associado à primeira partição 50, provendo à partição acesso exclusivo aos recursos de processamento 4 do respectivo nó alocado S1 para o determinado pelo menos um quadro de tempo de execução 120. Um ou vários quadros de tempo de execução menores pode compreender um ou mais quadros de tempo de execução associados às partições, tais como, por exemplo, um primeiro quadro de tempo de execução 120 associado à primeira partição 50 e um segundo quadro de tempo de execução 121 associado à segunda partição 60. Um quadro de tempo de execução maior 110 pode determinar o ciclo de repetição intrínseca da programação de execução definida por um ou vários quadros de tempo de execução menores 125 em cada um dos nós S1-S4.
[0046] Em um exemplo, cada partição associada ao respectivo nó específico pode ser atribuída a uma ordem predeterminada de uma sequência de processamento predeterminada, que determina a ordem na qual se deve processar as partições dentro de cada quadro de processamento menor 125.
[0047] Em um exemplo, cada uma das partições de cada módulo de aviônica IMA pode ser alocada com zero ou mais quadros de tempo de execução predeterminados dentro de cada quadro de processamento menor.
[0048] Como um exemplo, a primeira partição 50 pode ser atribuída ao primeiro quadro de tempo de execução 120 correspondente a uma primeira porção que é a primeira na ordem dentro do quadro de tempo de processa-mento menor 125, e a segunda partição 60 pode ser atribuída ao segundo quadro de tempo de execução 121 correspondente a uma segunda porção que é a segunda na ordem dentro do quadro de tempo de processamento menor 125.
[0049] A sequência de processamento resultante fica, portanto, de acordo com o exemplo, para primeiro processar a primeira partição 50 por um intervalo de tempo determinado a partir do primeiro quadro de tempo de e-xecução de 120 e, em seguida, muda para processar a segunda partição 60 por um intervalo de tempo determinado a partir do segundo quadro de tempo de execução 121. Após o término do quadro de tempo de processamento menor 125, a sequência pode ser repetida periodicamente.
[0050] Em um exemplo, uma pluralidade de quadros de tempo de pro-cessamento menores configurados diferentemente pode ser provida em cada um dos nós de sistema S1-S4. Sendo assim, cada qual dentre a pluralidade de quadros de tempo de processamento menores pode compreender diferentes configurações com relação ao número de partições específicas que são alocadas em um quadro de tempo de execução dentro do respectivo quadro de tempo de processamento menor. A duração do quadro de tempo de execução associado à respectiva partição pode variar dentre os diferentes quadros de tempo de processamento menores.
[0051] A programação de execução 100 pode ser utilizada pelo sistema operacional 25 a fim de determinar quando realizar trocas de contexto entre as diferentes partições e as tarefas associadas às diferentes partições por meio de interrupções de relógio providas pelo hardware 35. Por exemplo, a programação de execução 100 pode determinar quando realizar trocas de contexto entre a primeira partição 50 e segunda partição 60 e as respectivas tarefas associadas 53, 55-56, 62-63.
[0052] Deve-se entender que a configuração com relação ao número de aplicações, partições de tarefas e, desse modo, também aos quadros de execução pode ser diferente do exemplo ilustrado com referência à Figura 6.
[0053] A determinação da programação de execução 100 para cada um dos nós S1-S4 pode ser feita por meio da consideração dos requisitos computacionais dos aplicativos e de sua associada uma ou mais tarefas em relação aos recursos disponibilizados pelos nós S1-S4.
[0054] Durante o quadro de tempo de execução para a partição específica da uma ou mais partições, as tarefas associadas à partição específica podem, em um exemplo, ser executadas em uma base de prioridade. Cada tarefa pode ser atribuída a uma frequência de tarefa, relativa às execuções subsequentes de instâncias da tarefa.
[0055] Em um exemplo, cada uma das tarefas do sistema de computação de aviônica distribuída pode ser disposta de modo a ser executada peri-odicamente. A fim de executar periodicamente o tempo de liberação, com referência a quando uma tarefa pode começar a ser executada, o mesmo pode ser acionamento no tempo em uma base regular, ou seja, em uma base cíclica, tal como o tempo acionado por meio dos serviços de timer providos pelo sistema operacional. Cada tarefa pode, nesse caso, ser definida por um conjunto de propriedades associadas à sincronização, incluindo um período de tempo T que define o intervalo de tempo entre as sucessivas liberações da tarefa, um tempo de término (CT) que define o momento em que a tarefa finaliza a sua execução, um prazo (D) que define o último momento em que a tarefa deve completar a sua execução, e um tempo de execução de pior caso (WCET) que define o tempo necessário para executar a tarefa sem interrupção. A fim de determinar o tempo WCET de cada tarefa específica, uma série de medições ou análises de sincronização estática pode ser realizada. Ao atribuir cada tarefa com parâmetros de projeto relativos ao prazo D e ao período T da tarefa em conformidade com as condições abaixo, uma programação de execução de tarefas periódicas exequível pode ser obtida.
Figure img0001
[0056] Na qual U representa o parâmetro de utilização de processador do processador atribuído para a execução de um conjunto de tarefas, tal como indicado pelo índice i, sendo que n representa o número total de tarefas atribuídas ao recurso de processador. Como um exemplo, um valor com-putado com relação a U que é igual a 1, corresponde a 100 por cento de uti-lização do processador.
[0057] Em um exemplo, a ordem de execução da uma ou mais tarefas durante o quadro de tempo de execução alocado para a partição pode ser programada por um programador preemptivo baseado em prioridade, tal como programado em ordem decrescente de frequência de processo, ou seja, as tarefas em cada partição são executadas em uma base de prioridade de taxa monotônica (RM).
[0058] Em um exemplo, a ordem de execução de uma ou mais tarefas durante o quadro de tempo de execução alocado para a partição pode ser programada em uma base de prazo monotônico (DM), ou seja, as tarefas são programadas em ordem de prazo crescente para a conclusão da tarefa.
[0059] O programador preemptivo baseado em prioridade pode ser disposto de modo a interromper a execução da tarefa quando uma tarefa de maior prioridade precisa ser executada e retornar o mesmo em um instante de tempo posterior. No caso de várias tarefas que são atribuídas à mesma partição serem designadas com a mesma frequência de atualização, uma ordem "primeiro a entrar, primeiro a sair (first-in-first-out) (FIFO) pode ser usada no sentido de determinar a ordem interna de execução. Sendo assim, a execução de aplicativos em cada nó local pode ser feita de modo a ser controlada por um programador de dois níveis. O programador de primeiro nível é disposto de modo a programar a preempção das partições determi-nadas a partir da sequência de quadros de tempo de execução predetermi-nados para cada uma das partições alojadas no módulo de particionamento de aviônica IMA 15 do respectivo nó local S1-S4. O programador de segundo nível é disposto de modo a programar a uma ou mais tarefas dentro de cada uma das partições em uma base preemptiva de prioridade durante o quadro de tempo de execução predeterminado para a respectiva partição.
[0060] A título de exemplo, com referência mais detalhada, a primeira partição 50 pode ser alocada para um primeiro nó S1 e atribuída ao primeiro quadro de tempo de execução 121 de, por exemplo, 10 ms e com um período de 25 ms correspondente a uma repetição, ou seja, uma frequência de atualização de 40 Hz. A primeira tarefa 53, a segunda tarefa 55 e a terceira tarefa 56 podem ser associadas à primeira partição 50. A primeira e a segunda tarefas podem ser atribuída a uma frequência de tarefa de 40 Hz, e a terceira tarefa pode ser atribuída a uma frequência de tarefa de 20 Hz. A segunda partição 60 pode ser alocada para o nó S1 e atribuída ao segundo quadro de tempo de execução 120 de, por exemplo, 12 ms e com um período de 25 ms correspondente a uma repetição, isto é, a frequência de atualização de 40 Hz. A quarta tarefa 62 e a quinta tarefa 63 associadas à segunda partição 60 podem ser atribuídas a uma frequência de tarefa de 40 Hz e 20 Hz, respectivamente. Sendo assim, as instâncias, ou seja, a execução em particular durante o tempo de execução de uma série de execuções subsequentes da primeira tarefa 53 e da segunda tarefa 55 é feita, uma de cada vez, em um período de tempo de 25 ms, as instâncias da terceira tarefa 56 são executadas, uma de cada vez, em um período de tempo de 50 ms. As instâncias da quarta tarefa 62 são executadas, uma de cada vez, em um período de tempo de 25 ms, e as instâncias da quinta tarefa 63 são executadas, uma de cada vez, em um período de tempo de 50 ms. O período de tempo maior 110 para a programação pode, nesse caso, ser determinado de modo a ser o mínimo múltiplo comum de todas as tarefas associadas a cada um dos nós S1-S4, tal como, por exemplo, o menor múltiplo comum de 25 ms e 50 ms correspondente a 50 ms, que vem a ser o período de tempo no qual, após a sequência de execução de instâncias de tarefa, ou seja, a programação pode se repetir ciclicamente, ou seja, o ciclo de execução maior 110. Deve-se notar que uma ou mais instâncias de tarefas, tais como, a instância da terceira tarefa 56 e da quinta tarefa 63, pode ser evitada durante a primeira execução de suas partições associadas 50, 60 e, posteriormente, retomada durante uma execução subsequente de sua partição associada 50, 60. A terceira tarefa 56 pode, por exemplo, ser evitada, dependendo se o tempo CT da terceira tarefa 56, juntamente com o tempo CT de uma ou mais tarefas que se alojam na mesma partição, tal como, por exemplo, o tempo CT da primeira tarefa 53 e da segunda tarefa 55 excede o período de tempo atribuído à respectiva partição 50.
[0061] Em um exemplo, o período de tarefa de todas as tarefas dentro de uma ou mais partições pode ser selecionado durante a concepção do sistema de modo que a uma ou mais partições se torne harmônica, ou seja, de modo que o período de tempo de todas as tarefas dentro de cada uma das partições específicas seja um número inteiro múltiplo do menor período de tarefa alocado para qualquer tarefa dentro da partição específica.
[0062] Em um exemplo, o período de tarefa de todas as tarefas dentro de cada partição pode ser selecionado durante a concepção do sistema de modo que cada uma das partições se torne harmônica, ou seja, de modo que o período de tempo de todas as tarefas dentro da partição seja um número inteiro múltiplo do período de tarefa mais curto atribuído para qualquer tarefa dentro da partição.
[0063] Em um exemplo, a frequência de tarefa pode ser selecionada a partir de um conjunto de frequências, tal como o conjunto de frequências compreendendo 40 Hz, 20 Hz, 10 Hz e 1 Hz. A frequência de processo pode ser selecionada com base na exigência de processo para o tempo de execução.
[0064] Em um exemplo, o conjunto de frequências de tarefas é provido como um conjunto de frequências globais do sistema. Sendo assim, todas as tarefas distribuídas por todo o sistema distribuído de nós interligados podem ser atribuídas a uma frequência de tarefa, selecionada dentre o conjunto de frequências de tarefas globais predeterminadas.
[0065] Em um exemplo, o conjunto de frequências globais predeterminadas do sistema pode ser selecionado de modo que todas as frequências dentro do conjunto provido de frequências globais predeterminadas do sistema formem um conjunto harmônico, ou seja, de modo que o período de tempo correspondente, que é o inverso de cada uma das frequências globais do sistema, seja um número inteiro múltiplo do menor período de tempo.
[0066] Em um exemplo, a frequência de tarefa de cada tarefa específica pode ser selecionada com base na frequência em que os dados de entrada são atualizados ou na frequência em que os dados de entrada subsequentes mudam de forma significativa em seu valor de parâmetro.
[0067] Em um exemplo, a frequência de tarefa de cada tarefa específica pode ser selecionada com base na frequência em que os dados de saída do processo são requeridos em outras partes do sistema.
[0068] Em um exemplo, a frequência de tarefa de cada tarefa específica pode ser selecionada com base em uma combinação de quantas vezes os dados de entrada são atualizados ou quantas vezes os dados de entrada subsequentes são alterados significativamente em seu valor de parâmetro e/ou quantas vezes os dados de saída do processo são necessários em outras partes do sistema.
[0069] Em um exemplo, cada um dos nós de sistema S1-S4 pode ser disposto de modo a implementar um protocolo de acesso de mídia acionado no tempo, tal como um protocolo baseado em um acesso múltiplo por divisão de tempo (protocolo TDMA), disposto de modo a restringir o acesso à rede 2. Cada nó de sistema S1-S4 pode transmitir pacotes de dados simultaneamente para a rede de acordo com o protocolo de acesso de mídia acionado no tempo. Cada elemento da rede 2, ou seja, os nós de sistema S1-S4, pode ser pré- atribuído a pontos predeterminados no tempo, ou seja, quando o mesmo deve transmitir mensagens e ainda pontos no tempo nos quais o mesmo poderá esperar o recebimento de mensagens. Os pontos no tempo predeterminados podem ser detectados por um software disposto em cada um dos nós de sistema S1-S4, tal como por um motor associado a um timer de interrupção programável.
[0070] Para ser capaz de executar a programação acionada no tempo, cada um dos nós de sistema pode ser disposto de modo a manter o tempo por meio de dispositivos de manutenção de tempo de hardware e/ou software locais ou uma combinação dos mesmos. O protocolo de acesso de mídia acionado no tempo pode ser definido por meio de uma programação de co-municação repetitiva, isto é, cíclica, compreendendo um ciclo de comunicação maior que compreende um conjunto de ciclos de comunicação menores, cada qual compreendendo um determinado número de slots de tempo. Na detecção do início de um slot de tempo, cada nó de sistema pode ser disposto de modo a transmitir sua uma ou mais mensagens de dados alocadas, uma após a outra.
[0071] Como um exemplo, cada período de tempo, tal como, por exemplo, cada período de tempo de 1 segundo pode ser configurado de modo a ser dividido em 20 slots de tempo de 50 ms igualmente dimensionados. Cada um dos 20 slots de tempo igualmente dimensionados pode ser provido com informações relacionadas à comunicação de dados. O ciclo de comunicação maior pode compreender um determinado número de ciclos menores, isto é, conjuntos dos ditos slots de tempo de 50 ms configurados. No caso de três ciclos menores serem configurados de maneira diferente com relação à informação provida para os respectivos slots de tempo relativos à comuni-cação de dados, neste caso o ciclo de comunicação maior correspondente é de 3 segundos de duração. Depois de o ciclo de comunicação maior ser completado, o mesmo poderá ser repetido indefinidamente ou até o desli-gamento do sistema.
[0072] Em um exemplo, cada nó de sistema S1-S4 pode ser provido com uma predeterminada programação de tráfego. A programação de tráfego predeterminada pode ser armazenada em uma porção de memória de uma memória associada a cada um dos respectivos nós de sistema S1-S4. A programação de tráfego fixa pode compreender uma ou mais tabelas de entradas que associam cada um dos slots de tempo a uma ou mais mensagens de dados correspondentes a transmitir em, pelo menos, um pacote de dados. Cada um dos nós de sistema S1-S4 conectado à rede 2 pode, por meio da programação de tráfego fixa, ser estaticamente alocado para zero ou mais pacotes de dados a transmitir em cada slot de tempo de uma série de slots de tempo subsequentes de acordo com o protocolo de acesso de mídia acionado no tempo.
[0073] Em um exemplo, a programação de tráfego predeterminada pode ser provida como parte do módulo de dados de configuração 40.
[0074] Em um exemplo, cada um dos nós de sistema S1-S4 conectados à rede 2 pode, por meio da predeterminada programação de tráfego, ser ainda alocado estaticamente para zero ou mais pacotes de dados a receber a partir da rede em cada slot de tempo de uma série de slots de tempo subsequentes de acordo com o protocolo de acesso de mídia acionado no tempo.
[0075] A programação correspondente pode, nesse caso, ser disposta de modo a determinar estaticamente qual nó específico S1-S4 transmite e/ou recebe qual mensagem de dados específica em qual ponto no tempo.
[0076] Em um exemplo, a programação de tráfego predeterminada pode ser disposta de modo a determinar qual nó específico S1-S4 transmite e/ou recebe quais mensagens de dados específicas associadas a qual uma ou mais partições específicas em qual ponto no tempo.
[0077] Em um exemplo, a programação de tráfego predeterminada pode ser disposta de modo a determinar qual nó específico S1-S4 transmite e/ou recebe quais mensagens de dados específicas associadas a qual uma ou mais tarefas específicas de qual partição específica em qual ponto no tempo.
[0078] Em um exemplo, a programação de tráfego predeterminada pode ser disposta de modo a determinar qual nó S1-S4 específico transmite e/ou recebe quais mensagens de dados específicas associadas as quais variáveis de dados específicas associadas a uma ou mais tarefas de qual partição específica em qual ponto no tempo.
[0079] Em um exemplo, as mensagens de dados podem ser transmiti- das para a rede 2.
[0080] Em um exemplo, as mensagens de dados podem ser multidifundidas para a rede 2.
[0081] Com referência aos desenhos e à Figura 7, é ilustrada uma configuração mais detalhada da rede 2 disposta de modo a interligar os nós de acordo com um exemplo da presente invenção. Para fins de ilustração, a configuração da rede 2 é representada como uma configuração compreen-dendo três nós S1-S3. O sistema de computação de aviônica distribuída compreende, no exemplo mostrado, um primeiro, um segundo e um terceiro nós de sistema S1-S3 dispostos em operação comunicativa por meio de uma pluralidade de enlaces de Ethernet bidirecionais L1-L6 em uma configuração dual redundante compreendendo dois comutadores SW2 e SW3 associados ao segundo e terceiro nós de sistema, respectivamente. Cada um dos dois comutadores SW2 e SW3 compreende quatro portas 1-4. Cada um dos nós de sistema compreende um processador 4A-4C disposto de modo a processar uma ou mais tarefas associadas com o fim de produzir uma ou mais mensagens de dados. Cada um dos processadores 4A-4C é acoplado a uma memória 3A-3C compreendendo instruções de processamento para a execução das ditas tarefas associadas. Os nós de sistema S1-S3 compreendem uma interface de barramento 6A-6C compreendendo um soquete de Ethernet e um controlador de Ethernet disposto de modo a prover um meio para a transmissão de mensagens de dados em um ou mais pacotes de dados de Ethernet. A interface de barramento 6A-6C de cada nó de sistema pode compreender ainda soquetes adicionais e controladores de modo a permitir um acoplamento em pelo menos um barramento secundário B1 por meio de enlaces de barramento BL1-BL3. O barramento secundário B1 pode ser um barramento MIL-STD-1553 que provê conexões com outras partes da rede, tais como em outros nós de sistema, sensores e/ou atuadores. O segundo e terceiro nós de sistema S2, S3 são providos com um processador de dados I/O (IOP) 7B, 7C. O processador IOP 7B, 7C do pelo menos um nó de sistema pode ser disposto de modo a ficar em conexão operativa com uma porção de uma memória compreendendo informações relativas à programação de dados de tráfego pré-configurada. O processador IOP 7B, 7C do pelo menos um nó de sistema é disposto de modo a ficar em conexão operativa, através da interface I/O 5A-5C, com uma ou mais porções da memória 3B-3C associadas às mensagens de dados providas a partir das tarefas. O processador IOP pode implementar esquemas de acesso à memória, tais como, por exemplo, o acesso direto à memória (DMA). O processador IOP 7B, 7C pode ser disposto de modo a controlar todas as transmissões de dados de entrada e saída a partir de um nó de sistema S1-S3 com base na programação de tráfego pré- configurada. O processador IOP 7B, 7C pode, por exemplo, ser disposto de modo a implementar serviços de timer, tais como, por exemplo, as interrupções periódicas a fim de acionar as operações cronometradas da interface de rede 6A-6C, de acordo com a programação de tráfego pré- configurada na provisão de unidades de dados associados a uma ou mais mensagens de dados provenientes de uma ou mais porções da memória associada 3B-3C para a rede. O processador IOP 7B, 7C pode ainda, por exemplo, ser disposto de modo a implementar serviços de timer no sentido de acionar operações cronometradas de acordo com a programação de tráfego pré-configurada na provisão dos dados recebidos a partir da rede para uma ou mais porções da memória associada 3B-3C. Os serviços de timer associados aos diversos nós de sistema podem ser cronometrados com base nos pacotes de dados de sincronização. O primeiro nó de sistema S1 é disposto de modo a realizar o controle de sua interface de barramento associada 6A, tal como, por exemplo, por meio de um módulo de software de entrada / saída armazenado na memória de programa 3A e programado de modo a ser periodicamente executado em seu nó de processamento associado S1. O módulo de software de entrada / saída é ainda disposto de modo a operar de acordo com a programação de tráfego pré-configurada.
[0082] A porta 4 dos comutadores SW2 e SW3 pode ser provida para a conexão de outros nós na rede 2, tal como, por exemplo, as conexões a partir do nó S4 para a rede 2.
[0083] A interface de barramento de cada nó de sistema S1-S3 pode ainda ser provida com uma ou mais conexões adicionais, tais como as conexões de um barramento secundário B1 por meio dos enlaces de barramento BL1-BL3. O barramento secundário B1 pode ser um barramento MIL-STD- 1553 que provê conexões com outras unidades além do nó S1-S3 conectado ao barramento secundário B1.
[0084] Em um exemplo, a rede de comunicação 2 pode ser uma rede de Ethernet, tal como, por exemplo, uma rede de Ethernet comutada disposta em modo de difusão, e os enlaces L1-L4 podem ser enlaces padrão de Ethernet, tais como os enlaces em conformidade com a especificação do padrão IEEE 803.2.
[0085] Deve-se entender que o exemplo com referência à Figura 7 pode ser configurado de forma diferente com relação aos comutadores, à configuração de memória e aos processadores associados. Por exemplo, cada nó de processamento S1-S3 pode compreender um processador IOP associado ou, de maneira alternativa, vários nós de processamento S1-S3 podem compartilhar o acesso a um único processador IOP.
[0086] Em um exemplo, com referência à Figura 8, uma programação de execução e de comunicação integrada 200, ou seja, uma programação de execução de sistema, é ilustrada. Cada quadro de tempo de execução menor 125 pode ser dividido em um certo número de slots de tempo 80A-80P que definem um período de barramento 130, também referido como o ciclo de comunicação menor. Durante o ciclo de comunicação menor 130, a primeira partição 50 e a segunda partição 60 podem ser dispostas de modo a serem executadas no primeiro nó S1 de acordo com os seus respectivos quadros de tempo de processamento alocados. A primeira tarefa 53, a quarta tarefa 62, e a quinta tarefa 63 podem ser dispostas de modo a produzir dados, determinados como necessários por outras partes acopladas à rede 2, tais como, por exemplo, as tarefas requeridas associadas aos outros nós S2-S4. A transmissão de mensagens de dados, compreendendo as unidades de dados a partir das tarefas, tais como as que compreendem os dados da primeira tarefa 53 e da quarta tarefa 62, pode ser iniciada por meio de um mecanismo acionador de tempo, que opera de acordo com a programação de execução de comunicação 200. No início do slot de tempo 80E, é iniciada uma primeira transmissão 140 de um primeiro pacote de dados 90 compreendendo as unidades de dados providas a partir da primeira tarefa 53. No início do slot de tempo 80M, é iniciada uma segunda transmissão 141 de um segundo pacote de dados 91 provido a partir da quarta tarefa 62. O processo de transmissão pode, em seguida, se repetir em períodos de barramento subsequentes, tal como repetido com uma terceira transmissão 142 de um terceiro pacote de dados 92 associado à primeira tarefa 53 e à quarta transmissão 143 de um quarto pacote de dados 93 associado à quinta tarefa 63. Em um exemplo, o processo de transmissão pode compreender a instrução de um software no sentido de transformar os dados a serem transmitidos em um formato de mensagem de dados adequado para a transmissão na rede 2, tal como transformar os dados em um pacote de Ethernet, também referido como um quadro de Ethernet, por meio de um acionador de Ethernet.
[0087] Deve-se notar que além do procedimento ilustrado com referência à Figura 8 relativo à disposição de mensagens a serem transmitidas em slots de tempo, também o procedimento inverso relativo ao recebimento e/ou recuperação de mensagens da rede pode também ser disposto em slots de tempo.
[0088] Em um exemplo, um determinado número de períodos de barramento, tais como o período de barramento 130, cada qual compreendendo um número igual de slots de tempo, pode formar em conjunto o ciclo de comunicação maior, no qual cada slot de tempo em cada período de bus pode ser disposto de modo a acionar uma ou mais combinações de transmissões na rede 2.
[0089] Em um exemplo, a duração do período de barramento 130 pode ser disposta de modo a corresponder à duração do quadro de tempo de execução menor, determinado a partir do tempo de período mais curto formado pelo inverso da frequência de tarefa maior do conjunto de frequências de tarefas globais de sistema.
[0090] Em um exemplo, o um ou mais quadros de execução menores 125 pode ser disposto de modo a ser dividido, cada um dos mesmos, em um certo número de slots de tempo, que variam de 4 a 128-slots de tempo, tais como, por exemplo, cada qual sendo dividido em 32 slots de tempo.
[0091] Em um exemplo, uma condição para a programação de tráfego fixo pode ser determinada de modo a evitar um excesso de slots de tempo, ou seja, uma situação na qual um nó começa a transmitir enquanto mensagens de dados de um slot de tempo precedente ainda se encontram presentes na rede 2. A condição pode, em um exemplo, ser implementada por meio da disposição da duração de cada um dos slots de tempo, ou seja, do intervalo de tempo entre dois slots de tempo consecutivos, de modo que a mesma seja substancialmente maior que o tempo que se leva para transmitir cada mensagem na rede 2, incluindo a quantidade máxima de retardo causado pela rede na transmissão de cada uma das mensagens, incluindo os procedimentos de tratamento de I/O nos nós S1-S4. Por meio do uso da condição disposta no sentido de evitar um excesso de slot de tempo, o desenho do sistema aviônico distribuído é capaz de limitar o retardo de transmissão de pior caso.
[0092] Ao considerar os requisitos de comunicação do cada um dentre os respectivos nós de sistema e as propriedades físicas da rede de comunicação 2, a programação de tráfego acionada no tempo pode ser determinada como não disponível (off-line).
[0093] A programação de tráfego predeterminada acionada no tempo específica pode ser determinada manualmente ou por meio de um software de programação executado em um computador. Depois de a programação de tráfego acionada no tempo ser determinada, a mesma poderá ser subse-quentemente transformada em uma instrução legível por computador, tal como compilada em um formato binário.
[0094] No caso em que uma ou mais tarefas são categorizadas como tarefas interdependentes, ou seja, tarefas que são dependentes de outras tarefas, tais como dependentes de uma relação precedente, a comunicação do resultado de uma ou mais tarefas processadas, ou seja, os valores de saída de tarefa e a execução de tarefas, precisa ser coordenada. A comunicação pode ser provida tanto entre diferentes tarefas dentro de uma partição ou da mesma partição referida como uma comunicação entre partições, como também entre as partições alocadas para um nó ou o mesmo nó e/ou entre as partições alocadas para diferentes nós S1-S4 referidas como uma comunicação inter partições. A fim de permitir a comunicação de dados entre as diferentes partições, cada partição pode ser provida com uma ou mais portas de amostragem e/ou enfileiramento acessíveis às tarefas associadas à partição. As portas de amostragem e/ou enfileiramento, ou seja, as portas lógicas, podem ser construídas durante o desenho de sistema do software de acordo com as especificações do documento ARINC 653. As portas de amostragem e/ou enfileiramento podem ser providas, cada uma das mesmas, com uma porção de memória única, tal como uma porção de memória única da memória 3 do respectivo nó S1-S4. Cada porta pode ser provida com um endereço de porta único para que os nós do sistema de computação de aviônica distribuída sejam capazes de identificar a porta correta na qual recuperar ou colocar as unidades de dados.
[0095] As portas de amostragem e/ou de enfileiramento podem, em um exemplo, ser associadas aos números de portas de um Protocolo de Datagrama de Usuário (UDP) a fim de identificar cada mensagem de dados e onde colocar as unidades de dados providos em cada uma das ditas mensagens de dados. Deste modo, o processador IOP e/ou a partição disposta de modo a controlar o tráfego de I/O de um nó de sistema S1-S4 poderá usar os números de porta de protocolo UDP a fim de identificar o local correto, ou seja, o endereço de memória, para a realização de operações de leitura e/ou escrita com relação às mensagens de dados e associadas a uma ou mais unidades de dados armazenados em um ou mais componentes de memória associados aos nós de sistema S1-S4.
[0096] O tempo de transmissão de pior caso WCT precisa ser considerado na determinação da programação de tráfego fixo. O tempo WCT pode ser referido como o tempo a partir de quando uma determinada unidade de dados é produzida no término de uma instância a partir de uma primeira ta-refa e está pronta para o transporte até o momento no qual a unidade de dados em particular foi transportada e está pronta para processamento por uma instância de uma segunda tarefa. O tempo de transmissão real pode variar ao longo do tempo com base na variação dos tempos de chegada ou de partida referidos como uma flutuação de fase provocada por comutadores, pelo processamento de entrada / saída e pela configuração de um meio físico de transmissão, etc. Os parâmetros que podem afetar o tempo WCT podem incluir, por exemplo, o tipo e o comprimento dos cabos ao longo do respectivo roteamento de pacotes de dados pretendido, e a diretiva e o de-sempenho do comutador com relação ao acesso à memória, à quantidade de tráfego de dados e à capacidade de processamento. O tempo WCT pode ser determinado de acordo com a seguinte equação. WCT = SP +PR1 + Sw +PR2 + RP - na qual SP se refere ao tempo que o respectivo nó de sistema S1-S4 leva para processar as operações relativas à transmissão de mensagens de dados, sendo que PR1 e PR2 se referem ao retardo de propagação infligido pela transmissão de sinais elétricos correspondentes aos pacotes de dados ao longo dos cabos para e a partir do comutador. Sw se refere ao retardo causado pelo enfileiramento e roteamento dos pacotes de dados no comutador. RP é o tempo que o respectivo nó de sistema S1-S4 leva para processar as operações relativas ao recebimento de pacotes de dados e à recuperação de mensagens de dados a partir dos ditos pacotes de dados.
[0097] Na Figura 9, uma programação de execução e comunicação integrada esquemática 300 é ilustrada de acordo com um exemplo da presente invenção. O primeiro nó S1 pode ser disposto de modo a executar a primeira tarefa periódica 53, a segunda tarefa 55 e a terceira tarefa alocada para a primeira partição 50. O segundo nó S2 pode ser disposto de modo a executar a quarta tarefa periódica 62, a quinta tarefa periódica 63, e uma sexta tarefa periódica 64 alocada para a segunda partição 60. Para fins de ilustração, apenas a segunda tarefa 55 e a quinta tarefa 63 estão envolvidas em uma comunicação de partição envolvendo a transmissão de pacotes de dados através da rede 2. A quinta tarefa 63 pode ser dependente dos dados de saída providos pela segunda tarefa 55. A segunda tarefa 55 pode ser disposta de modo a produzir os dados correspondentes aos dados posicionais em uma base de 40 Hz utilizando as informações providas por uma unidade de medição inercial (IMU). As informações, ou seja, os dados de unidade IMU 70, podem ser recebidas por meio de um barramento B1 que conecta a interface de barramento 6A do primeiro nó S1 à unidade IMU. Para o trans-porte das informações providas a partir da unidade IMU no barramento B1, é necessário um primeiro tempo de transação D1 de uma primeira linha de tempo 250 associada ao barramento B1. Uma primeira tarefa de I/O e/ou a operação de um primeiro por IOP 7A associada ao primeiro nó S1 pode ser disposta de modo a transferir os dados da unidade IMU recebida através da interface de barramento 6A para uma porta de entrada da primeira partição 50, tal como, por exemplo, uma porta de amostragem associada à primeira partição 50. Para o primeiro processador IOP 7A associado ao primeiro nó S1 a fim de realizar a tarefa ou a operação relacionada à transferência de dados, é necessário um segundo tempo de transação D2 de uma segunda linha de tempo 260 associada ao primeiro processador IOP 7A. Para o processamento dos dados da unidade IMU por meio da segunda tarefa 55 a fim de prover os dados posicionais, é necessário um terceiro tempo de transação D3, que é associado ao tempo WCET da segunda tarefa. Uma segunda tarefa de I/O do processador IOP 7A associada ao primeiro nó representado pela segunda linha de tempo 260 pode ser disposta de modo a recuperar, encapsular e transferir os dados posicionais 72 a partir da segunda tarefa 55 através da interface de barramento 6A para a rede 2 em um predeterminado slot de tempo 81B que requer um quarto tempo de transação D4. O transporte dos dados posicionais 72 encapsulados dentro de um pacote de dados 94 na rede 2 através de um ou mais comutadores para uma segunda interface de barramento 6B associada ao segundo nó S2 requer um quinto tempo de transação D5. Uma terceira tarefa de I/O de um segundo processador IOP 7B associado ao segundo nó S2 representado por uma segunda linha de tempo 261 pode ser disposta de modo a recuperar os pacotes de dados recebidos da rede, tais como o pacote de dados 94, e colocar os dados desencapsulados em uma porta de entrada da segunda partição 60, tal como uma porta de amostragem associada à segunda partição 60, as quais requerem um sexto tempo de transação D6. A quinta tarefa 63 pode ser disposta de modo a produzir uma saída correspondente a uma "mensagem de relatório de posição" em uma base de 40 Hz, com base nos dados posicionais recebidos a partir da segunda tarefa 55, os quais requerem um sétimo tempo
[0098] de transação D7, que é associado ao tempo WCET da quinta tarefa. Uma quarta tarefa de I/O e/ou uma operação do segundo processador IOP 7B representada por uma segunda linha de tempo 261 pode ser disposta de modo a recuperar, formatar e transferir periodicamente os dados processados correspondentes aos dados de relatório posicionais 73 a partir da tarefa 63 através da interface de barramento 613 para o barramento 131 para um segundo receptor designado, tal como, por exemplo, um transponder ADS-13 acoplado ao barramento 131, o que requer um oitavo tempo de transação D8. Os dados do relatório posicionais 73 da tarefa 63 podem ser recebidos pelo transponder ADS-13 através do barramento 131 após um nono tempo de transação D9 de uma primeira linha de tempo 251 que representa o tempo gasto no transporte no barramento 131. Deste modo, o tempo total representado pela soma de uma série de tempos de transação D1-D8 forma um tempo de transação de ponto a ponto, também referido como um retardo de comunicação ponto a ponto. A fim de garantir a chegada oportuna de retardo de dados, restrições podem ser aplicadas ao tempo de transação de ponto a ponto e/ou com relação ao tempo representado por um ou mais tempos de transação individuais ao construir a programação de execução e comunicação integrada 300.
[0099] Deve-se entender que o sistema de comunicação, com referência ao exemplo acima, incluindo as tarefas 53, 55, 56, 62, 63 e 64 descritas, cada uma das mesmas, com exigências específicas de sincronização, pode ser configurado de uma forma diferente. As diferenças podem incluir o número de tarefas, cada uma das tarefas podendo transmitir mais que uma mensagem de dados, e as tarefas podendo ser dependentes de mais de uma tarefa diferente ou de outro sistema conectado à rede 2.
[00100] Em um exemplo, o primeiro slot de tempo 80A de cada ciclo menor 130 pode ser atribuído a uma mensagem de dados de sincronização. O último slot de tempo 80P em cada um dos ciclos menores 130 pode ser configurado de modo a ser uma "banda morta", também referida como uma janela de recusa, a fim de prover a separação entre os ciclos menores subsequentes.
[00101] Em um exemplo, uma referência de tempo comum, também referida como o tempo de sistema aviônico local (AST), é provida. Para ser capaz de efetivamente implementar uma execução e comunicação acionadas no tempo através de todo o sistema aviônico distribuído, é importante que todos os nós S1-S4 tenham uma e a mesma visualização do tempo. A fim de manter substancialmente a mesma visualização do tempo de sistema entre os nós de sistema, um protocolo de sincronização pode ser implementado no sistema no sentido de sincronizar os dispositivos de manutenção de tempo local, tais como os relógios de hardware de cada nó S1-S4, ao tempo global de sistema AST.
[00102] Em um exemplo, mensagens de dados de sincronização que indicam o início do período de barramento podem ser enviadas em uma base cíclica a partir de um nó mestre, por exemplo, a partir de um computador de controle de vôo (FCC) responsável pelas operações críticas de segurança de vôo. As mensagens de dados de sincronização podem ser recebidas pelos nós de sistema por meio dos quais cada nó de recepção poderá usar a mensagem de sincronização a fim de detectar se o mesmo se encontra sincronizado e responder adequadamente, ou seja, iniciar o processamento de acordo com a sua programação de execução e comunicação predeterminada ou por meio da ressincronização do seu respectivo relógio local com base no conteúdo de tempo provido na mensagem de sincronização.
[00103] O nó mestre pode, em um exemplo, ser provido com um dispositivo de manutenção de tempo de alta qualidade, tal como um oscilador de cristal de alta qualidade, ou ser sincronizado com dispositivos de manutenção de tempo de alta qualidade externos, como, por exemplo, por meio do recebimento de pulsos PPS a partir dos relógios atômicos que compõem os Sistemas de Posicionamento Global (GPS). Este último recurso pode ser benéfico no caso de o sistema envolver nós e/ou unidades LRU:s que realizem cálculos que envolvem o posicionamento ou outros cálculos que são realizados com base em um valor de tempo global externo, tal como o tempo GMT.
[00104] Em um exemplo, os nós de sistema S1-S4 podem ser sincronizados em tempo utilizando o padrão IEEE 1588, que é um padrão para um protocolo de sincronização de relógio de precisão para os sistemas de medi-ção e controle em rede.
[00105] Em um exemplo, a inicialização do sistema pode implementar uma fase de inicialização até que todos os módulos se tornem síncronos. A fase de inicialização pode ser iniciada por meio da inicialização do sistema aviônico distribuído.
[00106] Em um exemplo, os nós de sistema S1-S4 podem ser dispostos de modo a operar com base em um protocolo de falha silenciosa. O protocolo de falha silenciosa se baseia no fato de que apenas os nós de sistema que são substancialmente sincronizados no tempo, ou seja, dentro de um nível de tolerância no que diz respeito ao tempo AST, podem ser dispostos de modo a transmitir mensagens de dados. Assim que cada um dos nós de sistema é capaz de voltar a sincronizar, os respectivos nós de sistema poderão ser capazes de transmitir suas mensagens de dados de acordo com a programação de execução. Isto significa que os efeitos de uma flutuação de fase de relógio local, uma oscilação, ou os efeitos resultantes de um procedimento de inicialização de sistema de cada nó de sistema não poderão afetar a transmissão de mensagens que se encontram fora de sincronização com relação à programação de execução predefinida.
[00107] Em um exemplo, o protocolo de falha silenciosa pode ainda ser disposto de modo a controlar a programação de execução das tarefas asso-ciadas a cada um dos nós. Como um exemplo, o protocolo de falha silenciosa pode suspender a execução de tarefas até que o respectivo nó no qual as tarefas residem seja apropriadamente sincronizado.
[00108] Em um exemplo, as tarefas pertencentes a partições que são alocadas para um nó que é determinado a ser sincronizado podem ser dispostas de modo a implementar os valores padrão predeterminados como valores de origem, ou seja, os valores de entrada no caso em que as respectivas tarefas a serem executadas são dependentes dos valores de saída ainda não computados ou dependentes de valores de saída computados pelas tarefas pertencentes às partições alocadas para um nó que é determinado de modo a não ser sincronizado, tal como durante a fase de inicialização.
[00109] Em um exemplo, o protocolo de sincronização pode ser disposto de modo a sincronizar todos os nós S1-S4, por exemplo, para dentro de um nível de tolerância de 1 a 20 microssegundos, tal como, por exemplo, 3 microssegundos.
[00110] Em um exemplo, a informação a ser provida para o módulo de dados de configuração 40 associado a cada um dos nós S1-S4 pode ser construída e/ou gerenciada por meio do uso de um conjunto de arquivos de configuração. O conjunto de arquivos de configuração pode prover a vários elementos do sistema de computador de aviônica distribuída informações de configuração relativas à programação, ao acesso à memória e à comunicação. O conjunto de arquivos de configuração pode, por exemplo, prover a informação ao sistema operacional OS e/ou à interface de hardware e/ou aos demais componentes dos respectivos nós de sistema S1-S4. A construção do conjunto de arquivos de configuração pode ser feita de várias maneiras, utilizando diferentes formas. Os arquivos de configuração podem estar, por exemplo, sob a forma de algumas declarações de dados de linguagem de programação, em geral, em uma forma de linguagem de marcação geral, tal como, por exemplo, na Linguagem de Marcação Extensível (XML), ou em algum formato proprietário baseado em texto.
[00111] Em um exemplo, o conjunto de arquivos de configuração pode ser construído utilizando ferramentas de desenvolvimento baseadas em modelos.
[00112] Em um exemplo, um primeiro subconjunto do conjunto de arquivos de configuração pode ser automaticamente gerado com base em um segundo subconjunto do conjunto de arquivos de configuração.
[00113] Os dados de configuração dos arquivos de configuração associados a um particionamento do conjunto de aplicativos e a outros atributos relacionados ao sistema OS podem posteriormente ser enlaçados ao e compilados com o código fonte associado, por exemplo, ao conjunto de aplicativos de modo a prover arquivos executáveis em um formato legível por máquina.
[00114] Em um exemplo, os arquivos de configuração podem ser compilados em um formato binário utilizando um compilador certificado de acordo com o documento RTCA DO-178B.
[00115] Em um exemplo, um subconjunto do conjunto de arquivos de configuração pode ser associado a uma implementação de acordo com o documento 653 ARINC associado a cada um dos nós S1-S4. O subconjunto de arquivos de configuração pode descrever as características de partições, suas interações, e suas exigências de tempo e recursos. Depois de o sub-conjunto dos arquivos de configuração ser carregado e processado, o sistema RTOS com base no documento ARINC 653 associado a cada um dos nós S1- S4 poderá prover o suporte comportamental de acordo com o documento ARINC 653 ao alocar a memória para as partições de sistema, ao definir as estruturas de proteção de memória, e ao alocar outros recursos de sistema.
[00116] Em um exemplo da presente invenção, dados de configuração adicionais podem ser construídos a partir de um conjunto de arquivos de configuração que compreendem um determinado número de subconjuntos de arquivos de configuração. Cada um dentre o subconjunto dos arquivos de configuração pode compreender um ou mais arquivos de configuração asso-ciados a um dentre um grupo que compreende a topologia do hardware de sistema, a topologia do software, as mensagens de dados, a sincronização do sistema e os aplicativos.
[00117] Em um exemplo, cada um dos arquivos de configuração do subconjunto de arquivos de configuração pode ser utilizado como dados de entrada para um conjunto de ferramentas operacionais. O conjunto de ferra-mentas operacionais pode ser disposto de modo a processar as informações extraídas de um ou mais dentre cada um dos arquivos de configuração de modo a prover automaticamente os dados de configuração adicionais relati-vos, por exemplo, à conectividade entre o conjunto de aplicativos.
[00118] Em um exemplo, o conjunto de ferramentas operacionais pode ser disposto de modo a prover dados de configuração legíveis por máquina associados à conectividade. Os dados de configuração legíveis por máquina associados à conectividade podem compreender instruções relativas ao trá-fego de I/O para o controle de vários mecanismos de I/O dispostos de modo a operar dentro do sistema de computador de aviônica distribuída, tal como, por exemplo, em pelo menos uma de partição de I/O ou no processador IOP 7C, o processador 7C sendo associado a um ou mais dentre cada um dos nós S1-S4.
[00119] Como resultado das operações do conjunto de ferramentas operacionais, a programação de tráfego pré-configurada poderá ser gerada automaticamente como indisponível (off-line) para cada um dos nós S1-S4, como uma descrição estática das transações de rede dentro de um período de barramento maior que é periodicamente repetido. A programação de tráfego pré-configurada é estaticamente determinada, ou seja, a mesma é pre-determinada a partir da alocação de cada uma dentre a uma ou mais men-sagens de dados para a pluralidade de slots de tempo de comunicação 80A- 80P quando cada uma dentre a uma ou mais mensagens de dados é enviada para a rede 2. É ainda predeterminado qual dentre a uma ou mais mensagens de dados compreende cada uma ou mais variáveis de dados. A programação de tráfego pré-configurada pode ser gerada por um sistema de computador de aviônica distribuída predeterminado com base nos arquivos de configuração que compreendem os dados de configuração associados à configuração do hardware e software.
[00120] As ferramentas operacionais podem, em um exemplo, ser im-plementadas como um software que opera em um ambiente de computador separado do sistema de computador de aviônica distribuída.
[00121] Em um exemplo, um ou mais dentre os nós S1-S4 pode com-preender uma construção em uma partição de teste disposta de modo a prover um meio para o monitoramento e manutenção do respectivo nó e ou do sistema aviônico distribuído.
[00122] Em um exemplo, um ou mais dentre os nós S1-S4 pode com-preender uma partição de detecção de condição de falha disposta de modo a detectar anomalias no sistema aviônico distribuído. Após a detecção de uma condição de falha em uma partição específica, a partição de detecção de condição de falha pode ser disposta de modo a comutar a execução da partição na qual a condição de falha é detectada para uma partição redundante que compreende um aplicativo de restauração (backup) que realiza substancialmente as mesmas funções do aplicativo original contido na partição com defeito.
[00123] Em um exemplo, a partição de detecção de condição de falha pode ser disposta de modo a detectar anomalias no sistema aviônico distribuído com relação a uma ou mais condições de falha no hardware. Após a detecção de uma ou mais condição de falha relativa ao hardware, a partição de detecção de condição de falha poderá ser disposta de modo a realizar uma ou mais comutações de modo, relativas à seleção, durante uma execução de sistema, de uma frequência de atualização de tarefas reduzida alternativa para um certo número de tarefas, resultando em uma utilização menor do sistema. O uso de um comutador de modo oferece ao sistema aviônico distribuído a capacidade de controlar a utilização dos recursos do sistema, tais como os recursos de processamento e memória, no caso de uma redução previamente detectada de recursos de sistema disponíveis devido a uma ou mais condições de falha de hardware.
[00124] Em um exemplo, com referência mais detalhada à Figura 7, o sistema de comunicação se baseia em duas redes paralelas idênticas, incluindo os dois comutadores SW2, SW3 e os enlaces de Ethernet, o que oferece dois canais de comunicação independentes entre cada um dos nós de sistema. Cada pacote de dados transmitido a partir de um nó de envio pode ser transmitido substancialmente em paralelo em ambos os canais. Como um exemplo, o primeiro nó de sistema S1 pode ser disposto de modo a transmitir seus pacotes de dados para ambos os canais. A interface de barramento 6C do terceiro nó, em seguida, recebe os pacotes de dados tanto por um primeiro canal de comunicação 6A-L1-SW2-L4 como também por meio de um segundo canal de comunicação 6A-L2-SW3-L6. Isto significa que cada nó de recepção recebe duas cópias de cada pacote de dados transmitido. O nó de recepção pode ser provido com um dispositivo de filtragem disposto de modo a filtrar as cópias dos pacotes de dados recebidos.
[00125] Em um exemplo, o nó de envio pode ser disposto de modo a prover uma marcação de sequência na mensagem de dados antes de transmitir o pacote de dados através da rede. Ao prover cada pacote de dados transmitido subsequente com um número de sequência de incremento, o dispositivo de filtragem poderá ser disposto de modo a filtrar as cópias por meio da detecção de um número de sequência de não incremento dos pacotes de dados recebidos. A fim de reduzir o número de bits em um pacote necessário para o número de sequência, o número de sequência de incremento pode ser submetido a uma mudança em um número de sequência predeterminado.
[00126] Em um exemplo, o dispositivo de filtragem pode ser disposto de modo a filtrar as cópias dos pacotes de dados com base no tempo de detec-ção de chegada. O filtro pode, nesse caso, ser disposto de modo a filtrar a cópia, descartando os pacotes de dados redundantes, tal como indicado pelo tempo de chegada.
[00127] Todos os pacotes de dados podem ser providos com uma soma de verificação no nó de envio S1-S4, tal como uma verificação de redundância cíclica (CRC) e/ou outro código de correção de erro (ECC). A soma de verificação pode ser verificada em um nó de recepção a fim de controlar a integridade dos dados recebidos.
[00128] Em um exemplo, os nós de sistema S1-S4 podem compreender, cada um dos mesmos, uma memória não volátil, um dispositivo de processamento de dados, tal como um microprocessador e uma memória de leitura / gravação. A memória não volátil tem uma primeira porção de memória, na qual um programa de computador, tal como, por exemplo, um sistema operacional, é armazenado a fim de controlar a função do sistema de computação de aviônica distribuída. Além disso, os nós de sistema S1-S4 compreendem um controlador de barramento, uma porta de comunicação serial, um meio de I/O, um conversor A/D, uma unidade de entrada e transmissão de data e hora, um contador de eventos, e um controlador de interrupção. A memória não volátil tem ainda uma segunda porção de memória.
[00129] Um programa de computador que compreende rotinas para o controle das funções do sistema de computação de aviônica distribuída é provido. O programa pode ser armazenado de uma forma executável ou em um estado comprimido em uma memória separada e/ou na memória de leitura / gravação.
[00130] Quando é indicado que o dispositivo de processamento de dados executa uma certa função, deve-se entender que o dispositivo de pro-cessamento de dados executa uma certa parte do programa que fica arma-zenada em uma memória separada, ou uma certa parte do programa que fica armazenada na memória de leitura / gravação.
[00131] O dispositivo de processamento de dados pode se comunicar com uma porta de dados por meio de um primeiro barramento de dados. A memória não volátil é adaptada para comunicação com o dispositivo de pro-cessamento de dados através de um segundo barramento de dados. A memória separada é adaptada de modo a se comunicar com o dispositivo de processamento de dados através de um terceiro barramento de dados. A memória de leitura / gravação é adaptada de modo a se comunicar com o dispositivo de processamento de dados através de um quarto barramento de dados.
[00132] Quando os dados são recebidos na porta de dados, os mesmos são temporariamente armazenados na segunda porção de memória. Quando os dados de entrada recebidos são temporariamente armazenados, o dispositivo de processamento de dados é configurado de modo a realizar a execução do código de uma forma tal como descrita acima. De acordo com um exemplo, os dados recebidos na porta de dados compreendem informações relativas aos valores de origem dos sensores ou aos valores de origem pré-processados a partir de outros nós programados para processamento e a partir do tempo de sistema de aviônica AST que provê os pontos corretos no tempo que se referem ao momento de se recuperar os valores de origem, ao momento de se processar os valores de origem e ao momento de se colocar os valores de saída, tal como determinado a partir da programação de execução de sistema estático pré-configurada compreendendo o barramento integrado, ou seja, a programação de comunicação e a programação de execução. Estas informações podem ser utilizadas pelos nós S1-S4, de modo a operar o sistema de computação de aviônica distribuída a fim de controlar pelo menos uma função de aviônica, tal como acima descrito.
[00133] Um exemplo da presente invenção se refere a um programa de computador que compreende um código de programa para a realização das etapas de método descritas com referência à Figura 10, quando o programa de computador é executado em um computador.
[00134] Um exemplo da presente invenção se refere a um produto de programa de computador que compreende um código de programa armaze-nado em um meio legível por computador para a realização das etapas de método descritas com referência à Figura 10, quando o programa de compu-tador é executado no computador.
[00135] Um exemplo da presente invenção se refere a um produto de programa de computador diretamente armazenável em uma memória interna de um computador, compreendendo um programa de computador para a realização das etapas de método descritas com referência à Figura 10, quando o programa de computador é executado no computador.
[00136] A Figura 10 ilustra esquematicamente um fluxograma de um método de acordo com um exemplo da presente invenção. Este exemplo se refere à operação do sistema de computação de aviônica distribuída a fim de controlar pelo menos uma função de aviônica.
[00137] Em uma primeira etapa de método S500, valores de entrada são providos, ou seja, cada nó de sistema é provido com as unidades de dados necessárias para o processamento de tarefas, a fim de prover uma ou mais unidades de dados associados ao controle da pelo menos uma função de aviônica. Os valores de entrada podem, por exemplo, corresponder aos valo-res de sensor obtidos periodicamente e/ou às unidades de dados providas por uma ou mais tarefas previamente processadas. Após a etapa de método s500, uma etapa de método subsequente S510 é realizada.
[00138] Na etapa de método S510, a sincronização dos nós de sistema é realizada. Isto significa que uma mensagem de sincronização é transmitida para a rede disposta de modo a prover informações de sincronização para os nós de sistema. Após a etapa de método S510, uma etapa de método subsequente S520 é realizada.
[00139] Na etapa de método S520, um conjunto repetitivo de quadros de processamento é gerado. Isto significa que um intervalo de tempo é repeti-damente detectado de modo a formar pontos fixos no tempo que definem os quadros de tempo de processamento 125 com base em um primeiro intervalo predeterminado, de acordo com um menor múltiplo comum (LCM) de um conjunto de períodos de tarefas globais e o pelo menos um sinal de início de ciclo. Após a etapa de método S520, uma etapa de método subsequente S530 é realizada.
[00140] Na etapa de método S530, pelo menos um conjunto de tarefas, ou seja, uma partição, é selecionado para ser processado. A pelo menos uma partição a ser processada é selecionada com base em uma programação de execução predeterminada que determina a sequência na qual se deve processar a partição dentro de cada quadro de tempo de processamento e a porção de tempo do quadro de processamento na qual se deve processar a partição. Após a etapa de método S530, uma etapa de método subsequente S540 é realizada.
[00141] Na etapa de método S540, é apresentada a ordem na qual se deve processar as tarefas associadas às partições selecionadas. A ordem na qual se deve processar as tarefas associadas às partições selecionadas é apresentada com base em uma taxa de processamento predeterminada, ou seja, na frequência associada a cada uma das tarefas. Cada uma das tarefas dentro de cada partição selecionada é em seguida processada em ordem decrescente de prioridade da dita taxa de processamento associada. As taxas de processamento predeterminadas são selecionadas a partir do conjunto de taxas de processamento global. Após a etapa de método S540, o método se finaliza em um exemplo e pode ser repetido a partir da etapa de método S500 a fim de realizar uma nova sessão de processamento de dados controlada.
[00142] Em outro exemplo, a etapa de método S530 é seguida por uma etapa de método subsequente S550 que é realizada. Na etapa de método S550, um conjunto de quadros de tempo de comunicação periódicos é gerado dentro de cada quadro de tempo de processamento gerado. Isto significa que cada quadro de tempo de processamento do conjunto repetitivo de quadros de tempo de processamento é dividido em um certo número de quadros de tempo de comunicação, ou seja, em slots de tempo. Os slots de tempo podem ser detectados com base em um segundo intervalo de tempo periódico predeterminado associado à duração dos slots de tempo, de acordo com a programação de tráfego predeterminada. Após a etapa de método S550, uma etapa de método subsequente S560 pode ser realizada.
[00143] Na etapa de método S560, um pacote de dados é transmitido para a rede de acordo com a programação de tráfego pré-configurada. Isto significa que os pacotes são transmitidos de acordo com uma tabela de sincronização predeterminada, ou seja, de acordo com uma programação de tráfego pré-configurada que aloca estaticamente para cada um dentre a pluralidade de slots de tempo um número predeterminado de pacotes de dados, cada qual compreendendo um subconjunto predeterminado de mensagens de dados a partir do dito conjunto de dados. Após a etapa de método S560, o método termina e pode ser repetido a partir da etapa de método S500 a fim de executar um novo processamento de dados controlado e sessão de transmissão.
[00144] Em um exemplo, na etapa de método S560, os pacotes de dados podem ser transmitidos ao longo de dois caminhos independentes formados na rede 2, tal como, por exemplo, a partir de um primeiro nó S1 através de um primeiro canal de comunicação 6A-L1-SW2-L4 e por meio de um segundo canal de comunicação 6A-L2-SW3-L6.
[00145] Em um exemplo, a etapa de método S530 compreende ainda a etapa de selecionar, dentro de cada um dos quadros de tempo de processamento gerados, pelo menos um conjunto de tarefas para processo em um quadro de tempo predeterminado dentro de cada um dos quadros de tempo de processamento e cada qual em um espaço de endereço de memória pre- determinado. Isto significa que a programação de execução de processo predeterminada opera de acordo com as especificações do documento ARINC 653.
[00146] Muitas modificações e variações tornar-se-ão evidentes aos praticantes versados na técnica sem se afastar do âmbito da presente invenção tal como definida nas reivindicações em apenso. Os exemplos foram escolhidos e descritos de modo a melhor explicar os princípios da presente invenção e as suas aplicações práticas, permitindo assim que outros versados na técnica venham a entender a presente invenção para vários exemplos e com várias modificações tal como adequado a um uso particular contemplado.

Claims (9)

1. Sistema aviônico distribuído disposto em um veículo aéreo (1) para o controle de pelo menos uma função da aviônica, o sistema compre-endendo: - uma pluralidade de subsistemas de processamento de aviônicos (S1-S4) interligados em uma rede (2), cada um dos subsistemas de processamento de aviônicos (S1-S4), compreendendo: - um meio de processamento (4), disposto de modo a processar pelo menos uma tarefa (53, 55-56, 62-63) a fim de prover um conjunto de mensagens de dados que compreende uma ou mais unidades de dados relacionados ao controle da pelo menos uma função da aviônica com base nos dados de entrada providos, relativos às condições da pelo menos uma função da aviônica, - um meio de memória (3) em conexão operativa com o meio de processamento (4) disposto de modo a armazenar instruções para o meio de processamento (4) a fim de processar a dita pelo menos uma tarefa, - sendo que pelo menos um dos subsistemas de processamento de aviônicos (S1-S4) é disposto de modo a transmitir pelo menos um sinal de início de ciclo de sincronização para a rede (2), - cada um dos subsistemas de processamento de aviônicos (S1- S4) é disposto de modo a gerar um conjunto repetitivo de quadros de tempo de processamento periódicos (125) por meio da detecção repetitiva de instantes de tempo subsequentes, com base em um primeiro intervalo prede-terminado e no pelo menos um sinal de início de ciclo, - cada um dos subsistemas de processamento de aviônicos (S1- S4) é disposto de modo a selecionar, dentro de cada um dos quadros de tempo de processamento gerados (125), pelo menos um conjunto de tarefas (50, 60) para processo, com base em uma instrução predeterminada (100), caracterizado pelo fato de que: - cada um dos subsistemas de processamento de aviônicos (S1- S4) é disposto de modo a selecionar a ordem na qual se deve processar cada qual dentre pelo menos uma tarefa (53, 55-56, 62-63) dentro de cada qual dentre o pelo menos um conjunto de tarefas selecionado (50, 60), com base em uma taxa de processamento predeterminada associada a cada qual dentre a pelo menos uma tarefa (53, 55-56, 62-63) determinada a partir de um conjunto de taxas de processamento global do sistema em ordem decrescente da dita taxa de processamento associada, - sendo que cada um dos subsistemas de processamento (S1- S4) é disposto de modo a gerar uma pluralidade de quadros de tempo de comunicação periódicos (80A-80P) por meio da detecção repetida de instan-tes de tempo subsequentes dentro de cada quadro de tempo de processamento gerado (125), com base em um segundo intervalo de tempo periódico predeterminado, e sendo que cada um dos subsistemas de processamento (S1- S4) compreende uma interface de rede (6) e uma unidade de controle de transmissão (7B, 7C) disposta de modo a controlar a interface de rede (6) a fim de realizar transmissões programadas de pacotes de dados, sendo que a dita unidade de controle de transmissão (7B, 7C) é provida com um acesso ao meio de memória compreendendo informações de instrução de execução relativas a uma tabela de sincronização que estaticamente aloca para a dita pluralidade de quadros de tempo de comunicação (80A-80P) um número predeterminado de pacotes de dados, cada qual compreendendo um subconjunto predeterminado de mensagens de dados a partir do dito conjunto de mensagens de dados.
2. Sistema aviônico distribuído, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos uma das tarefas (53, 55-56, 62-63) dentro de pelo menos um conjunto de tarefas (50, 60), alocado para pelo menos um dos subsistemas de processamento de aviônicos (S1-S4) dentre a pluralidade de subsistemas de processamento de aviônicos (S1-S4), é disposta de modo a ser dependente de pelo menos uma dentre uma ou mais unidades de dados providos por pelo menos uma tarefa previamente processada (53, 55-56, 6263) alocada para um subsistema de processamento de aviônico diferente (S1-S4) dentre a pluralidade de subsistemas de processamento de aviônicos (S1-S4) a fim de prover uma ou mais unidades de dados relacionados ao controle da pelo menos uma função da aviônica.
3. Sistema aviônico distribuído, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de instrução de execução se baseia em determinadas restrições de retardo de comunicação ponto a ponto associadas à comunicação das mensagens de dados entre os processos alocados para diferentes nós de sistema diferentes (S1-S4).
4. Sistema aviônico distribuído, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de instrução de execução é configurada de modo a impedir o excesso de quadros de tempo de comunicação, sendo que pelo menos um dos pacotes de dados é transportado na rede para uma pluralidade de quadros de tempo de comunicação consecutivos.
5. Sistema aviônico distribuído, de acordo com qualquer uma das reivindicações precedentes, caracterizado pelo fato de que cada um dos subsistemas de processamento de aviônicos (S1-S4) é disposto de modo a selecionar, dentro de cada um dos quadros de tempo de processamento gerados (125), pelo menos um conjunto de tarefas para processo, com base em uma sequência predeterminada de conjuntos de tarefas, e compreende ainda a seleção, dentro de cada um dos quadros de tempo de processamento gerados, de pelo menos um conjunto de tarefas para processo em um quadro de tempo predeterminado, cada qual (120, 121) em um espaço de endereço de memória predeterminado.
6. Método de operação de um sistema aviônico distribuído para o controle de pelo menos uma função da aviônica, o método compreendendo as etapas de: - prover dados de entrada relacionados às condições da pelo menos uma função da aviônica, - prover os dados de entrada para a unidade de memória (3) dos subsistemas de processamento (S1-S4) para posterior processamento por pelo menos uma tarefa (53, 55-56, 62-63), a fim de prover uma mensagem de dados compreendendo uma ou mais unidades de dados relativos ao controle da pelo menos uma função da aviônica, - sincronizar os subsistemas de processamento de aviônicos (S1-S4) no tempo por meio da geração de pelo menos um sinal de início de ciclo para a rede (2), - sendo que o método compreende as etapas adicionadas de, em cada um dos subsistemas de processamento (S1-S4): - gerar um conjunto repetitivo de quadros de tempo de proces-samento periódicos (125) por meio da detecção repetida de instantes de tempo subsequentes, com base em um primeiro intervalo predeterminado e no pelo menos um sinal de início de ciclo, - selecionar, dentro de cada um dos quadros de tempo de pro-cessamento gerados (125), pelo menos um conjunto de tarefas (50, 60) para processo, com base em uma instrução predeterminada (100), - selecionar a ordem na qual se deve processar cada qual dentre pelo menos uma tarefa dentro de cada qual dentre o pelo menos um conjunto de tarefas selecionado, com base em uma taxa de processamento predeterminada associada a cada qual dentre a pelo menos uma tarefa, determinada a partir de um conjunto de taxas de processamento global do sistema em ordem decrescente da dita taxa de processamento associada, - sendo que o método é caracterizado pelas etapas adicionadas de, em cada um dos subsistemas de processamento (S1-S4): - gerar um conjunto de quadros de tempo de comunicação periódicos (80A-80P) por meio da detecção repetida de instantes de tempo subsequentes dentro de cada quadro de tempo de processamento gerado (125), com base em um segundo intervalo de tempo periódico predeterminado, - realizar transmissões programadas de pacotes de dados, com base nas informações de instrução relativas a uma tabela de sincronização que aloca estaticamente para cada qual dentre a pluralidade dos ditos quadros de tempo de comunicação periódicos (80A-80P) um número predeterminado de pacotes de dados, cada qual compreendendo um subconjunto predeterminado de mensagens de dados a partir do dito conjunto de mensagens de dados.
7. Método, de acordo com a reivindicação 6, caracterizado pela etapa adicional de: - transmitir os pacotes de dados ao longo de dois caminhos in-dependentes formados na rede (2), com base em uma pluralidade de meios de controle de tráfego (SW2, SW3).
8. Método, de acordo com qualquer uma das reivindicações 6 ou 7, caracterizado pela etapa de, em cada um dos subsistemas de processamento (S1-S4): - selecionar, dentro de cada um dos quadros de tempo de pro-cessamento gerados (125), pelo menos um conjunto de tarefas para processo, com base em uma sequência predeterminada de conjuntos de tarefas, compreendendo ainda a etapa de selecionar, dentro de cada um dos quadros de tempo de processamento gerados, pelo menos um conjunto de tarefas para processar um quadro de tempo predeterminado, cada qual (120, 121) em um espaço de endereço de memória predeterminado.
9. Meio de armazenamento legível por computador, caracterizado pelo fato de compreender instruções legíveis por computador que, quando executadas em pelo menos um processador, fazem com que pelo menos um processador realize as etapas de método como definido em qualquer uma das reivindicações 6 a 8.
BR112012031826-8A 2010-06-17 2010-06-17 Sistema aviônico distribuído, método de operação de um sistema aviônico distribuído e meio de armazenamento legível por computador BR112012031826B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2010/050683 WO2011159209A1 (en) 2010-06-17 2010-06-17 Distributed avionics

Publications (2)

Publication Number Publication Date
BR112012031826A2 BR112012031826A2 (pt) 2021-12-21
BR112012031826B1 true BR112012031826B1 (pt) 2022-05-17

Family

ID=45348413

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012031826-8A BR112012031826B1 (pt) 2010-06-17 2010-06-17 Sistema aviônico distribuído, método de operação de um sistema aviônico distribuído e meio de armazenamento legível por computador

Country Status (5)

Country Link
US (1) US8543263B2 (pt)
EP (1) EP2583437B1 (pt)
BR (1) BR112012031826B1 (pt)
IL (1) IL223287A (pt)
WO (1) WO2011159209A1 (pt)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122159B2 (en) 2009-01-16 2012-02-21 Allegro Microsystems, Inc. Determining addresses of electrical components arranged in a daisy chain
FR2943036B1 (fr) * 2009-03-11 2011-04-15 Airbus France Systeme distribue de commande de vol implemente selon une architecture avionique modulaire integree.
US9137038B1 (en) * 2012-08-30 2015-09-15 Rockwell Collins, Inc. Integrated modular avionics system with distributed processing
US9755857B2 (en) 2012-12-03 2017-09-05 Selex Es S.P.A. Avionic ethernet network and method of transmitting blocks of data in the network
FR2999368B1 (fr) 2012-12-07 2018-05-18 Safran Electronics & Defense Sas Dispositif d'entrees sorties transferant et/ou recevant des donnees a un dispositif de controle.
US9380466B2 (en) 2013-02-07 2016-06-28 Commscope Technologies Llc Radio access networks
US9414399B2 (en) * 2013-02-07 2016-08-09 Commscope Technologies Llc Radio access networks
US20140282572A1 (en) * 2013-03-14 2014-09-18 Samsung Electronics Co., Ltd. Task scheduling with precedence relationships in multicore systems
JP6127718B2 (ja) 2013-05-27 2017-05-17 コニカミノルタ株式会社 放射線画像撮影システムおよび放射線画像撮影装置
US9787495B2 (en) 2014-02-18 2017-10-10 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9172565B2 (en) * 2014-02-18 2015-10-27 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9634715B2 (en) 2014-02-18 2017-04-25 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9639401B1 (en) * 2014-05-08 2017-05-02 Rockwell Collins, Inc. Multicore adaptive scheduler
CA3167284A1 (en) 2014-06-09 2015-12-17 Airvana Lp Radio access networks
DE102014019531A1 (de) * 2014-12-23 2016-06-23 Liebherr-Aerospace Lindenberg Gmbh Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug sowie Steuerungskomponente
US9405515B1 (en) * 2015-02-04 2016-08-02 Rockwell Collins, Inc. Computing systems utilizing controlled dynamic libraries and isolated execution spaces
FR3034272B1 (fr) * 2015-03-26 2017-04-21 Airbus Operations Sas Reseau de communication et nœud de communication d'un reseau de communication
CN105991371A (zh) * 2015-04-16 2016-10-05 杭州迪普科技有限公司 一种故障检测方法及装置
US9788085B2 (en) * 2015-04-29 2017-10-10 The Boeing Company System and method of determining network locations for data analysis in a distributed ecosystem
US9983902B2 (en) * 2015-05-14 2018-05-29 General Electric Company System and method for multi-level real-time scheduling analyses
US9986036B2 (en) * 2015-07-16 2018-05-29 Ge Aviation Systems, Llc Apparatus and method of operating a system
KR101708398B1 (ko) * 2015-08-12 2017-03-08 전자부품연구원 프로파일 네트워크 상에 있는 네트워크 단말의 동기화 방법 및 이를 수행하는 네트워크 장치
US10019292B2 (en) * 2015-12-02 2018-07-10 Fts Computertechnik Gmbh Method for executing a comprehensive real-time computer application by exchanging time-triggered messages among real-time software components
US10715350B2 (en) 2016-09-19 2020-07-14 Simmonds Precision Products, Inc. Automatic addressing of networked nodes
US10608840B2 (en) 2016-09-19 2020-03-31 Simmonds Precision Products, Inc. Automatic addressing of networked nodes
EP3388939A1 (de) * 2017-04-13 2018-10-17 TTTech Computertechnik AG Verfahren zur reduzierung der antwortzeit in einem zeitgesteuerten betriebssystem
US10447588B1 (en) * 2017-06-28 2019-10-15 Rockwell Collins, Inc. Decentralized integrated modular avionics (IMA) processing
US11139992B1 (en) * 2017-10-30 2021-10-05 Rockwell Collins, Inc. Systems and methods for remotely powered data concentrators for distributed IMA system
US10747708B2 (en) 2018-03-08 2020-08-18 Allegro Microsystems, Llc Communication system between electronic devices
US11192662B2 (en) 2018-11-13 2021-12-07 Kidde Technologies, Inc. Aircraft integrated modular avionics inter-partition communications simulation modeling language extension
DE102019215058A1 (de) * 2019-09-30 2021-04-01 Airbus Operations Gmbh Avioniknetzwerk mit synchronisationsdomänen und verfahren zum synchronisieren von netzwerkteilnehmern in einem avioniknetzwerk
DE102022115421A1 (de) * 2022-06-21 2024-01-11 Focke & Co. (Gmbh & Co. Kg) Maschine sowie Verfahren zum Betrieb derselben

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3738624B2 (ja) 1999-10-26 2006-01-25 日本電気株式会社 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体
US20020144010A1 (en) 2000-05-09 2002-10-03 Honeywell International Inc. Communication handling in integrated modular avionics
WO2003029922A2 (en) * 2001-10-01 2003-04-10 Kline & Walker, Llc Pfn/trac system faa upgrades for accountable remote and robotics control
US7788667B2 (en) * 2005-04-22 2010-08-31 Gm Global Technology Operations, Inc. Extensible scheduling of tasks in time-triggered distributed embedded systems
US7788673B2 (en) 2005-09-12 2010-08-31 Honeywell International Inc. Method and system for generating a static partition scheduling timeline with reduced context switching overhead
FR2891069B1 (fr) 2005-09-16 2007-11-09 Thales Sa Procede de controle du bon fonctionnement d'un calculateur
FR2936068B1 (fr) * 2008-09-15 2013-01-11 Airbus France Procede et dispositif d'encapsulation d'applications dans un systeme informatique pour aeronef.

Also Published As

Publication number Publication date
EP2583437A4 (en) 2013-12-18
EP2583437B1 (en) 2015-07-29
IL223287A (en) 2017-11-30
IL223287A0 (en) 2013-02-03
WO2011159209A1 (en) 2011-12-22
BR112012031826A2 (pt) 2021-12-21
US20130138271A1 (en) 2013-05-30
EP2583437A1 (en) 2013-04-24
US8543263B2 (en) 2013-09-24

Similar Documents

Publication Publication Date Title
BR112012031826B1 (pt) Sistema aviônico distribuído, método de operação de um sistema aviônico distribuído e meio de armazenamento legível por computador
US9172589B2 (en) Method for configuring a distributed avionics control system
Kopetz et al. The time-triggered architecture
EP2591419B1 (en) Simulating and testing avionics
US20170149518A1 (en) Interface Device and Method for Exchanging User Data
US20130170498A1 (en) Ethernet for avionics
EP2705426B1 (en) Configurable input/output processor
Kopetz Time-triggered real-time computing
Kopetz Time-triggered real-time computing
Al-Nayeem et al. Middleware design for physically-asynchronous logically-synchronous (pals) systems
Groothuis Distributed HIL simulation for Boderc
Krüger et al. A network controller interface for a time-triggered protocol
Thibodeaux The specification and implementation of a model of computation
Jakovljevic et al. Embedded cloud computing for critical systems
Sax et al. Towards COTS component synchronization for low SWaP-C flight control systems
Obermaisser et al. Event-triggered versus time-triggered real-time systems: A comparative study
Kaya Implementation and evaluation of the dynamic distributed real time industrial protocol (D²RIP)
Xu et al. Self-adaptive algorithm for asynchronous multi-task communication on time-triggered avionics system
Yalçın Clock synchronization algorithms on a software defined can controller: Implementation and evaluation
Klobedanz Towards the design of fault-tolerant distributed real-time systems
Al-Nayeem Physically-asynchronous logically-synchronous (PALS) system design and development
Gonçalves Partition Scheduling in Distributed Integrated Modular Avionics
Grigg Reservation-Based Timing Analysis (A Partitioned Timing Analysis Model for Distributed Real-Time Systems)
Hemingway Time-triggered high-confidence embedded systems: Modeling, simulation, analysis and back
Obermaisser A model-driven framework for the generation of gateways in distributed real-time systems

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 29/08 , G06F 19/00 , G06F 9/48 , G08G 5/00

Ipc: H04L 29/08 (2006.01), G06F 9/48 (2006.01)

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 17/06/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.