Você está na página 1de 13

Anais do 13O Encontro de Iniciao Cientfica e Ps-Graduao do ITA XIII ENCITA / 2007 Instituto Tecnolgico de Aeronutica, So Jos dos

s Campos, SP, Brasil, Outubro, 01 a 04, 2007.

ESPECIFICAO DE REQUISITOS, MODELAGEM E IMPLEMENTAO DE UM SISTEMA DE SOFTWARE EMBARCADO E DE TEMPO REAL PARA OS SUB-SISTEMAS DE CONTROLE DE VO, POTNCIA E COMBUSTVEL DE UM VECULO AREO NO TRIPULADO VANT
Csar Augusto Melo Haenisch Filho
Instituto Tecnolgico de Aeronutica Bolsista PIBIC-CNPq Correio eletrnico: he1000ton@gmail.com

Adilson Marques da Cunha


Instituto Tecnolgico de Aeronutica Correio eletrnico: cunha@ita.br

Diogo Branquinho Ramos


Instituto Tecnolgico de Aeronutica Correio eletrnico: diogobranquinho@gmail.com Resumo. Esta pesquisa, em nvel de Iniciao Cientfica (IC), teve por objetivo dotar o Software de um Veculo Areo No Tripulado - VANT de um Componente de Software de Computador (CSC) composto pelos seguintes Sub-Sistemas ou Unidades de Software de Computador (USC): USC de Controle de Vo, USC de Potncia e USC de Combustvel. Para isso, foram utilizadas Ferramentas de Engenharia de Software Ajudada por Computador (Computer Aided Software Engineering - CASE), em atendimento especificao de alguns requisitos pr-definidos. O trabalho foi dividido em duas Fases: Capacitao Tecnolgica do Bolsista, e Modelagem e Implementao dos SubSistemas ou USCs. Na Fase inicial de Capacitao, realizou-se pesquisas sobre o Processo Unificado da Rational (Rational Unified Process RUP), a Linguagem de Modelagem Unificada (Unified Modeling Language - UML) e os Sistemas Embarcados de Tempo Real, em paralelo com treinamentos na Ferramenta IBM Rational Rose RealTime (RRRT) e numa Ferramenta de Software Livre para Estimativas em Pontos de Casos de Uso (EPCU). Na Fase final de Modelagem e Implementao, desenvolveu-se e integrou-se com sucesso os trs Sub-Sistemas ou USCs num CSC de Controle de um VANT. Palavras chave: Sistemas Embarcados e de Tempo Real, Modelagem Visual, VANT.

