• Nenhum resultado encontrado

CE235 Relatorio ProjetoFinal SMIND Lencioni

N/A
N/A
Protected

Academic year: 2021

Share "CE235 Relatorio ProjetoFinal SMIND Lencioni"

Copied!
20
0
0

Texto

(1)

INSTITUTO TECNOLÓGICO DE AERONÁUTICA

Divisão de Ciência da Computação

CE 235 – Sistemas Embarcados de Tempo Real

Projeto Final - Smart Meter Industrial (SM-IND)

Aluno: Luiz Rubens Lencioni P. Leite

Alunos (SM-IND): Giácomo de Lacerda

Luís Antônio de A. Rodriguez Luis Paulo Zanetti

Luiz Rubens Lencioni

Strauss Carvalho

Professores: Prof. Dr. Adilson Marques da Cunha Prof. Dr. Luiz Alberto Vieira Dias

São José dos Campos 28 - Novembro - 2011

(2)

I. Introdução

1.1 Motivação

Os dois principais pilares para a execução deste trabalho foram o uso de Métodos Ágeis para desenvolvimento de software e auxílio de uma ferramenta para modelamento e geração automática de código para sistemas embarcados de tempo real, tendo como estudo de caso o Sistema Smart Grids – Smart Meter Industrial, um medidor inteligente de energia elétrica consumida e produzida por uma indústria hipotética, conforme ilustrado pela figura 1 do anexo I.

Seguindo as boas práticas dos métodos Ágeis, o ponto de partida foi o levantamento das necessidades junto ao cliente, neste caso os professores da disciplina CE-235. Esta pesquisa deu origem a quinze User Stories, que formaram a base para elaboração do primeiro artefato denominado Product Backlog.

As User Stories foram dividas entre os alunos do grupo, conforme apresentado pela tabela 1 do anexo II. As três User Stories sob responsabilidade do autor deste relatório foram: realizar a medida de energia da área administrativa (US-9), medir a energia solar produzida pelos geradores (US-13) e calcular o fator de carga (US-11).

Para desenvolvimento do software embarcado de tempo real foi utilizada a ferramenta Rational Rose Real Time, da empresa IBM Rational.

1.2 Contexto

As User Stories sob responsabilidade deste autor estão destacadas no diagrama de casos de uso na Figura 1 do anexo III. As seguintes funcionalidades serão fornecidas com a esta implementação:

• Medida da energia consumida da rede elétrica pela área administrativa da empresa, como iluminação e tomadas de uso geral e específico dos escritórios;

• Medida da energia solar produzida pela indústria, para possibilitar a venda de energia excedente da indústria para a concessionária de energia;

• Cálculo do fator de carga, para calcular a energia elétrica útil realmente consumida pela indústria.

(3)

1.3 Objetivo do Protótipo do Smart Meter Industrial (SM-IND)

O objetivo do projeto Smart Meter Industrial (SM–IND) é fornecer capacidade de gerenciamento da energia elétrica que trafega por uma indústria, através do registro de medições de energia produzida e demandada pelos diversos setores. Ele oferece um Sistema de Apoio à decisão para os gestores de energia, visto que, com os resultados de suas ações, gera informações úteis para implementação de mudanças para expansões ou economia de meios.

1.4 Redução do Escopo

O conjunto de capacidades definidas com a implementação do software foi acertado entre o cliente e a equipe de desenvolvimento no sentido de que fosse flexível, de certa forma, aberto, mas devendo ser tomado como premissa para o desenvolvimento.

As capacidades do software limitam-se a:

• Medir todo tipo de energia que trafega pelas linhas da indústria, tais como a que é solicitada pelos equipamentos, produzida por sistemas eólicos, solares ou termais.

• Gerar relatório geral impresso em display e em arquivo em disco. • Alterar o intervalo de tempo de medições e de envio de alarmes.

• Comunicar-se com um Smart Meter Central, a fim de enviar-lhe os resultados das medições.

• Recuperar o relatório a qualquer momento.

• Manter um registro de outros equipamentos dentro da rede interna da indústria.

1.5 Especificação de Requisitos

Considerando o primeiro artefato gerado, a lista que contém o conjunto de necessidades do cliente, foi possível criar as quinze User Stories que formaram o Product Backlog. As capacidades correspondentes às US descritas para o projeto são:

User Story I – Editar configurações do sistema: “Como um usuário autorizado a

(4)

como, do intervalo de tempo de medição.”

User Story II – Medir a demanda total de carga: “Como um interpretador de todo sinal

