SICSDA - Uma Arquitetura de Software Distribuída, Configurável e Adaptável Aplicada às Várias Missões de Controle de Satélites



Documentos relacionados
UMA ARQUITETURA DE SOFTWARE DISTRIBUÍDA, CONFIGURÁVEL E ADAPTÁVEL APLICADA ÀS VÁRIAS MISSÕES DE CONTROLE DE SATÉLITES

Persistir os Metadados dos Modelos de Objetos de Sistemas Distribuídos e Adaptáveis.

Estrutura de Dados e Regras de Negócio Configuráveis pelo Usuário Final

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

3. Fase de Planejamento dos Ciclos de Construção do Software

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

UFG - Instituto de Informática

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

2 Engenharia de Software

2 Ferramentas Utilizadas

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Resolução da lista de exercícios de casos de uso

Política Gestão de Configuração e Mudança

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

O Padrão Arquitetural Auto-Adaptável

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

ASTRONOMIA, SOMBRAS E OUTROS CONHECIMENTOS CIENTÍFICOS NO ENSINO MÉDIO

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS

7 Mudanças Realizadas

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

GBD PROF. ANDREZA S. AREÃO

5 Mecanismo de seleção de componentes

2 Gerenciamento de Log 2.1 Definições básicas

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

Conceitos de Banco de Dados

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Disciplina de Banco de Dados Introdução

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Introdução a Banco de Dados Aula 03. Prof. Silvestri

SARESTA SISTEMA DE RESTABELECIMENTO INTEGRADO AO SISTEMA DE SUPERVISÃO E CONTROLE DISTRIBUÍDO DA CEMIG

3 SCS: Sistema de Componentes de Software

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações

SICDA UMA ARQUITETURA DE SOFTWARE DISTRIBUÍDA CONFIGURÁVEL E ADAPTÁVEL APLICADA ÀS VÁRIAS MISSÕES DE CONTROLE DE SATÉLITES

Introdução à Engenharia de Computação

agility made possible

Gerenciamento de Projetos Modulo VIII Riscos

Diagrama de Estrutura Composta

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Prática em Banco de Dados MER Sistema SIGEM. Grupo: Marcos Felipe Paes Pessoa Renan do Carmo Reis

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Processos de gerenciamento de projetos em um projeto

Desenvolvimento de uma Etapa

PLANEJAMENTO ESTRATÉGICO

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Gerenciamento de Requisitos Gerenciamento de Requisitos

3 Qualidade de Software

5.1. Análise Comparativa

Modelagem de Sistemas

Qualidade de Software

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

Unidade I Conceitos BásicosB. Conceitos BásicosB

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

Gerenciamento da Integração (PMBoK 5ª ed.)

Computador Digital Circuitos de um computador (Hardware)

Qualidade de Software

Requisitos de Software

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Vantagens do software open-source instanciando o caso da solução integrada de bibliotecas Koha. Workshop Nacional sobre o Koha

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

RESERVAR MANUAL SISTEMA DE RESERVAS DE SALAS INFORMATIZADAS

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

MEMÓRIA E RECOMENDAÇÃO DA REUNIÃO SOBRE CIÊNCIA E ENGENHARIA DE MATERIAIS.

Especificação do Trabalho

SISTEMA GERENCIADOR DE BANCO DE DADOS

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

CAPÍTULO 12 CONCLUSÃO

O desafio de adaptabilidade em software para gestão de cidades mais inteligentes

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Qualidade de Software

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

ITIL v3 - Operação de Serviço - Parte 1

3.1 Definições Uma classe é a descrição de um tipo de objeto.

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Aula 03-04: Modelos de Sistemas Distribuídos

Curso sobre Google Analytics - Outubro/2013 (em português)

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

XIX CONGRESSO DE PÓS-GRADUAÇÃO DA UFLA 27 de setembro a 01 de outubro de 2010

Banco de Dados Orientado a Objetos

LINGUAGEM DE BANCO DE DADOS

Análise e Projeto Orientados por Objetos

Transcrição:

SICSDA - Uma Arquitetura de Software Distribuída, Configurável e Adaptável Aplicada às Várias Missões de Controle de Satélites Adriana Cursino Thomé Instituto Nacional de Pesquisas Espaciais drithome@bol.com.br Mauricio G. V. Ferreira Instituto Nacional de Pesquisas Espaciais mauricio@ccs.inpe.br João Bosco S. Cunha Universidade Federal de Itajubá bosco@unifei.edu.br Resumo Propõe-se neste trabalho uma arquitetura distribuída, configurável e adaptável para o software de controle de satélites (SICSDA). O objetivo de se propor esta arquitetura é permitir que o controle dos vários satélites possa ser feito usando-se o mesmo conjunto de máquinas, possibilitando que se possa escolher qual dos satélites deseja-se monitorar em um determinado instante. Outro fator importante é a necessidade de se ter uma arquitetura que permita que uma nova missão possa ser acomodada sem a necessidade de se criar um sistema específico para o satélite a ser lançado, fazendo com que o esforço necessário para adaptar o sistema a esse novo requisito seja minimizado. Palavras-chave: modelos de objetos adaptáveis, metamodelos, sistemas distribuídos.. Introdução O Instituto Nacional de Pesquisas Espacias (INPE), como uma das principais organizações envolvidas na evolução tecnológica espacial brasileira, assumiu a responsabilidade do lançamento e controle dos primeiros satélites brasileiros. O programa espacial brasileiro compreende o lançamento de quatro satélites, sendo os dois primeiros utilizados para coleta de dados (SCD (Sistema de Coleta de Dados ) e SCD2 (Sistema de Coleta de Dados 2)), e os outros, para sensoriamento remoto (CBERS (China Brazil Earth Research Satellite ) e CBERS2 (China Brazil Earth Research Satellite 2)), todos já lançados. Para gerir todas as peculiaridades inerentes ao controle de um satélite, o INPE criou uma infra-estrutura robusta, composta pelo Centro de Controle de Satélites (CCS), por duas estações de rastreamento (Estações de Cuiabá e Alcântara), por uma rede de comunicação (RECDAS) e por aplicativos de software para o controle de satélites (SICS). As estações remotas localizadas em Cuiabá e Alcântara oferecem, juntamente com o CCS, o suporte em terra para o controe dos satélites em órbita [4]. Para cada satélite já lançado foi desenvolvido um aplicativo de software que permite o seu monitoramento em terra. Isso é necessário, pois cada satélite tem características próprias, que normalmente variam, mesmo que sutilmente, de um satélite para outro. O acesso a esses aplicativos está restrito aos controladores de satélites fisicamente localizados no CCS no INPE em São José dos Campos. Cada satélite lançado necessita, portanto, que seja destinada a ele uma máquina ou um conjunto de máquinas específicas onde um aplicativo específico para aquele determinado satélite é executado, auxiliando no recebimento de seus dados e monitoramento de seu estado interno. Isto significa que para cada novo satélite a ser lançado, um aplicativo deverá ser desenvolvido ou adaptado para aquele satélite em especial, e máquinas deverão ser destinadas à execução desse software específico, implicando em um custo de desenvolvimento adicional a cada novo lançamento, tanto em termos de hardware, quanto em termos de software. Este contexto nos leva a pensar na criação de um único sistema de software para o controle de satélites, que permita que os diferentes tipos de satélites possam ser monitorados de uma mesma máquina ou de um mesmo conjunto de máquinas. Ainda assim, a necessidade de uma adaptação no sistema, Poe exemplo, para incorporar características de um novo satélite a ser monitorado, traria uma série de dificuldades para a adaptação do software, ocasionando um grande esforço despendido para que as novas características pudessem ser incorporadas ao sistema de forma que a qualidade do mesmo fosse mantida. Todas estas questões aliadas ao desejo crescente de se obter aplicações que evoluam à medida que o domínio evolui, fez com que se pensasse em construir aplicações mais configuráveis, flexíveis e adaptáveis, permitindo que o sistema pudesse se adaptar, mais facilmente, às novas necessidades do domínio, acompanhando a evolução dos requisitos, porém, mantendo sua qualidade.