1. Introduo O Projeto VANT tem por objetivo propiciar o desenvolvimento de um veculo capaz de ser operado e mantido em nvel orgnico como: um conjunto auto-suficiente de dispositivos de hardware e software, que possa ser pilotado manualmente, dentro de um alcance visual; remotamente, a partir de uma Estao Solo, por meio de comandos enviados a um Software de Navegao e Controle (SNC); ou autonomamente, por intermdio de um plano de vo prdeterminado. Diferentemente dos produtos de prateleira obtidos, o software crtico embarcado e de tempo real tem seu foco na implementao de funcionalidades voltadas para a soluo final a ser utilizada pelos clientes. O produto dever disponibilizar funcionalidades: de plataforma de vo; de sistema de navegao e controle; de sistema de comunicao; e de Estao Solo com uma equipe de apoio, que podem ser utilizadas tanto por usurios civis, quanto por militares. Existem alternativas possveis para o desenvolvimento deste Projeto como, por exemplo, contratar empresas (provavelmente estrangeiras) principalmente para desenvolver o seu software. Mas, devido natureza estratgica do produto, pode tornar-se difcil ou at mesmo impossvel, este tipo de contratao. Em caso de contratao de uma empresa estrangeira, haver maiores custos de desenvolvimento, em funo da necessidade de treinamento das equipes desenvolvedoras, alm do usurio final no conseguir internalizar as tecnologias de desenvolvimento de software para o SNC da Plataforma de Vo, a Estao Solo e o Dispositivo de Integrao de Teste (Aircraft Integration RIG AIR), causando dependabilidades de fornecedores estrangeiros. Em caso de crise, haver risco dos fornecedores nacionais e estrangeiros interromperem os respectivos suportes, ocasionando tambm graves conseqncias aos usurios. Outras iniciativas existem no pas para desenvolvimento de VANTs mais especficos e de menor porte. Entre elas, destaca-se o desenvolvimento de um VANT para a vigilncia de linhas de transmisso na Diviso de Engenharia

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Aeronutica do Instituto Tecnolgico de Aeronutica ITA, na qual o software considerado menos sofisticado, e praticamente adaptado de aeromodelos. Devido ao grau de complexidade do Projeto endereado neste Trabalho de IC, fez-se necessria a adoo de metodologias e processos. Segundo (Cunha, 2006), em Engenharia de Software, uma Metodologia consiste de uma srie recomendada de passos e procedimentos que devem ser seguidos para se obter o desenvolvimento de um Sistema. Ela conduz ao como fazer, mas no produz resultados efetivos. Enquanto um Processo representa um conjunto de passos parcialmente ordenados com a inteno de atingir uma Meta. Finalmente, uma Meta pode ser entendida como a criao ou o aperfeioamento de um Software existente, conduzindo ao como fazer, e propiciando a obteno de resultados efetivos. Destarte, decidiu-se por utilizar o RUP como o processo regente deste trabalho, envolvendo Engenharia de Software, desenvolvido pelos metodologistas: Booch, Jacobson e Rumbaugh. Conforme anteriormente mencionado, o Software Embarcado e de Tempo Real de um VANT de grande complexidade e, tal qual a proposta do RUP, o desenvolvimento de um Sistema desta natureza deve se utilizar de Modelagem Visual, provendo um robusto conjunto de notaes para a Anlise e Projeto (Design) de sistemas de software. Nesta IC, utilizou-se a modelagem visual, por meio da UML para reduzir a complexidade envolvida no desenvolvimento das USCs. Segundo Cunha et al. (2006), em Engenharia de Software, modelos so usados para auxiliar no entendimento de problemas e de processos complexos para facilitar a Comunicao entre os envolvidos num Projeto (clientes, especialistas do domnio, analistas, projetistas, etc.). Isso se torna ainda mais importante para a construo de vises em diferentes nveis de abstrao, filtrando-se detalhes essenciais ao entendimento do problema como um todo. Torna-se tambm importante tanto na documentao de decises arquiteturais em Projetos de Software, reduzindo-se ambigidades, quanto na formao de uma base para sua implementao. Na construo de modelos utilizou-se de notaes de projetos grficos, textuais e semanticamente ricos, para capturar os detalhes do Projeto de software. Uma vez definidos o processo e a notao para o desenvolvimento do Projeto, a investigao das tecnologias supracitadas resultou na escolha da Ferramenta RRRT, como parte integrante da Sute IBM Rational. 2. Resultados Obtidos Como j descrito, as atividades realizadas foram divididas em duas Fases. A 1 Fase de Capacitao Tecnolgica do Bolsista encontra-se descrita na seo 2.1, e a 2 Fase de Modelagem e Implementao dos Sub-Sistemas ou USCs de Controle de Vo, Potncia e Combustvel de um VANT, na seo 2.2. 2.1. 1 Fase - Capacitao Tecnolgica do Bolsista Nesta 1 Fase do Trabalho de IC, foram realizadas pesquisas sobre o RUP, a UML e os Sistemas Embarcados de Tempo Real, e um Treinamento para capacitao tecnolgica na Ferramenta IBM RRRT e no Software Livre EPCU. O incio dos trabalhos de capacitao consistiu de uma pesquisa sobre o RUP, um processo de Engenharia de Software que aumenta a produtividade da equipe e propicia a utilizao das melhores prticas relacionadas ao desenvolvimento de software atravs de diretrizes, padres e orientaes sobre ferramentas para todas as atividades crticas de seu desenvolvimento. Segundo (Cunha, 2006), o RUP oferece uma abordagem baseada em Disciplinas, atribuindo Tarefas e Papis, dentro de uma organizao de desenvolvimento de software. A sua meta principal garantir uma produo de Software de alta qualidade, que atenda s necessidades dos Usurios, dentro de Cronogramas e Oramentos previsveis. A Figura 1 representa a Arquitetura Geral do RUP. Nela, pode-se observar a existncia de duas dimenses com significados distintos: 1) o eixo horizontal representa o tempo e mostra os aspectos do ciclo de vida do processo, na medida em que ele se desenvolve, portanto, o aspecto dinmico do processo em termos de fases, iteraes e marcos; e 2) o eixo vertical representa as Disciplinas, que agrupam as Atividades de maneira lgica, por natureza, logo, o aspecto esttico do processo em termos de Componentes, Disciplinas, Atividades, Fluxos de Trabalho, Artefatos e Papis do Processo.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 1. Arquitetura Geral do RUP A Figura 1 mostra como a nfase dedicada a cada fase no desenvolvimento se altera atravs do tempo, de forma iterativa e incremental. A UML consiste de uma linguagem de especificao, documentao, visualizao e desenvolvimento de sistemas orientados a objetos. Ela propicia a sintetizao dos principais mtodos existentes e considerada uma das linguagens mais expressivas para modelagem de sistemas orientados a objetos. Por meio de seus diagramas, representa-se sistemas de softwares sob diversas perspectivas de visualizao, facilitando a comunicao entre as equipes envolvidas no processo de desenvolvimento de um sistema - gerentes, coordenadores, analistas, desenvolvedores - por apresentar um vocabulrio de fcil entendimento. A UML propicia tambm a definio de uma notao e de um meta-modelo, suportando as quatro fases do ciclo de desenvolvimento de Software previstas no RUP: Iniciao, Elaborao, Construo e Transio. Para cada uma dessas fases do desenvolvimento, utilizam-se cinco tipos de vises, nove tipos de diagramas e vrios modelos de elementos na criao dos diagramas e mecanismos gerais. Todos, em conjunto, servem para especificar e exemplificar a definio do sistema, tanto na definio das funcionalidades estticas, quanto das dinmicas do desenvolvimento de um sistema. A importncia dos modelos aumenta, medida que os sistemas se tornam mais complexos. Na construo de modelos, permitido ao desenvolvedor se concentrar na viso geral, entender como os componentes interagem e identificar falhas fatais. A UML possibilita a criao de modelos simples e a modificao dos mesmos a baixo custo, explorando novas alternativas de projeto. Quando associada ao desenvolvimento iterativo, a modelagem visual ajuda aos desenvolvedores a avaliar mudanas de projeto e a comunicar essas mudanas a toda equipe de desenvolvimento. Utilizando-se a UML, com o suporte das ferramentas adequadas, um modelo de projeto pode ser usado para gerar um conjunto inicial de cdigos-fonte para implementao. Neste caso, tira-se proveito das tcnicas de Engenharia Direta com a gerao automtica de cdigos-fonte e de Engenharia Reversa com a sincronizao de cdigos-fonte com o modelo. Durante a pesquisa sobre Sistemas Embarcados de Tempo Real, verificou-se que o mercado tem crescido em grandes propores, ao longo dos ltimos anos. Uma grande quantidade de atividades realizadas pelo homem auxiliada por dispositivos embarcados e a sua presena no cotidiano tende a aumentar ainda mais, devido aos avanos tecnolgicos. Pode-se citar sistemas de automao industrial e residencial, automao automotiva, controle aeroespacial, equipamentos mdicos, entre outros. O projeto de sistemas embarcados com requisitos de tempo real possui grande complexidade, pois envolve conceitos especficos, pouco explorados e analisados pela computao de propsito geral. Normalmente, um Projeto desses sistemas envolve a definio do hardware e do software necessrios realizao da tarefa para a qual o sistema foi projetado. Existem vrios fatores limitantes num Projeto desta classe de sistemas, destacando a baixa quantidade de memria disponvel, o pouco poder de processamento, o limite do consumo de energia sem perda de desempenho, ou ainda o curto espao de tempo de Projeto. Segundo (Wehrmeister, Becker, Pereira), o aumento do nmero de funes que vm sendo incorporadas a um nico sistema embarcado faz surgir a necessidade de metodologias e tcnicas de projeto que visam gerenciar essa complexidade. Alm disso, existe a multidisciplinaridade das equipes de projeto, que devem se utilizar de uma comunicao clara e uniforme, de modo a minimizar os erros causados pela interpretao incorreta de requisitos e de funcionalidades do sistema. Para tentar amenizar os problemas dos Projetos de Sistemas Embarcados, diminuindo sua complexidade, como alternativa, deve-se utilizar a Orientao a Objetos, um paradigma de Engenharia de Software j consagrado para o desenvolvimento de sistemas computacionais de grande porte e robustez.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Em toda a referncia bibliogrfica consultada para este Trabalho de IC pde-se observar um fator comum quanto ao desenvolvimento do sistema. Em geral, os sistemas so desenvolvidos utilizando-se a UML, e permitindo-se padronizar a descrio, em alto nvel, para diferentes casos, propiciando-se assim a vantagem da reutilizao, implicando numa reduo no tempo de projeto, utilizando a orientao a objetos, o suporte automao, a gerao de modelos executveis e a gerao automtica de cdigos-fonte. Ademais, os sistemas embarcados, normalmente, apresentam altas restries em termos de funcionalidade e implementao. Em particular, eles devem reagir a eventos externos em tempo real, adaptar-se a limites de tamanho e peso, gerenciar consumo de potncia, satisfazer requisitos de confiabilidade e segurana e adequar-se a restries de oramento. At a dcada de 80, os projetos de sistemas embarcados davam nfase maior ao desenvolvimento do hardware do que ao do software. Normalmente, a parte da soluo em software desses produtos costumava ser bem reduzida e servia apenas para definir como o hardware deveria operar. At essa poca, como mostram (Dourado, Allex), os sistemas embarcados contavam com processadores de recursos extremamente limitados, nos quais a linguagem assembly era geralmente usada para programar um conjunto de funes imutveis, o que os considerava como simples programas que forneciam algum tipo de inteligncia aos servosmecanismos. Ainda na Fase de Capacitao, iniciou-se um treinamento na Sute de Ferramentas CASE IBM Rational, e mais especificamente, no software IBM RRRT. A referida capacitao foi adquirida com a realizao de um Curso de Introduo s Sutes de Ferramentas ICASE-E, constitudo de 19 mdulos tericos, 7 Exerccios de Aquecimento (Warm-Ups) e 6 Exerccios Prticos de Laboratrio (Labs). Durante este Curso, os seguintes mdulos tericos foram abordados: 1. Modelando Sistemas de Tempo Real; 2. Modelos do Rose RealTime; 3. Classes Passivas; 4. Estruturas de Cpsulas: Portas, Protocolos e Capsule Roles; 5. Modelando Estados; 6. Servios de Sistemas; 7. Anlise de Requisitos; 8. Projeto de Classes; 9. Hierarquia de Estrutura; 10. Hierarquia de Herana; 11. Hierarquia de Comportamento; 12. Packanging and Layering; 13. Gerncia de Configurao; 14. Integrando Cdigo Externo; 15. Modelagem Adaptvel; 16. Modelando Concorrentemente; 17. Modelos Distribudos; e 18. Design Patterns. Uma vez fixados os conceitos aprendidos nos mdulos, prosseguiu-se na aplicao prtica da modelagem, por meio da realizao dos seguintes exerccios de aquecimento: 1. Hello, World; 2. Passive Classes; 3. Traffic Light; 4. Electronic Lock; 5. Battleship; 6. Traffic System; e 7. Client/Server. Por fim realizou-se os 6 Exerccios de Laboratrios seguintes: 1. Controller / Tester; 2. Valve, Start Low-Temp System; 3. Complete Low-Temp System; 4. Master and Tank Containers; 5. Start High-Temperature System; e 6. Complete High-Temperature System. Esses Exerccios de Laboratrio tiveram como pano de fundo um Sistema de Tingimento que possui um tanque a ser preenchido com corante, para deixar o tecido por um tempo nesta condio, e por fim, esvaziar o tanque.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