elétrico que trafega pela rede, o hardware do sistema deve armazenar o valor de toda a energia consumida pela empresa e transmitir esse valor ao sistema de software, para que o mesmo possa calcular o valor resultante ao final dos períodos de medição.”

User Story III – Emitir relatório geral: “Como um usuário cadastrado e tendo

acessado o sistema, posso acionar uma funcionalidade que gere um relatório que contenha todos os dados processados pelo hardware do sistema, incluindo as modificações de configurações de sistema autorizadas com senha e a demanda por energia, detalhada por setor de cobertura.”

User Story IV – Manter comunicação com o dispositivo central: “Como um usuário

cadastrado e tendo acessado o sistema, posso acionar uma funcionalidade que abra um canal de comunicação com o elemento central da rede de medidores, que servirá para a troca de mensagens entre os dispositivos comuns e o dispositivo central. Desejo, também, ter confirmação do canal aberto no display do hardware.”

User Story V – Manter registro dos outros SM: “Como parte integrante de um

conjunto de Smart Meters ligados em rede, eu necessito saber informações de status de todos os outros equipamentos, incluindo seus Id’ s de rede, a fim de que, baseado nessas informações, possa ser executado o algoritmo de escolha para backup no caso de pane de algum equipamento.”

User Story VI – Ativar ou Desativar dispositivos: “Como parte integrante de um

sistema inteligente, o Smart Meter deve ser capaz de identificar imediatamente um novo dispositivo conectado à rede e solicitando ou produzindo energia que irá trafegar pelo sistema.”

User Story VII – Manter registro da posição geográfica: “Como parte integrante de

uma grande rede de equipamentos de medição, espalhados geograficamente, cada hardware deve manter o registro da posição geográfica em que está posicionado.”

(5)

User Story VIII – Enviar medições ao SM – CEN : “Como parte integrante de uma

rede de Smart Meters, o hardware do sistema deve enviar todas as medições realizadas pelo equipamento durante o intervalo de tempo estabelecido nas configurações.”

User Story IX – Medir a demanda de energia da área administrativa: “Como parte

integrante de uma rede de Smart Meters, o hardware do sistema deve ter a capacidade de medir a demanda da área administrativa, que utiliza duas fases, e, diferenciar as demandas das subseções, registrando os valores individuais.”

User Story X – Medir a demanda de energia da área operacional: “Como parte

integrante de uma rede de Smart Meters, o hardware do sistema deve ter a capacidade de medir a demanda da área operacional, que utiliza três fases, e, diferenciar as demandas dos fornos e motores, registrando os valores individuais.”

User Story XI – Calcular o Fator de Carga: “Como parte integrante de uma rede de

Smart Meters, o hardware do sistema deve ter a capacidade de registrar a energia dispersada, calculando o fator de carga do intervalo medido.”

User Story XII – Medir a quantidade de energia eólica produzida: “Como parte

integrante de uma rede de Smart Meters, o hardware do sistema deve ter a capacidade de registrar a quantidade de energia Eólica pela empresa.”

User Story XIII – Medir a quantidade de energia solar produzida: “Como parte

integrante de uma rede de Smart Meters, o hardware do sistema deve ter a capacidade de registrar a quantidade de energia produzida pelas placas de captação de energia solar.”

User Story XIV – Informar o valor resultante: “Como usuário cadastrado eu posso

acessar o sistema e verificar o valor resultante definido para o período de medição configurado.”

User Story XV – Restaurar configurações originais: “Como usuário cadastrado eu

posso acessar o sistema e acionar a funcionalidade que restaura as configurações originais do sistema.”

(6)

1.6 Ordem de Apresentação do Projeto Final da Matéria

O trabalho foi estruturado de forma que, na Seção I, Introdução, é exposta a Motivação para resolver o problema, o ponto de partida para o descobrimento da solução, o Contexto, onde o universo de características que foi implementado pelo autor é referenciado com relação ao projeto como um todo. O Objetivo do protótipo do software embarcado, caracterizando suas capacidades e uma especificação de requisitos, onde são associadas funcionalidades e capacidades às US.

A Seção II retrata o desenvolvimento em seus detalhes, mostrando todas as etapas utilizadas pela equipe para construir o software, incluindo as três iterações de desenvolvimento em seus detalhes. Pode-se observar várias referências a diagramas nesta Seção, visto que a mesma está calcada na implementação na ferramenta da Rational.

A Seção III contem conclusões, recomendações e idéias para possíveis trabalhos futuros.