Uma forma de se conseguir isto é mover certos aspectos do sistema, como regras de negócio, por exemplo, para o banco de dados, fazendo com que dessa forma, elas possam ser facilmente modificadas. O modelo resultante permite que o sistema possa se adaptar rapidamente às novas necessidades do domínio através de modificações nos valores armazenados no banco de dados, ao invés de modificações no código. Isto encoraja o desenvolvimento de ferramentas que permitam que os especialistas do domínio introduzam novos elementos ao software sem a necessidade de programação adicional, e que façam mudanças em seus modelos de domínio em tempo de execução, reduzindo significantemente o tempo para incorporação de novos requisitos ao software. Arquiteturas que podem dinamicamente se adaptar em tempo de execução a novos requisitos de usuários são chamadas de arquiteturas reflexivas ou metaarquiteturas. Uma arquitetura de modelos de objetos adaptáveis (Adaptive Object_Model Architecture) é um tipo particular de arquitetura reflexiva que abrange sistemas orientados a objeto que gerenciam elementos de algum tipo, e que podem ser estendidos para adicionar novos elementos [2]. Dessa forma, um modelo de objetos adaptável é um sistema que representa classes, atributos e relacionamentos como sendo metadados. Os usuários modificam os metadados (modelo de objetos) para refletir as mudanças no domínio. Essas mudanças modificam o comportamento do sistema. Em outras palavras, o sistema armazena o modelo de objetos em um banco de dados e o interpreta. Conseqüentemente, o modelo de objetos é ativo, e quando ele é modificado, o sistema muda imediatamente. Assim sendo, os metadados são usados em modelos de objetos adaptáveis para descrever o modelo em si. Desde que o sistema consiga interpretar os metadados para construir e manipular as descrições das classes do modelo em tempo de execução, torna-se fácil adicionar novas classes ao modelo de objetos adaptável, e tornálas imediatamente disponíveis para os usuários [5]. Usar a abordagem dos modelos de objetos adaptáveis (AOMs) no desenvolvimento de sistemas pode amenizar alguns dos problemas que vêm sendo encontrados pelos desenvolvedores de software, principalmente em relação à flexibilidade, evolução e manutenção do sistema, permitindo que o custo total do desenvolvimento e manutenção possa ser reduzido drasticamente [6]. 2. A arquitetura SICSDA O objetivo da arquitetura SICSDA é permitir que o controle dos vários satélites possa ser feito usando-se o mesmo conjunto de máquinas, possibilitando que se possa escolher qual dos satélites deseja-se monitorar em um determinado instante. É importante ressaltar que não é possível, pelo menos por enquanto, monitorar mais de um satélite por vez, já que apenas a estação de Cuiabá encontra-se em operação. Outro fator importante é a necessidade de se ter uma arquitetura que permita que uma nova missão possa ser acomodada sem a necessidade de se criar um sistema específico para o satélite a ser lançado, fazendo com que o esforço necessário para adaptar o sistema a esse novo requisito seja minimizado. A arquitetura SICSDA modela a aplicação para o controle de satélites baseando-se nos modelos de objetos adaptáveis (AOMs). Isso significa que nesta arquitetura os objetos do domínio do problema, por exemplo; telemetria, telecomando, ranging; ao invés de estarem localizados no código que implementa a aplicação, estão armazenados em um banco de dados para que possam ser instanciados em tempo de execução. Isto significa que o sistema tem um código genérico implementado em uma linguagem de programação orientada a objetos, que representa o metamodelo para as classes do domínio do problema do Sistema de Controle de Satélites. Esse código genérico (metamodelo) deve ser capaz de acomodar os diferentes modelos de objetos (metadados) dos vários satélites. A arquitetura SICSDA, principalmente por questões de tolerância às falhas, é distribuída, e as funcionalidades oferecidas pela aplicação; por exemplo, visualização de telemetria, emissão de telecomando podem estar distribuídas dentro de um domínio de rede pré-definido. Isso significa que os objetos da aplicação podem ser instanciados em máquinas diferentes na rede, ocasionando, portanto, uma distribuição do código do sistema. O middleware é responsável por prover a localização desses objetos, ou seja, em que máquina da rede eles estão disponíveis. Pode-se dizer que a arquitetura SICSDA é adaptável porque é possível, em tempo de execução, alternar entre os metadados dos diversos satélites, ocasionando uma instancialização de um novo modelo de objetos em cima metamodelo cada vez que uma troca de contexto desse tipo for requisitada pelo usuário, ou seja, cada vez que se desejar controlar outro satélite. Pode-se dizer ainda que a arquitetura SICSDA é adaptável, porque é capaz de acomodar possíveis mudanças no domínio do problema através da configuração apropriada dos metadados, permitindo que se possa acompanhar a evolução dos requisitos do domínio, e adaptando-se às necessidades dos usuários. Dessa forma, os especialistas do domínio (controladores de satélites e engenheiros de satélites) e os desenvolvedores do software podem adaptar o sistema para acomodar novas classes através da criação, em tempo de execução, dessas classes e seus atributos. Pode-se dizer que a arquitetura SICSDA é configurável em relação às regras de negócio, pois é possível que novas regras de negócio (ou novos métodos) sejam associadas a uma classe do domínio em tempo de execução. A Figura ilustra a estrutura e o funcionamento da arquitetura SICSDA. A seguir são detalhados os elementos que aparecem na Figura.

