Infraestrutura baseada em componentes para o desenvolvimento de software com suporte à evolução dinâmica não antecipada.

Detalhes bibliográficos
Ano de defesa: 2007
Autor(a) principal: ALMEIDA, Hyggo Oliveira de.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
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.