(7)

II. Desenvolvimento

A idéia reservada como premissa para cada Sprint Backlog é entregar ao cliente um produto que seja utilizável, considerando este termo como algo que ele possa, de imediato, implantar e agregar valor para o funcionamento de seu negócio. O desenvolvimento do projeto foi dividido em quatro fases, a saber, a primeira foi o Sprint Backlog, onde foi feita a priorização das User Stories, considerando o que cada uma agregou de valor ao cliente, juntamente com as estimativas de tempo em horas de trabalho.

Após o planejamento descrito no Sprint Backlog, o Scrum Master dividiu o desenvolvimento em três iterações, ou, três Sprint Developments. Cada um deles gerou um artefato pronto para ser entregue ao cliente e colocado em operação, agregando valor ao funcionamento do negócio do mesmo. Os produtos gerados na segunda e na terceira iteração partiram dos anteriores, de forma incremental.

1ª Fase – Sprint Backlog (SBK)

A idéia desta etapa é definir pontos-chave do processo que sejam de entendimento comum de toda a equipe, a fim de falar a mesma língua no que diz respeito a prazos, escopo, arquitetura e priorização do desenvolvimento. A Figura 2 do Anexo III mostra o diagrama de domínio do sistema, em um nível de abstração que permite que sejam visualizadas as principais Classes de Objetos do domínio, seus relacionamentos verticais e horizontais, as ações realizadas por cada uma delas e como as mensagens são trocadas para solicitação de serviços entre elas.

A Figura 1 do Anexo III mostra um diagrama de Casos de Uso que representa o escopo do projeto. Cada caso de uso modelado representa uma User Story, listadas na Tabela 1 do Anexo II, alinhadas com o diagrama e numeradas de acordo com a definição do documento Sprint Backlog confeccionado pelo Grupo.

A Figura 3 do Anexo III mostra a arquitetura de alto nível do sistema. É possível observar que há um componente central que controla e se comunica com outros oito componentes. Cada um deles foi implementado como uma cápsula na ferramenta da IBM Rational e tem uma funcionalidade específica, a saber:

(8)

do sistema.

• Scan – Realiza todas as medições de energia.

• Ping – Abre um canal de comunicação com o SM – RED. • Echo – Recebe uma resposta do SM – RED.

• Reset – Restaura as configurações originais do sistema. • Config – Altera manualmente as configurações do sistema. • EnviaMedicoes – Envia o pacote de informações ao SM – RED.

• EnviaPosicao – Mantém o registro dos outros SM do sistema e envia sua própria posição em broadcast, para que todos saibam sua posição.

Nesta fase do projeto foi definido o uso do Burndown Chart para acompanhamento da evolução dos Sprints de acordo com as User Stories definidas, conforme ilustra a figura 2 do Anexo I.

2ª Fase – 1º Sprint Development (SDV)

O 1º. Sprint Development foi realizado implementando-se as funcionalidades descritas pelo Sprint Backlog através da ferramenta Rational Rose Real Time (RRRT). Esta fase permitiu a elaboração da plataforma base para os demais Sprint Developments que virão a seguir.

As seguintes funcionalidades foram implementadas no 1º Sprint Development: o Medir a demanda total de carga (US-2)

o Manter comunicação com dispositivo central (US-4) o Medir demanda de energia da área operacional (US-9) o Medir energia eólica produzida (US-12)

o Medir energia solar produzida (US-13)

Minha participação no 1º Sprint Development, de acordo com a divisão das User Stories pelo grupo SM-IND, foi a implementação da User Story 9 (Medir a demanda de energia consumida pela área administrativa) conforme figuras 3 e 4 do Anexo I.

Para a implementação da US-9, bem como para desenvolvimento de outras US também, foi criada a cápsula “SCAN” dentro da ferramenta RRRT. Uma transição chamada “Lendo_SM” foi criada, e dentro desta transição foi implementado o código

(9)

em C++ para leitura da energia consumida não apenas pela área administrativa bem como da área operacional da industria. Para simular quando os equipamentos e iluminações são ligados/desligados foi criado um programa em linguagem Python, denominado “Supervisório”, ilustrado na figura 5 do Anexo I.

O gráfico Burndown Chart foi atualizado para permitir o acompanhamento da evolução do projeto.

3ª Fase – 2º Sprint Development (SDV)

O objetivo do segundo Sprint Development foi entregar ao Cliente a segunda versão de do protótipo funcional do Smart Meter Industrial, com mais funcionalidades do que o primeiro Sprint Development.

