• Nenhum resultado encontrado

RelatóriodeExecução-WarmUps1a8

N/A
N/A
Protected

Academic year: 2021

Share "RelatóriodeExecução-WarmUps1a8"

Copied!
14
0
0

Texto

(1)

Instituto Tecnológico de Aeronáutica

Divisão de Engenharia da Computação

CE-235

Sistemas Embarcados de Tempo Real

Professor Doutor Adilson Marques da Cunha

Listex 2

Relatório de execução de atividades: WarmUp 1 a 8

Roberto Pepato Mellado

(2)

1. Introdução

1.1. Objetivo

O conjunto de exercícios de aquecimento (warmups) proposto para execução dos alunos da disciplina CE-235 Sistemas Embarcados de Tempo Real do ITA (Instituto

Tecnológico de Aeronáutica) tem como principal objetivo propiciar aos alunos:  Conhecimentos básicos (familiarização) nas ferramentas Rational Rose Real

Time RRRT e Rational Quality Architect RQA;

 Familiarização com os conceitos envolvidos nas soluções MDA/MDD;

 Difundir o conhecimento sobre o ferramental que será aplicado na construção do protótipo de projeto ITA-ECO-SAT 2.

1.2. Finalidade

Os exercícios propostos para realização têm como objetivo propiciar aos alunos da disciplina CE-235 Sistemas Embarcados de Tempo Real um primeiro contato com as ferramentas da Rational utilizadas para desenvolvimento de software embarcado em uma abordagem MDA/MDD. A proposta do exercício é fundamentada na execução de uma série de tutoriais (warmups) para que o aluno possa tomar contato com as diversas possibilidades de trabalho com a ferramenta, além de analisar quais das soluções apresentadas melhor se encaixam na construção de sua USC e posterior integração em CSC, ICSC e SdS. A seção 2 deste documento apresenta uma síntese dos principais pontos considerados na realização de cada um dos warmups, bem como screenchots das principais etapas de seu desenvolvimento.

2. Desenvolvimento dos Exercícios

2.1. WarmUp 1: Hello World

O objetivo deste exercício é construir um componente de software que imprima a mensagem “Hello World” em um terminal do MS-DOS, com o código gerado em linguagem C e compilado para ambiente NT40T. x86-VisualC++-6.0.

Alguns conceitos foram apresentados nesse exercício como, por exemplo, cápsulas, que são objetos autônomos que encapsulam suas propriedades, métodos, comportamentos, linha de execução (thread) e transições, que são disparadas para que um objeto possa mudar seu estado. Durante a execução de uma transição, podem ser configuradas ações customizadas. No cenário do Warmup 1, a ação de impressão da mensagem é disparada na transição do estado inicial para o estado Active, conforme abaixo:

(3)

Figura 1 – Ação customizada na transição de estado

Para execução e verificação do comportamento do warmup 1 foram criadas algumas estruturas adicionais como componentes e processadores. Esses elementos são necessários, pois uma cápsula é contida em um componente e esse componente é configurado para execução em um processador-alvo.

(4)

2.2. WarmUp 2: Passive Classes

O exercício 2 apresenta o conceito de classes passivas. De maneira diferente das cápsulas, classes passivas são classes que tem como características executar na mesma linha de execução (thread) que o programa que as invocou.

Neste exercício, uma mensagem de boas vindas “Greetings, Earthling” será apresentada quando da inicialização do programa. A mensagem é exibida sem a necessidade de nenhum estímulo externo, pois executa na mesma linha execução do programa principal.

Figura 3 – Execução de uma classe passiva

(5)

2.3. WarmUp 3: Traffic Light

O exercício 3 define como objetivo a construção de um semáforo de trânsito simples, onde os sinais para mudança de estado do semáforo são manipulados pelo usuário. Este exercício aborda os conceitos de diagrama de estados, transições, portas, protocolos e o modo de depuração de modelos.

O desenvolvimento do exercício iniciou-se pela adição de uma cápsula ao modelo e criação de seu diagrama de estados, de maneira similar à aplicada na resolução do exercício 1. Para resolução deste exercício, foi criado um diagrama de estados contendo três estados similares aos estados de um semáforo de trânsito e as transições entre esses estados.