A modelagem e implementao do Sistema de Tingimento encontra-se esquematizada na Figura 2. Nela, pode-se observar que o sistema compe-se de um tanque (Tank), no qual o corante permanece por algum tempo, e um controle (Controller), responsvel por seqenciar o tanque, durante todo o processo de tingimento. Por fim, um operador (Operator), externo ao sistema, programa o controle, e ento comea o processo de tingimento.

Figura 2. Overview Dyeing System O tanque contm o tecido a ser tingido e o corante. A vlvula de enchimento (fill valve) permite a entrada de corante no tanque e a vlvula de drenagem (drain valve) permite a remoo deste. O sensor de nvel (level sensor) informa continuamente o nvel atual no tanque. O controle possui duas responsabilidades primrias: a primeira, de agir segundo os comandos do operador; e a segunda, de encher e drenar o tanque, monitorar a quantidade de corante do tanque e o tempo de exposio do tecido ao corante. Uma vez que o operador inicia o controle, este imediatamente abre vlvula de enchimento, permitindo ao corante encher o tanque. Quando o controle percebe que o tanque est cheio, fecha essa vlvula e inicia um contador (timer). Depois de um tempo predeterminado, o contador dispara um aviso ao controle para abrir a vlvula de drenagem. Com o tanque vazio, o processo completa-se e pode-se iniciar outro tingimento, conforme mostrado na Figura 3 a seguir.

