Português  ::   English
::DoRiS

:: DESCRIÇÃO

O projeto DoRiS teve por principal objetivo o desenvolvimento de um protocolo de comunicação para ambientes industriais baseado em Ethernet. As aplicações que podem se beneficiar do uso de DoRiS são principalmente aquelas compostas de dispositivos heterogêneos e distribuídos que têm restrições temporais de natureza críticas e não-críticas. Utilizando DoRiS, tais sistemas podem utilizar o mesmo barramento Ethernet de forma eficiente e previsível. A utilização do barramento Ethernet foi otimizada através da alocação apropriada da banda disponível para os tipos de comunicação de tempo real e de melhor esforço. Além disso, o protocolo, compatível com os dispositivos Ethernet comuns, define um controle descentralizado do acesso ao meio que garante flexibilidade e confiabilidade à comunicação.

De forma mais específica, este projeto propôs o desenvolvimento de um software inovador e de código livre, atendendo os seguintes requisitos:

(a) Ser compatível com o protocolo Ethernet 802.3;
(b) Integrar sistemas de automação com requisitos temporais críticos com sistemas de propósito geral;
(c) Prover garantias temporais e tolerância a falhas, aspectos necessários aos sistemas críticos;
(d) Garantir o isolamento temporal entre os diversos tipos de aplicações.
(e) Ser possivelmente ampliado para redes sem fios.

Um objetivo importante do projeto foi seguir uma metodologia de desenvolvimento que garantisse a correção do produto de Software realizado. Para tal efeito, o protocolo foi especificado formalmente e sua correção foi atestada automaticamente através de um verificador de modelo. Baseado nesta especificação, um protótipo foi realizado numa plataforma operacional de tempo real. Finalmente, testes foram realizados para confirmaram a capacidade do protocolo em atender os objetivos definidos na sua proposta.

:: RESULTADOS

O protocolo DoRiS foi especificado formalmente em TLA+ (Temporal Logic of Actions) e várias propriedades temporais do protocolo foram verificadas pelo verificador de modelos TLC (Temporal Logic Checker). Especificar o protocolo em TLA+ permitiu adquirir uma compreensão precisa do sistema e das suas funcionalidades, antes de partir para a fase de implementação.

A implementação do protocolo DoRiS se beneficiou da especificação formal, que foi utilizada como base para o trabalho de codificação. Apesar de a escolha de usar uma plataforma já existente ter impossibilitado, em parte, um melhor aproveitamento da especificação, pois a codificação do protocolo teve que seguir o padrão da plataforma, chegou-se à conclusão que a fase de especificação facilitou várias decisões importantes tomadas durante a fase de implementação do protocolo.

Para o desenvolvimento deste projeto, uma plataforma de Tempo Real baseada no Sistema Operacional de Propósito Geral - Linux foi escolhida. As principais motivações para tal escolha foram a boa divulgação deste sistema de código aberto nas comunidades de pesquisa e a existência de extensões de tempo real para Linux. Algumas destas extensões foram apresentadas e experimentos foram realizados para medir as latências de interrupção e ativação de tarefas de tempo real. Os resultados experimentais obtidos permitiram confirmar a viabilidade do uso destes ambientes operacionais para desenvolver DoRiS. Em particular, as plataformas de código aberto RTAI e Xenomai / Linux apresentaram propriedades temporais satisfatórias, conseguindo garantir o escalonamento de tarefas de tempo real com tempos de latências abaixo de 20 microsegundos.

A implementação de DoRiS foi então realizada na plataforma Xenomai / Linux, podendo ser facilmente transportada para a plataforma RTAI / Linux. A pilha de rede determinista RTnet, já desenvolvida para estas duas plataformas, foi aproveitada, e DoRiS foi inserido, sob a forma de uma nova disciplina desta pilha. Devido à complexidade do desenvolvimento de um protocolo de rede determinista num ambiente operacional tal como Xenomai / Linux, a implementação foi inicialmente limitada a uma versão simplificada de DORiS, sem o mecanismo de reserva. No entanto, um mecanismo de configuração dinâmica do anel não-crítico foi desenvolvido para diminuir a sobrecarga gerada pela transmissão de mensagens de controle. Num segundo tempo, o mecanismo de reserva vem sendo implementado.

O protótipo de DoRiS, com sua estrutura operacional em dois anéis, foi utilizado para realizar alguns experimentos que confirmaram a capacidade do protocolo DoRiS atender requisitos de sistemas híbridos, compostos de aplicações com requisitos temporais críticos e não-críticos. Em particular, os experimentos mostraram que DoRiS consegue garantir determinismo para as mensagens críticas e taxas de transmissões altas para a comunicação não-crítica. Os mesmos experimentos realizados com a pilha RTnet, sem disciplina de acesso ao meio, provocaram desvios significativos nos tempos de recepção das mensagens críticas e perdas de mensagens não-críticas.