As seguintes funcionalidades foram implementadas no 2º Sprint Development: o Editar configurações do sistema (US-1)

o Emitir relatório geral (US-3)

o Manter registro de outros Smart Meters Industriais (US-5) o Enviar medições ao SM-CEN (US-8)

o Medir demanda de energia da área administrativa (US-9)

Minha participação no 2º Sprint Development, de acordo com a divisão das User Stories pelo grupo SM-IND, foi a implementação da User Story 13 (Medir a energia solar produzida) conforme figuras do Anexo I.

Para esta implementação também foi utilizada a cápsula “SCAN” desenvolvida na ferramenta RRRT, e utilizado o programa supervisório para simular a produção de energia solar.

Os artefatos foram atualizados e foi realizada uma apresentação executiva, mostrando ao cliente o resultado da implementação das User Stories desta fase. Novamente o gráfico Burndown Chart foi atualizado para permitir o acompanhamento da evolução do projeto.

(10)

4ª Fase – 3º Sprint Development (SDV)

O objetivo do terceiro Sprint Development foi entregar ao Cliente a ultima versão de do protótipo funcional do Smart Meter Industrial.

As seguintes funcionalidades foram implementadas no 3º Sprint Development: o Ativar/desativar dispositivos (US-6)

o Manter registro de posição geográfica (US-7) o Calcular o Fator de Carga (US-11)

o Informar o valor resultante (US-14) o Restaurar configurações originais (US-15)

Minha participação no 2º Sprint Development, de acordo com a divisão das User Stories pelo grupo SM-IND, foi a implementação da User Story 11 (Calcular o Fator de Carga).

O gráfico Burndown Chart foi finalizado, permitindo a visualização da evolução do projeto através dos Sprint Developments, conforme figura 8 do Anexo I.

Ao fim do 3º Sprint Development pode-se verificar o funcionamento completo do Smart Meter Industrial, com todas as User Stories implementadas.

(11)

3. Conclusão

3.1 Conclusões

Conforme proposto pelo conteúdo da disciplina CE-235, verifica-se que é totalmente viável o projeto de software embarcado em tempo real combinando-se boas práticas do desenvolvimento ágil com ferramentas de modelagem e geração automática de código.

Foram constatadas na prática as vantagens do uso de métodos Ágeis para elaboração de um projeto de software profissional, incremental e com total foco nos desejos e anseios do cliente. Pode-se verificar também a vantagem no uso de ferramentas como o Rational Rose Real Time para modelagem e geração de códigos automaticamente. No caso do projeto Smart Meter Industrial, apenas 7% do código total foi gerado manualmente, um salto tanto em produtividade quanto na possibilidade de reuso de modelos em projetos futuros.

Particularmente, tornei-me entusiasta da proposta de métodos como Scrum, pois é fato, comprovado por inúmeros projetos nos quais já participei em minha vida profissional, que as técnicas de gerenciamento de projetos de software tradicionais estão ultrapassadas.

3.2 Recomendações

Algumas premissas foram assumidas no projeto Smart Meter Industrial para tornar viável a adoção do método Scrum, como por exemplo, na medida da evolução do projeto em User Stories no gráfico Burndown Chart. Normalmente esta estimativa é realizada em horas, para controle mais preciso do processo de desenvolvimento. Desta forma recomenda-se o uso da estimativa em horas no Burndown Chart.

O embarque do software realizado no RRRT em um hardware específico era altamente desejável, mas não foi realizada devido à falta de tempo. Esta fase envolve passos importantes no desenvolvimento de um software embarcado de tempo real, que é a interface com hardware específico.

O uso de tecnologias de comunicação utilizado atualmente em redes Smart Grids também era um anseio do grupo, como por exemplo, a transmissão de dados em linhas

(12)

de energia elétrica, conhecido como PLC (Power Line Communications), e seria implementado caso houvesse mais tempo durante o curso.

3.3 Sugestões para trabalhos futuros

O campo de modelagem de sistemas de software e sua aplicação prática são vastos no mundo atual. Sugere-se como trabalho futuro o estudo de caso de uma iniciativa tomada pelos principais fabricantes de automóveis e empresas de autopeças, denominado AUTOSAR (Automotive Open Systems Architecture) [3], um padrão para desenvolvimento de software recém criado para toda indústria automotiva, baseado em modelos e geração automática de software.