Figura 5 – Diagrama de Estados de um semáforo

As ações configuradas nas transições de estado foram configuradas para só ocorrerem quando um sinal específico recebido pelo protocolo LightControl através da porta de comunicação. O diagrama de estrutura abaixo apresenta o relacionamento da cápsula com a porta de comunicação e seu protocolo de comunicação:

(6)

Figura 6 – Diagrama de Estrutura da cápsula semáforo

Para a execução do programa foram utilizados probes (pontas de provas), que enviam sinais para a porta presente na cápsula para que possamos acompanhar visualmente a mudança de estados.

2.4. WarmUp 4: Electronic Lock

O exercício 4 demonstra a utilização de uma classe passiva para implementar a lógica e comportamento de um cadeado eletrônico. A aplicação é construída para execução em um terminal MS-DOS.

Neste exercício foram apresentados novos conceitos no diagrama de estados, como por exemplo, choice points que são estruturas que representam uma estrutura de decisão do tipo if.

Para execução do exercício, foi criado o método main na classe passiva e em seguida a função Number, que recebe a entrada de dados do usuário para avaliação e mudança de estados.

(7)

Figura 7 – Diagrama de Estados e especificação do método Main para classe passiva

2.5. WarmUp 5: Battleship

O exercício 5 introduz o contexto de comunicação entre duas cápsulas diferentes (oceano e navio). As duas cápsulas simulam a utilização de sinais de um sonar. Este exercício apresenta também o serviço de temporização de eventos (timing triggers). Um modelo padrão forneceu uma parte da solução já construída (a cápsula oceano). O trabalho nesse exercício envolveu criar a cápsula que representa o nível e utilizar o protocolo SonarSignals para a comunicação entre as cápsulas. Os sinais disparados entre as cápsulas são echo e ping que indicam respectivamente o recebimento e o envio de um sinal de sonar.

Os sinais trocados entre as cápsulas possuem o caráter de temporização e, portanto foi necessária a utilização de um timer. A figura abaixo apresenta a estrutura básica de dependência das cápsulas de um timer

(8)

A sequência de comunicação entre as cápsulas se inicia com o navio enviando sinais de

ping para o oceano, que responde com sinais de echo quando estiver em uma faixa de

acesso. Na figura abaixo, é apresentada a estrutura da cápsula World que contém as duas cápsulas do sistema e seu relacionamento através do protocolo SonarSignals.

Figura 9 – Diagrama de estrutura da cápsula World indicando a comunicação entre cápsulas

O diagrama de estados para cada uma das cápsulas envolvidas é apresentado na figura abaixo. Os estados representam o comportamento de entrar e sair da faixa de acesso para o oceano (com eventuais recebimentos de mensagem de ping e envios de mensagem de echo) e o envio de ping a partir do navio (recebendo sinais de echo eventualmente).

(9)

O próximo diagrama apresenta a visão estrutural com as portas de comunicação entre as cápsulas (incluindo a porta de timer).

Figura 11 – Diagramas de Estrutura de cápsulas navio e oceano

2.6. WarmUp 6: Traffic System

O exercício 6 apresenta o conceito de reutilização de cápsulas. Neste exercício, a cápsula de semáforo criada no exercício 3 é reutilizada em 4 instâncias para simular uma intersecção com 4 semáforos, gerenciados por uma nova cápsula, desempenhando o papel de controlador. Os semáforos opostos devem possuir sempre o mesmo estado, operando de maneira sincronizada com os outros dois semáforos, evitando acidentes. O diagrama de estados apresentado abaixo representa os estados envolvidos na cápsula controladora.

(10)

A cápsula controladora centraliza a comunicação com as outras cápsulas representando os semáforos. O diagrama de estrutura abaixo apresenta essa situação:

Figura 13 – Diagramas de Estrutura do Controlador de Semáforos

Por fim, temos a representação estrutural da cápsula Intersection, que apresenta o esquema de comunicação entre as cápsulas.

(11)

2.7. WarmUp 7: Client/Server