:: EQUIPE

George Lima (coordenador)
Luciano Barreto (colaborador,
LaSiD/DCC/UFBA)
Ana Carolina Sokolonski (bolsista ITEC,
LaSiD/DCC/UFBA)
Paul Regnier (ex-bolsista ITEC,
LaSiD/DCC/UFBA)
Antônio Marcos (ex-bolsista de iniciação científica,
LaSiD/DCC/UFBA)
José Augusto (bolsista de iniciação científica,
LaSiD/DCC/UFBA)

:: PUBLICAÇÕES


Evaluation of Interrupt Handling Timeliness in Real-Time Linux Operating Systems
Paul Regnier, George Lima e Luciano Barreto
ACM SIGOPS Operating Systems Review (Accepted), 2008.
A TLA+ formal specification and verification of a new real-time communication protocol
Paul Regnier, George Lima e Aline Andrade
In Proc. of SBMF 2008. Accepted.
Salvador, Bahia, Brasil
Avaliação do determinismo temporal no tratamento de interrupções em plataformas de tempo real Linux
Paul Regnier, George Lima e Luciano Barreto
Proc. of Workshop of Sistemas Operacionais, Julho 2008
Belém, Brasil.

Dynamic Reconfiguration for Adaptive Multiversion Real-Time Systems
George Lima, Ana Carolina Sokolonski e Eduardo Camponogara
Anais do 20th Euromicro Conference on Real-Time Systems (ECRTS 08), 2008
Praga, República Tcheca.

Online Schedulability Tests for Real-Time Systems
George Lima, Ana Carolina Sokolonski e Eduardo Camponogara
Anais do 10th Brazilian Workshop on Real-Time and Embedded Systems (WTR 2008), 2008.
Rio de Janeiro, Brasil.

A Priority-Based Consensus Protocol
George Lima and Alan Burns.
Anais do XXV Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC 2007),
2007. Belém, Brasil.

Suporte à Degradação Controlada em Sistemas de Tempo Real
Ana Carolina Sokolonski, George Lima e Luciano Porto Barreto
Anais do VIII Workshop de Teste e Tolerância a Falhas (WTF 2007), 2007.
Belém, Brasil.

Deterministic Integration of Hard and Soft Real-Time Communication over Shared-Ethernet
Paul Regnier and George Lima. In Anais do VII Workshop Brasileiro de Tempo Real.
Curitiba. 2006. p. 11-18. 2006.

Avaliando o Uso de Servidores para Tarefas Aperiódicas para fins de Tolerância a Falhas em Sistemas
Ana Carolina Sokolonski e George Lima
In IV WTICG (Trabalho de Conclusão de Curso)- ERBASE 2006.
Aracajú. 2006. p. 1-13.



Dissertação de Mestrado:


Título: Especificação formal, Verificação e Implementação de um protocolo de comunicação determinista, baseado em Ethernet
UFBA – abril 2008
Orientado: Paul Regnier
Banca: Pr. Doutor George Marconi Lima (Orientador), Pr. Doutor Carlos Montez (Examinador Externo), Prof. Dr. Flávio Morais de Assis Silva (Examinador PPGM).


Título: Reconfiguração Dinâmica em Sistemas de Tempo Real Adaptativos
UFBA – julho 2008
Orientada: Ana Carolina Sokolonski Ferreira
Banca: Pr. Doutor George Marconi Lima (Orientador), Pr. Doutor Daniel Mossé (Examinador Externo), Prof. Dr. Raimundo José de Araújo Macêdo (Examinador PPGM).


Monografia de final de curso:


Título: Implementação de um protocolo de comunicação para sistemas de tempo real por meio da arquitetura RTnet
UFBA – Julho 2008
Orientado: Antônio Marcos Lopez Fernandez Carianha – Orientador: Pr. Doutor George Marconi Lima – Banca : Prof. Me Paul Denis Etienne Regnier (Co-orientador), Prof. Dr. Raimundo José de Araújo Macêdo (UFBA), Prof. Dr. Luciano Porto Barreto



LaSiD - Laboratório de Sistemas Distribuídos
UFBA - Universidade Federal da Bahia
Av. Adhemar de Barros, s/n - Campus de Ondina, Prédio do CPD
Salvador, Bahia, Brasil - CEP 40170-110
Tel.: +55 71 3283 6142 Fax: +55 71 3283 6145 Email: lasid@ufba.br