• Aucun résultat trouvé

ADDRESS REGISTER (BAR)

Dans le document SERIES 200 (Page 70-81)

ICg~EI A ADDRESS B ADDRESS INSTRUCTION

B- ADDRESS REGISTER (BAR)

Nesse capítulo, a arquitetura de um sistema para o gerenciamento de times de robôs é especificada. Ela é dividida em componentes com funcionalidades bem definidas. O principal objetivo é oferecer um sistema flexível e modular do ponto de vista da configu- ração de times de robôs, além de possibilitar uma utilização mais rápida e fácil do ponto de vista do usuário final.

Os padrões e tecnologias encontrados na literatura oferecem boas abordagens de mo- delagem e implementação para sistemas multi-robôs. Porém, consideramos que elas adi- cionam certa complexidade ao sistema que buscamos desenvolver nesse trabalho.

Dessa forma, a criação da arquitetura do sistema proposto compreende um conjunto de definições de características e comportamentos usando descrições narrativas e repre- sentações gráficas. O objetivo é apresentar o sistema de uma maneira mais conceitual, sem se prender a nenhuma tecnologia de desenvolvimento.

A comunicação entre os componentes do sistema é extremamente importante. Assim sendo, mostramos os eventos que compõem a comunicação de cada componente com o núcleo do sistema. Na representação gráfica utilizada, apresentamos a sequência de eventos que ocorrem na comunicação entre os componentes nos cenários mencionados.

Dessa forma, entendemos que a arquitetura do sistema proposto permite que novas características sejam agregadas ao estado da arte no desenvolvimento de software para sistemas multi-robôs. Cada componente possui uma interação diferenciada com o núcleo do sistema, possibilitando a busca por mecanismos de implementação que promovam essa interação de forma mais flexível, respeitando as especificidades de cada componente.

4.2. RESUMO DAS CARACTERÍSTICAS DA ARQUITETURA DE SISTEMA 39

rios ao sistema. Por exemplo, o componente de interação com usuário final permite que especialistas em engenharia de usabilidade possam formular mecanismos para simplificar o acesso de um usuário final ao sistema. Da mesma forma ocorre com o componente de programação de times. Esse componente permite que especialistas em padrões de pro- gramação possam estabelecer qual mecanismo flexibilizará o acesso de um programador ao sistema. Ou seja, a separação das funcionalidades em componentes oferece essa se- paração clara de interesses. Contudo, a nível global de sistema essa funcionalidades se complementam.

No próximo capítulo, mostramos o passo a passo da implementação da arquitetura do sistema. O objetivo é desenvolver uma aplicação que funcione de acordo com os conceitos apresentados. Vale salientar que se trata de uma implementação da arquitetura. Outros padrões e tecnologias de software podem ser usados por outros pesquisadores que desejem fazer uso das funcionalidades apresentadas.

Capítulo 5

Implementação da Arquitetura de

Sistema

A apresentação do modelo arquitetural, seus componentes e funcionalidades forma um alicerce importante para o desenvolvimento do sistema e do método de programação e disponibilização de times de robôs, usando uma estratégia de aquisição de dados para auxiliar o processo de configuração desses times.

O presente capítulo tem por objetivo mostrar o processo de desenvolvimento de um software que atua entre os robôs e os usuários do sistema. A intenção é ter uma aplica- ção que é inspirada nos conceitos da arquitetura do sistema descritos no capítulo anterior. Dessa maneira, é possível construir vários cenários práticos de utilização do sistema pro- posto para o gerenciamento de times de robôs.

Tal processo contempla a apresentação das etapas, tecnologias e ferramentas utilizadas para implementar as características do sistema proposto como: as funcionalidades de cada componente, o mecanismo de comunicação entre o núcleo e os demais componentes, as operações realizadas na base de conhecimento e as interações dos usuários com o sistema. É importante mencionar que se trata da primeira versão do software que gerencia ti- mes de robôs. Todas as escolhas em relação a tecnologias e ferramentas de programação são consideradas satisfatórias para a validação dos conceitos da arquitetura proposta. No entanto, nada impende que em breve novas tecnologias sejam utilizadas em versões pos- teriores.

5.1

Um Middleware para Criação, Programação e Dispo-

nibilização de Times de Robôs

Para realizar experimentos práticos e validar a arquitetura proposta é necessário ter uma aplicação que funciona como um middleware para interligar robôs e formar times, além de gerenciar conexões com usuários e programadores. Trata-se de uma aplicação desenvolvida para executar as funcionalidades que o modelo arquitetural especifica.

Para o seu desenvolvimento, a linguagem Java foi escolhida. Ela oferece característi- cas importantes como portabilidade, segurança, acesso a protocolos de Internet, progra- mação concorrente e integração com outras linguagens (Java 2017), permitindo, assim,

42 CAPÍTULO 5. IMPLEMENTAÇÃO DA ARQUITETURA DE SISTEMA

que o middleware possa alcançar os objetivos propostos pelo modelo apresentado. Ade- mais, se trata de um projeto que recebe manutenções e atualizações constantes.

5.1.1

Implementação dos componentes no middleware

O middleware foi desenvolvido de acordo com a arquitetura cliente/servidor, onde processos se comunicam via rede por meio do padrão requisição/resposta. Cada compo- nente é implementado como um processo do sistema operacional do computador onde o middlewareé executado.

As ações do núcleo do sistema são executadas por um servidor que recebe conexões via sockets TCP/IP. Dessa forma, esse servidor é responsável por gerenciar conexões com robôs, programador de times e usuário final, oferecendo a cada um deles uma visão específica do sistema. Este servidor é multithread. Portanto, permite a conexão de vários clientes ao mesmo tempo.

A base de conhecimento situada no núcleo é desenvolvida usando fatos e regras da linguagem Prolog. Ela permite a representação de conhecimento sobre times de uma maneira concisa e escalável.

O componente de programação de times é responsável por permitir que desenvol- vedores possam programar times de robôs, definindo seu nome e suas funções. É im- plementado como um cliente que realiza a comunicação com o núcleo por uma conexão TCP/IP.

É por meio do componente de interação com usuário que usuários finais podem acessar times de robôs via núcleo do sistema. Ele é implementado como um cliente Java que acessa o núcleo por meio de uma conexão TCP/IP. Inicialmente, sua interface foi desenvolvida em modo texto, que habilita, com simplicidade, o envio e recebimento de mensagens do núcleo.

Dans le document SERIES 200 (Page 70-81)