Figura 3. Grfico do comportamento do sistema O sistema desenvolvido ao final desses 6 laboratrios e utilizando os conhecimentos adquiridos pode ser representado pelo Diagrama de Classes apresentado na Figura 4 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 4. Diagrama de Classes para o sistema 2.2. 2 Fase Modelagem e Implementao dos Sub-Sistemas de Controle de Vo, Potncia e Combustvel Para efeito deste Trabalho de Pesquisa, em nvel de IC, os Sub-Sistemas sero chamados de Unidades de Software de Computador - USCs (Computer Software Units - CSU), os conjuntos de USCs sero chamados de Componentes de Software de Computador CSCs (Computer Software Components - CSC), os conjuntos de CSCs sero chamados de Itens de Configurao de Software de Computador ICSCs (Computer Software Configuration Items CSCI) e os conjuntos de ICSCs sero chamados de Sistema de Software de Computador SSC (Computer Software System CSS). Os CSCs podem ser formados por outros CSCs e/ou USCs, enquanto que os USCs so itens discretos e no podem ser mais sub-divididos dentro da hierarquia. Os ICSCs devem ser selecionados, de maneira que se permita o desenvolvimento paralelo e os testes, ou seja, que ocorram to poucas dependncias entre os ICSCs quantas forem necessrias. Segundo (Roetzheim, 1991), alguns dos fatores para se decidir como particionar Softwares em ICSCs so: A Complexidade Funcional dos Componentes; O Tamanho Estimado e Estado Crtico dos Componentes; A Interface, a Base de Dados e a Complexidade de Integrao entre os componentes; A Complexidade dos Requisitos de Segurana dos Componentes; Os Requisitos de Certificao dos Componentes; A Probabilidade de Mudana durante o Ciclo de Desenvolvimento; O Estado Crtico Operacional dos Componentes; A Localizao do Desenvolvimento para os Componentes; e A Agenda. Uma vez definidas as USCs e os CSCs, pde-se ento passar ao desenvolvimento propriamente dito de cada deles. O desenvolvimento da USC de Controle (CTRL) de Vo de um VANT tem por objetivo prover o controle aerodinmico para o veculo. Para desenvolver a USC de CTRL de Vo de um VANT foi necessrio, inicialmente, especificar-se que ela propiciasse controle de direo, de velocidade e de altitude sincronizados com a disponibilidade de combustvel, num intervalo de potncia disponvel, variando de 0 a 100 %. O Diagrama de Casos de Uso elaborado para a USC de CTRL de Vo encontra-se na Figura 5 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 5. Diagrama de Casos de Uso para a USC de CTRL de Vo de um VANT A implementao da USC de CTRL de Vo foi realizada em 3 estados, sendo 2 deles responsveis por enviar sinais para a ativao das outras Cpsulas responsveis, respectivamente, pela Potncia e pelo Combustvel. Os Diagramas de Seqncia, de Estados e de Estruturas referentes implementao da USC de CTRL de Vo encontram-se a seguir, na Figura 6.