Simulador de Satélites Persistência Aplicação Distribuída para o Controle de Satélites Usuário Configuração Carga Adaptação BD J2EE Sistema Operacional Base de Configurações Rede Fig. - Arquitetura SICSDA. Aplicação Distribuída para o Controle de Satélites: contém os objetos do software aplicativo que realiza o controle dos satélites (telecomando, ranging, telemetria etc.). Persistência: é responsável por armazenar e recuperar do banco de dados os metadados do sistema. Adicionalmente, ele responsável por armazenar e recuperar de uma base de dados chamada de Base de Configurações, os dados de autenticação dos usuários e os dados da configuração dos objetos nos nós onde a arquitetura SICSDA está implantada. Configuração: faz parte da camada de apresentação do sistema e é responsável por manter os metadados do sistema e por manter a configuração dos objetos nos nós onde a arquitetura SICSDA está implantada. Deve oferecer aos especialistas do domínio e desenvolvedores de software uma interface adequada para que eles realizem tal tarefa. Carga: é responsável por dar a carga inicial do sistema, ou seja, executar a rotina de carga do sistema nos nós onde a arquitetura SICSDA foi implantada. Usuário: faz parte da camada de apresentação do sistema e é responsável por oferecer aos especialistas do domínio a interface adequada para a visualização de telemetria, emissão de telecomando, obtenção de medidas de distância e calibração etc, do satélite desejado. Além disso, ele deve prover aos usuários a interface para a autenticação no sistema. Adaptação: é responsável por prover o metamodelo que permitirá com que efetivamente os objetos trazidos do banco de dados sejam instanciados, e que possam ser modificados em tempo de execução. Simulador de Satélites: é o software que simula a interação com os satélites, ou seja, que simula a chegada e envio de dados dos/para os satélites. 3. Resultados obtidos Baseando-se no diagrama de classes que representa as classes do domínio do problema dos satélites SCD, SCD2 e CBERS2, mostrado na Figura 2, pode-se obter um diagrama de classes genérico que representa o metamodelo para as classes do domínio do problema do Sistema de Controle de Satélites. Esse metamodelo é apresentado na Figura 3. Ele foi obtido através da aplicação de uma seqüência de design patterns: pattern TypeObject, pattern Property, pattern Accountability e pattern Strategy. Mais informações sobre esses design patterns podem ser encontradas em [5] e [2]. O ambiente para o protótipo da arquitetura SICSDA foi desenvolvido usando-se a linguagem Java versão.4., o banco de dados Caché, versão 5.0.5, o ambiente de desenvolvimento Jbuilder versão X, e o servidor de aplicações J2EE Jboss versão 3.0.8. O metamodelo foi representado no banco de dados, e os metadados para cada satélite puderam ser armazenados através de uma interface gráfica disponibilizada pelo Configuração. Através dessa interface, é possível realizar alterações em tempo de execução nas classes e seus atributos armazenados, e também associar novos métodos às classes. O usuário interage com o sistema para a realização de alguma funcionalidade, por exemplo, Visualizar telemetria, Enviar Telecomando ou Obter Medidas, através da interface provida pelo Usuário. Na Figura 4 pode-se visualizar o diagrama de seqüência que representa a realização dessas operações no sistema. Deve-se observar que, em virtude das classes do metamodelo serem genéricas, apenas um diagrama de seqüência foi necessário para representar a realização das operações citadas. Apesar de muitos aspectos apontarem para o fato de que, pelos menos inicialmente, as arquiteturas baseadas em AOMs exigem mais esforço para serem construídas, pretende-se com este trabalho dar um passo significativo em direção a melhoria da reusabilidade e alterabilidade do Sistema de Controle de Satélites, já que os sistemas adaptáveis têm a característica de acompanhar mais facilmente a evolução dos requisitos do negócio. Na verdade, o esforço para se realizar alterações em sistemas desse tipo pode ser bastante minimizado, já que alterações no código podem ser reduzidas substancialmente. Adicionalmente, com este tipo de arquitetura pode-se permitir que os próprios especialistas do domínio realizem algumas alterações, melhorando a alterabilidade e diminuindo a intervenção dos desenvolvedores do software na evolução do sistema.

