Bolsa 08/02500-2 - Engenharia de software - BV FAPESP
Gerenciamento de dependências em sistemas baseados em componentes
Projeto e especificação de um gerador de rotas que atue de forma integrada com um ...
Representação Explícita de Fluxos Excepcionais em Arquiteturas de Componentes de Software
Processo: 08/02500-2
Beneficiário: Ivo Augusto Fontana Bertoncello
A disseminação de sistemas computacionais em atividades críticas tornou a confiabilidade uma característica indispensável a esses sistemas. Essa confiabilidade pode ser obtida através da utilização sistemática de mecanismos de tratamento de exceções. Porém, os mecanismos de tratamento de exceções existentes nas linguagens de programação orientadas a objetos apresentam várias limitações que prejudicam o desenvolvimento de sistemas de software modernos, como por exemplo: (i) representação implícicita do fluxo excepcional; (ii) forte acoplamento entre as partes do código que implementam os comportamentos normal e excepcional e (iii) foco em classes e não em componentes de software. Por essa razão, o uso desses mecanismos dificulta o controle do fluxo de exceções e a reutilização de software durante o desenvolvimento. Outro fator complicante no gerenciamento dos erros de um sistema é a necessidade de se considerar o comportamento interativo entre elementos arquiteturais, a fim de tanto evitar a propagação desordenada de erros, quanto de proporcionar um tratamento adequado por parte dos componentes envolvidos. Por esses motivos, a disciplina de arquitetura de software vem sendo amplamente utilizada, uma vez que representa o sistema de maneira abstrata, em função de seus componentes e as suas regras de interação. Esse projeto de pesquisa propõe uma solução para melhorar a qualidade da implementação do comportamento excepcional no desenvolvimento e evolução de sistemas robustos baseados em componentes. A solução proposta envolve a extensão de um modelo de implementação de componentes para representar explicitamente fluxos excepcionais da aplicação e prover um maior desacoplamento entre os fluxos e seus tratadores. Dessa forma, espera-se facilitar a especificação e evolução de sistemas confiáveis e maximizar a reutilização de componentes de software.