O exercício 7 apresenta uma aplicação em arquitetura cliente/servidor onde um comando é enviado por um cliente, processado pelo servidor e a resposta enviada novamente ao cliente.

O exercício 7 introduz conceitos relacionados à importação de cápsulas em tempo de execução. Os diagramas abaixo descrevem a visão de estados e estrutural das cápsulas:

Figura 15 – Diagramas de Estados das cápsulas cliente e servidor

(12)

2.8. WarmUp 8: RQA-RT

O exercício 8 objetiva a criação de um diagrama de sequência para especificação de um modelo e a verificação e teste do modelo construído.

Os diagramas abaixo apresentam as etapas envolvidas neste exercício:

Figura 17 – Diagrama de Sequência objeto-alvo do teste

(13)

Figura 19 – Relatório de restes que passaram e falharam

Figura 20 – Diagrama com resultados do teste

3. Glossário

 CSC: Componente de Software de Computador  CSM: Monitoramento

 ICSC: Item de Configuração de Software de Computador

 ITA-ECO-SAT 2: Protótipo de Sistema Embarcado de Tempo Real para monitoramento de dados hidrológicos via satélite

 MDA: Model Driven Architecture – Arquitetura Orientada a Modelos  MDD: Model Driven Development – Desenvolvimento Orientado a Modelos

(14)

 MS-DOS: Sistema operacional  RQA: Rational Quality Architect  RRRT: Rational Rose Real Time

 Screenshot: Fotografia da tela do computador em execução  SdS: Sistema de Sistemas

 Thread: Linha de execução de um programa  TPA: Telemetria de Posicionamento e Atitude  Warmup: Exercício de aquecimento

 USC: Unidade de Software de Computador

4. Aplicabilidade no ITA-ECO-SAT 2

A grande maioria dos conhecimentos adquiridos na realização dos warmup pode ser utilizada para o desenvolvimento do projeto ITA-ECO-SAT 2. Particularmente para a USC TPA e CSC CSM, a utilização de cápsulas, triggers, portas e protocolos servirão como base arquitetural da aplicação a ser desenvolvida, visto que esses componentes já existentes atendem aos cenários de comunicação do USC TPA e CSC CSM, que possuem comunicação com outros CSC e ICSC do ITA-ECO-SAT 2. A utilização dos componentes e arquitetura já existentes no RRRT liberará os implementadores da solução para focar em aspectos das regras de negócio da solução.

5. Conclusão

Através dos conceitos apresentados em aula pelos professores da matéria, apoio dos monitores, interação entre os alunos membros do grupo e realização deste conjunto de

warmups foi possível a familiarização com os principais conceitos da ferramenta

Rational Rose Real Time RRRT. Esta familiarização é um importante componente para o desenvolvimento das próximas atividades da disciplina CE-235 Sistemas Embarcados de Sistema Real, que envolvem a implementação das especificações descritas para as USC e CSM até o momento da ListEx2

Referências

Documentos relacionados

Northern Dancer South Ocean Secretariat Crimson Saint Red God Runaway Bride Raja Baba Away Northern Dancer Special Le Fabuleux Native Partner Cannonade Cold Hearted Pretense Red

O Climate Policy Initiative/ Núcleo de Avaliação de Políticas Climáticas da PUC-Rio trabalha para aprimorar políticas públicas de energia e uso da terra gerando evidências para

Sugeriu que a Azadirachta indica (L.) pode ser benéfica para o diabetes mellitus controlando o açúcar sanguíneo ou podendo também ajudar na prevenção do aparecimento da

 Dadas as profundas mudanças que o homem causou na terra, é impossível entender, prever, ou manejar aspectos ecológicos sem entender por que e como o homem alterou esses aspectos

O problema é que se o suicídio do indivíduo na tentativa de um alívio afetivo de seu mal estar acontece como uma solução para o sujeito do inconsciente

A Figura 3-16 apresenta as velocidades médias registadas e a percentagem da energia disponibilizada pelo escoamento em cada um dos sectores da rosa-dos-ventos.. Simulação

(II) O palestrantes escolhido para temática de História do Brasil ministrará sua palestra na data previamente marcada na Sala Pf Gastal ( 3° andar da Usina do Gasômetro -

[r]