s atelite codigo num _fram es..*..* subs istem a codigo fra m e data hora codigo..* estacao la titu d e longitude m ensagem..*..*..* telecom ando codigointerno num ero descricao enviartelecom ando() arm azenartelecom ando() telemetria num ero descricao word processtype va lo rma x va lo rmin ranging va lo r sequencial m anual tem porizado tem po vis u a liza rte le m e tria () arm azenartelem etria() recebertelem etria() m edidas te m p o _ to ta l calcularmedidas() calibracao tem po_solo analogica lim ite va lo rn o m in alinf va lo rn o m in als u p digital va lo ralarm e..* m odeequation Fig. 2 Diagrama de classes para os satélites SCD, SCD2 e CBERS2. Além disso, com esse tipo de arquitetura pode-se dar um passo em relação à melhoria do fator economicidade do Sistema de Controle de Satélites, uma vez que futuras missões poderão aproveitar quase todo o investimento de hardware e software já feito em outras missões. O trabalho aqui descrito une, portanto, áreas que normalmente são exploradas de forma independente, trazendo para si uma característica multidisciplinar, ou seja, possibilitando a integração e colaboração da área de sistemas distribuídos, modelos de objetos adaptáveis e engenharia de software. Além disso, o trabalho aproveita esforços do passado através da elaboração de uma arquitetura que modela a aplicação para o controle de satélites com base nas arquiteturas SOFTBOARD e SICSD, propostas em [3] e [4], respectivamente. Atualmente, o trabalho desenvolvido já foi apresentado e/ou publicado em [7], [8], [9], [0] e [], e originou os trabalhos sendo desenvolvidos em [] e [2]. Espera-se, desta forma, colaborar, mesmo que de forma modesta, para o avanço da pesquisa no Brasil, e para o sucesso da missão espacial brasileira, oferecendo uma nova alternativa para a arquitetura do software para o controle de satélites, e, principalmente, abrindo novos campos de estudo em direção aos sistemas adaptáveis. 4. Referências Bibliográficas []Almeida, W. R. Uma abordagem para a persistência dos modelos de objetos de sistemas distribuídos, configuráveis e adaptáveis. Dissertação de Mestrado em Computação Aplicada. INPE. 2004. (Em andamento) [2]Cardoso, P. E. Modelo de objetos dinâmico aplicado ao processamento de telemetrias de satélites. Dissertação de Mestrado em Computação Aplicada. INPE. 2004. (Em andamento) [3]Cunha, J. B. S. Uma abordagem de qualidade e produtividade para desenvolvimento de sistemas de software complexos utilizando a arquitetura de placa de software SOFTBOARD. Tese de Doutorado, Computação Aplicada. INPE. 997. [4]Ferreira, M. G. V. Uma arquitetura flexível e dinâmica para objetos distribuídos aplicada ao software de controle de satélites. Tese de Doutorado, Computação Aplicada. INPE. 200. [5]Johnson, R.; Yoder, J. W. The adaptive object-model architectural style. IEEE/IFIP Conference on Software Architecture 2002 (WICSA3 02). Canada. August of 2002. [6]Ledeczi, A.; et al. Synthesis of self-adaptive software. IEEE Areospace Conference Proceedings. USA. V 4, pg. 50-507. 2000.