Figura 6: Diagramas (a) de Estados; (b) de Estrutura; e (c) de Seqncia da USC de CTRL de Vo de um VANT Note-se a existncia de algumas transies entre os 3 Estados desta USC, e tambm de aes de entradas nos Estados Solicita_Nvel e Altera_altura. A transio altura ativada quando um sinal, doravante chamado de Out_Sinal_Alterar_Altura, enviado pela porta Porta_V_CTR_Recebe e ativa Solicita_Nvel, que por sua vez, deve enviar um sinal, doravante chamado Out_Verifica_Nivel, pela porta Porta_V_CTR_SolicitaN_Comb, a fim de ativar, na Cpsula responsvel pelo Combustvel, uma ao para informar a quantidade de combustvel no tanque. Por essa mesma porta, o sinal In_Verifica_Nivel aciona a transio nvel que deve passar pelo ponto de escolha Verif_Comb_Missao para verificar se h combustvel suficiente para realizar a mudana de altura solicitada por Out_Sinal_Alterar_Altura. Se houver, passa-se para Altera_altura, onde h o envio do sinal Out_Alterar_Potencia pela porta Porta_V_CTR_Envia, a fim de alterar a potncia do motor, utilizando uma ao na Cpsula responsvel pela Potncia. Em caso contrrio, volta-se ao estado inicial. Para a realizao das comparaes e enviar os sinais, necessita-se de 2 atributos denominados AlturaRequerida e Nvel_Combustvel. A implementao da USC de CTRL de Vo numa Cpsula gerou um total de 615 linhas de cdigo-fonte. O desenvolvimento da USC de Potncia (POTE) de um VANT tem por objetivo prover o controle propulsivo do veculo. Para desenvolver a USC de POTE de um VANT foi necessrio que se especificasse suas alteraes de potncia, num intervalo entre 0 a 100%, de acordo com a solicitao da cpsula de controle de vo. O Diagrama de Casos de Uso elaborado para a USC de POTE de um VANT encontra-se na Figura 7 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 7: Diagrama de Casos de Uso para a USC de POTE de um VANT A implementao da USC de POTE foi realizada em 3 estados e uma srie de transies, culminando ou no em pontos de escolha. Os Diagramas de Seqncia, de Estados e de Estruturas referentes implementao da USC de POTE encontramse a seguir, na Figura 8.

