Infraestrutura baseada em componentes para o desenvolvimento de software com suporte à evolução dinâmica não antecipada.
Ano de defesa: | 2007 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Tese |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UFCG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/2462 |
Resumo: | As atividades relacionadas à evolução têm sido apontadas como fatores de grande impacto sobre o custo e o tempo inerentes ao processo de engenharia de sistemas de software. O impacto causado por tais atividades de evolução é maior quando as mudanças de requisitos a serem contempladas em um software existente não são previstas, ou antecipadas, durante o projeto inicial do sistema. Este tipo de evolução torna-se ainda mais complexo em determinados domínios de aplicação, nos quais, por razões financeiras ou de segurança, a evolução deve ser realizada dinamicamente, ou seja, sem que a execução do software seja interrompida. Neste trabalho apresenta-se uma infra-estrutura para o desenvolvimento de software com suporte à evolução dinâmica não antecipada. Mais especificamente, introduz-se um modelo de composição de componentes, arcabouços e um conjunto de ferramentas que permitem o desenvolvimento de software com suporte a mudanças não previstas nos seus requisitos iniciais. Apresenta-se um arcabouço genérico para a implementação da especificação de componentes, assim como, a implementação deste arcabouço nas linguagens Java, Python, C++ e C Sharp, e a extensão deste arcabouço para a construção de aplicações corporativas. Propõe-se também um modelo para análise de desempenho de aplicações desenvolvidas utilizando a infra-estrutura. As ferramentas desenvolvidas para o suporte ao desenvolvimento de componentes e composição, análise de desempenho e execução de aplicações também são descritas. Apresenta-se também a utilização do método formal Alloy na definição de um mecanismo que possibilita que o desenvolvedor verifique se um dado cenário de evolução não antecipada satisfaz a corretude da especificação formal do sistema. Para guiar o desenvolvedor na utilização da infra-estrutura, descreve-se um processo de desenvolvimento de software com suporte à evolução dinâmica não antecipada. Por fim, a validação do trabalho foi realizada através do desenvolvimento de várias aplicações nos contextos de computação pervasiva, sistemas multi-agentes e comunidades virtuais móveis. |