sateliteentitybean codigo : integer num_frames : integer <<findermethod>> findsat()..* subsistemaentitybean codigosatelite : integer <<findermethod>> findsub()..* mensagementitybean codigoframe : integer nomesubsistema : String tipomensagem : String..*..* frameenti tybean data : String hora : String codigo : integer nomeestacao : String codigosatelite : integer <<findermethod>> findframe()..* propriedadeentitybean tipo : String valor : String nomemensagem : String tipopropriedade : String <<findermethod>> findprop() estacaoentitybean latitude : float longitude : float <<findermethod>>findestacao() est_tipopropentitybean nometipoprop : String nomeest rategia: String <<findermethod>> findest_tp() <<f indermethod>> findmens() tipomensagementitybean nome_tipomensagem : String tipotipomensagem : String est_tipomensentitybean nomemensagem : String nomeestrategia: String <<findermethod>>findest_tipom() > tipodepropriedadeentitybean tipo : Type tipomensagem : String tipotipomensagem : String <<findermethod>> findtprop() <<f indermethod>> findtipomens() tipotipomensagementitybean nome_tipotipo : String estrategiaentitybean <<findermethod>>findest() <<f indermethod>> findttmens() est_tipotipomensentitybean relacionamentoentitybean classe : String classe2 : String tipo : String nomemensagem : String <<findermethod>> findrel() tipoderelacionamentoentitybean classe : String classe2 : String multiplicidade : String multiplicidade2 : String tipomensagem : String tipotipomensagem : String <<f indermethod>> findtiporel() nometipotipo : String nomeestrategia : String <<f indermethod>> findest_tm() Fig. 3 Diagrama de classes que representa o metamodelo para as classes do domínio do problema do sistema de controle de satélites. [7]Thomé, A. C.; et al (a). SICSDA An adaptive configurable distributed software architecture applied to satellite control missions. XVII SBES - Simpósio Brasileiro de Engenharia de Software VIII Workshop de Teses em Engenharia de Software. Manaus, AM. October of 2003. [8]Thomé, A. C.; et al (b). Uma arquitetura de software reflexiva baseada em modelos de objetos adaptáveis. II Encontro de Informática de Campo Largo. Campo Largo, PR. Novembro de 2003.

Fig. 4 Diagrama de seqüência genérico. [9]Thomé, A. C.; et al (c). Uma Arquitetura de Software Distribuída, Configurável e Adaptável Aplicada às Várias Missões de Controle de Satélites (SICSDA).III Worshop dos Cursos de Computação Aplicada do INPE. São José dos Campos, SP. Novembro de 2003. [0]Thomé, A. C.; et al (d). Establishing an adaptive configurable distributed software architecture applied to satellite control missions. Eighth International Conference on Space Operations SpaceOps 2004. Montreal, Canadá. May of 2004. []Thomé, A. C.; et al (e). SICSDA: an Adaptive Configurable Distributed Software Architecture Applied to Satellite Control Missions. 8 th European Conference on Object-Oriented Programming - ECOOP 2004. Oslo, Norway. June of 2004. [2]Yoder, J. W.; et al. Architecture and design of adaptive object-models. ACM Sigplan Notices. Vol. 36, Fasc. 2, pg. 50-60, December of 200.