Figura 8: Diagramas (a) de Estados; (b) de Estrutura; e (c) de Seqncia da USC de POTE de um VANT. Ativou-se a transio Potencia pelo sinal Out_Alterar_Potencia recebido pela porta Porta_V_CTR_Recebe, culminando no ponto de escolha Potencia_Mudou com o objetivo de verificar, caso necessrio, a alterao na potncia do motor. Realizou-se tal verificao, via dois atributos, PotenciaRequerida e PotenciaAtual, verificao esta que resultar em mudana de estado ou ento retorno ao estado inicial. Mesmo que a mudana de estado ocorra, necessita-se alterar a potncia do motor, precisando-se ainda determinar se essa mudana um aumento ou uma diminuio. Tal determinao realizada com a utilizao de outro ponto de escolha que culminar em outros dois estados: Aumenta_Potencia e Diminui_Potencia. Na transio desses dois estados para o estado inicial deve haver o envio de um sinal, Out_Alterar_Vazao pela porta Porta_VPOT_Envia, a fim de ativar, na Cpsula responsvel pelo Combustvel, uma ao para alterar a vazo de combustvel no tanque, e por conseguinte, a potncia do motor. A implementao da USC de POTE numa Cpsula gerou um total de 670 linhas de cdigo-fonte. O desenvolvimento da USC de Combustvel (COMB) de um VANT tem por objetivo prover o controle do consumo de combustvel do veculo. Para desenvolver a USC de COMB de um VANT foi necessrio, inicialmente, especificar-se que h necessidade de se controlar o nvel de combustvel, num intervalo de 0 a 100%, alterando-se o seu fluxo, de acordo com a potncia solicitada. O Diagrama de Casos de Uso elaborado para a USC de COMB encontra-se na Figura 9 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 9: Diagrama de Casos de Uso da USC de COMB de um VANT A implementao da USC de COMB foi realizada atravs de 3 Estados e uma srie de transies. Os Diagramas de Estados, de Estrutura, e de Seqncia referente a essa modelagem mostrado na Figura 10 a seguir.