Uma sugestão para a evolução da disciplina CE-235 é a elaboração de aulas em salas de laboratório, onde poderiam ser mostrados na prática, por exemplo, a

implementação de um software embarcado em um hardware específico.

Nos próximos trabalhos sugere-se também um foco maior também em sistemas operacionais embarcados, como o QNX, vastamente utilizado em produtos atuais.

(13)

Referências Bibliográficas

[1] Endereço eletrônico da página da disciplina CE-235, acessado dia 28/11/2011

https://sites.google.com/site/ce235ita/

[2] Endereço eletrônico do aluno Luiz R. Lencioni, acessado dia 28/11/2011

https://sites.google.com/site/luizlencioni/

[3] AUTOSAR (Automotive Open Systems Architecture)

(14)

ANEXO I – IMAGENS

Figura 1 - Smart Meter Industrial (SM-IND)

Burndown Chart SM-IND

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3/10/2011 10/10/2011 17/10/2011 24/10/2011 31/10/2011 7/11/2011 14/11/2011 U s e r S to ri e s

1o. Sprint Backlog 2o. Sprint Backlog 3o. Sprint Backlog

Figura 1 – Burndown Chart inicial do projeto SM-IND

Área Operacional (Fabril) Área Administrativa Sensores Tensão/Corrent Outros SM-IND SM-CEN Energia Solar Energia Eólica Comunicação (produzida) (produzida) Sensores Tensão/Corrent R ed e Tri fá sic

(15)

Figura 3 – Implementação da User Story 9

(16)

Figura 5 - Programa supervisório para simulação de consumo de equipamentos

(17)

Figura 7 – Teste da energia solar produzida pelo software Supervisório

Figura 8 – Burndown chart final do projeto Smart Grid Industrial (SM-IND)

Burndown Chart SM-IND

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3/10/2011 10/10/2011 17/10/2011 24/10/2011 31/10/2011 7/11/2011 14/11/2011 U s e r S to ri e s

(18)

ANEXO II – TABELAS

Componente Descrição

Strauss

(Product Owner)

US 4 - Manter comunicação com o dispositivo central US 8 - Enviar medições ao SM – CEN

US 6 - Ativar / desativar dispositivos

Rodriguez

(Scrum Master)

US 2 - Medir a demanda total de carga US 3 - Emitir relatório geral de atividades US 15 – Restaurar configurações originais

Lencioni

(Development Team)

US 9 - Medir a demanda de energia da área administrativa US 13 - Medir a energia Solar produzida pelos geradores US 11 - Calcular o Fator de Carga

Giácomo

(Development Team)

US 12 - Medir a energia Eólica produzida pelos geradores US 5 - Manter registro dos outros SM-IND

US 7 - Manter registro da posição geográfica

Zanetti

(Development Team)

US 10 - Medir a demanda de energia da área operacional (fornos & motores)

US 1 - Editar configurações do sistema US 14 - Informar o Valor resultante

Tabela 1 - Divisão das Users Stories

User Stories 1o Sprint

Development

2o Sprint Development

3o Sprint Development

1 Editar configurações do sistema X 2 Medir a demanda total de carga X

3 Emitir relatório geral X

4 Manter comunicação com o dispositivo central X 5 Manter registro dos outros SM X 6 Ativar/Desativar dispositivos X 7 Manter registro da posição geográfica X 8 Enviar medições ao SM-CEN X 9 Medir a demanda de energia da área ADM X 10 Medir a demanada de energia da área operacional X 11 Calcular o Fator de Carga X 12 Medir a quantidade de energia eólica produzida X 13 Medir a quantidade de energia solar produzida X 14 Informar o valor resultante X 15 Restaurar configurações originais X

(19)

ANEXO III – DIAGRAMAS

Figura 1 - Diagrama de Casos de Uso (SM-IND)

(20)

Referências

Documentos relacionados

Na imagem abai- xo, por exemplo, as dimensões e o posicionamento dos personagens (Tio Sam e Cardoso) traduzem, em linguagem simples, o desnível geopolítico existente entre Brasil

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

Requiring a realignment of the EVTEA with its ToR, fine-tuning it to include the most relevant socio-environmental components and robust methodologies for assessing Ferrogrão’s impact

a) Realizar entrevistas com duas empresas importadoras, sendo uma de equipamentos médico-hospitalares, para identificação de requisitos para desenvolvimento de um protótipo de

No que se refere às margens intensiva e extensiva, notou-se que a China foi o principal país exportador (margem intensiva) e a África do Sul o país que exportou maior variedade

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as