Figura 10: Diagramas (a) de Estados; (b) de Estrutura; e (c) de Seqncia da USC de COMB de um VANT. A transio verifica acionada pelo sinal Out_Verifica_Nivel recebido pela porta Porta_VCOMB_Recebe_Ped_N_Comb culminando em Verificar_Nivel, que por sua vez deve enviar o sinal In_Verifica_Nivel pela porta Porta_VCOMB_Recebe_Ped_N_Comb, informando o nvel de combustvel via o atributo Nivel_Comb. Aciona-se a transio altera pelo sinal Out_Alterar_Vazao recebido pela porta Porta_VCOMB_Recebe, culminando em Alterar_Vazao, estado o qual deve realizar a alterao no nvel de combustvel atual, via o atributo VazaoAtual. Ambas as transies retorna so transies com o objetivo de retorno ao estado inicial aps um timeout, a fim de que se possa realizar sucessivas alteraes no nvel de combustvel. A implementao da USC de COMB numa Cpsula gerou um total de 548 linhas de cdigo-fonte. O desenvolvimento do CSC de Controle (CTR) de um VANT integra as trs USCs anteriormente desenvolvidas de modo que os controles aerodinmico, propulsivo e de consumo de combustvel estejam interligados e possam realizar as devidas alteraes entre si. O desenvolvimento do Diagrama de Caso de Uso deste CSC contemplou a maneira como os Sub-Sistemas deveriam se comportar individualmente, entre si e interagindo com os respectivos Atores e Casos de Uso envolvidos, conforme mostrado na Figura 11 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 11: Diagrama de Casos de Uso para o CSC de CTR de um VANT. A implementao desta CSC de CTR de um VANT foi realizada por meio de trs Capsule Roles baseadas nas trs Cpsulas anteriormente implementadas. O Diagrama de Seqncia e de Estruturas referente a tal modelagem apresentado nas Figura 12 e Figura 13 a seguir.

Figura 12: Diagrama de Seqncia do CSC de CTR de um VANT

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 13: Diagrama de Estruturas do CSC de CTR de um VANT Para existir a comunicao entre as Cpsulas, ou seja, para que os sinais de uma Cpsula possam atuar em outras, os trs Capsule Roles devem comunicar-se entre si, utilizando as portas corretas com as devidas conjugaes. A USC de CTRL de Vo comunica-se: com a USC de COMB, por meio das portas Porta_V_CTR_SolicitaN_Comb e Porta_VCOMB_Recebe_Ped_N_Comb; e com a USC de POTE, via as portas Porta_V_CTR_Envia e Porta_VPOT_Recebe. A USC de POTE comunica-se com a USC de COMB, utilizando-se respectivamente, das portas Porta_VPOT_Envia e Porta_VCOMB_Recebe. Algumas consideraes estatsticas sobre o Desenvolvimento do CTR de um VANT merecem ser citadas. Para a implementao da CSC de CTR de um VANT, foram utilizadas quatro Cpsulas, um Protocolo e geradas um total de 2722 linhas de cdigo-fonte. Este desenvolvimento foi baseado em (Chagas, Silva, Franco, 2006), documentao constante em dez Artefatos do RUP dos Prottipos de Projeto de USCs e CSCs. O Diagrama de Classe obtido, ao final do desenvolvimento do CSC de CTR de um VANT, encontra-se mostrado na Figura 14 a seguir.

Figura 14: Diagrama de Classes do CSC de CTR de um VANT Os Tipos e quantidades de Diagramas da UML utilizados neste Trabalho de IC encontram-se listados na Tabela 1 a seguir.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Tabela 1: Tipos e Quantidades de Diagramas da UML Tipo de Diagramas Diagramas de Casos de Uso Diagramas de Seqncias Diagramas de Estados Diagramas de Estruturas Diagramas de Classes Total

Quantidades 8 4 3 4 1 20

Para realizar uma Estimativa de Esforos baseada em Casos de Uso foi utilizado o EPCU desenvolvido por (Silva, 2006), que propicia estimativas de esforos de desenvolvimento de software baseadas em parmetros inseridos pelo Usurio sobre Casos de Uso e Atores criados no IBM RRRT. Ajustando-se os pesos dos Atores e dos Casos de Uso do CSC de CTR de um VANT e levando-se em considerao que somente o bolsista realizando esta Pesquisa em nvel de IC poderia estar envolvido neste Projeto, as principais estimativas e resultados que esta ferramenta propicia encontram-se detalhados nas Figura 15, 16 e 17 a seguir.

Figura 15: Estimativa de Esforos Baseada nos Diagramas de Casos de Uso

Figura 16: Pesos dos Atores e Casos de Uso Interpretando-se os dados apresentados na Figura 17 constata-se que, para desenvolver, de forma completa, todos os Sub-Sistemas de Controle do Vo, Potncia e Combustvel de um VANT, estima-se que, com uma Percentagem de Segurana (folga) de 15 %, uma pessoa (como o bolsista desta IC), com Dedicao Mensal na Equipe de 80 horas de trabalho, levaria 30,51 meses ou 2,54 anos.

Anais do XIII ENCITA 2007, ITA, Outubro, 01-04, 2007 ,

Figura 17: Valores para Estimativa de Esforos 3. Concluses Para o desenvolvimento com sucesso do Prottipo de Software envolvendo as 03 (trs) USCs (de Controle de Vo, de Potncia e de Combustvel) e as suas integraes num s CSC de Controle de um VANT, foram utilizados: 10 (dez) artefatos do RUP; 20 (vinte) Diagramas da UML de 05 (cinco) diferentes tipos; geradas 2.722 linhas de cdigo-fonte; a partir de duas ferramentas CASE, uma para Especificao de Requisitos, Modelagem e Implementao, e outra para clculo de Estimativas de Esforos por Pontos de Casos de Uso. O Software utilizado mostrou-se bastante poderoso e apropriado para a modelagem e utilizao na Soluo de Problemas de Engenharia. O autor deste Trabalho de Pesquisa, aps a sua realizao, sente-se devidamente capacitado para utilizar a Ferramenta CASE IBM RRRT, em seu futuro Trabalho de Graduao (TG). Os novos conhecimentos adquiridos permitem vislumbrar solues novas para os problemas relacionados com a rea de Controle da Engenharia Aeronutica. Com o treinamento realizado foi possvel sentir-se capacitado a realizar novas tarefas de modelagem de sistemas embarcados de tempo real, e aplicar conceitos e Ferramentas de Modelagem Visual que representam o estado da arte, o estado da tcnica e o estado da prtica em termos de Engenharia de Software ajudada por computador. Durante a sua realizao, ficou evidente que este Trabalho de IC tem o potencial de propiciar ainda grandes frutos para a continuidade da pesquisa a ser endereada, sob a forma de um TG para o autor, dentro da mesma Linha de Pesquisa. Mais tarde, outras pesquisas ainda com maior nvel de profundidade podero ser realizadas, em nvel de Tese de Mestrado. 4. Agradecimentos Agradeo s pessoas envolvidas no Projeto e mais diretamente ao Prof. Dr. Adilson Marques da Cunha e aos Alunos de Ps-Graduao do ITA Diogo Branquinho Ramos, Caio Monteiro e Dbora Aparecida Chagas que, at a data de publicao deste artigo, me apoiaram com os seus conhecimentos na rea de Engenharia de Software, propiciandome aprender cada vez mais sobre a modelagem e o desenvolvimento do importante Projeto do Veculo Areo No Tripulado VANT. Agradeo tambm ao CNPq que, vinculado ao Ministrio da Cincia e Tecnologia (MCT), vem apoiando as pesquisas brasileiras, contribuindo diretamente para a formao de jovens pesquisadores, investindo e promovendo o aumento da produo de conhecimento e gerando novas oportunidades para jovens universitrios desejosos de iniciar uma vida de pesquisa e desenvolvimento nas diversas reas do conhecimento. 4. Referncias Chagas, D. A., Silva, C. M. B. da, Franco, G. D., 2006, Artefatos do RUP da Matria CE-235 Sistemas Embarcados de Tempo Real. Instituto Tecnolgico de Aeronutica, So Paulo, Brasil. Cunha, A. M. da, 2006, Notas de Aulas do Curso de Introduo a Sutes de Ferramentas I-CASE-E. Instituto Tecnolgico de Aeronutica, So Paulo, Brasil. Dourado, Rogrio; Allex, Elthon. Construo de uma metodologia para desenvolvimento de software embarcado (Consultado em 2006). Roetzheim, W. H., 1991, Developing Software to Government Standards. Wehrmeister, M. A., Becker, L. B., Pereira, C. E. Metodologia de Projeto Orientada a Objetos Baseada em Plataformas para Sistemas Tempo-Real Embarcados (Consultado em 2006).