Systematic Development of Trustworthy Component-based Systems - Teixeira Ramos, Rodrigo (2011)
Apesar de componentes serem tratados como unidades básicas de composição no desenvolvimento baseado em componentes (CBD), para que eles obtenham um disseminado status de serem facilmente conectados como peças de lego a integração de componentes precisa ser cuidadosamente projetada, sistematizada e verificada; somente isto poderá garantir arquiteturas confiáveis. Além dos argumentos gerais sobre redução de custo através de reuso, abordagens CBD precisam oferecer uma interessante, e frutífera, oportunidade para o desenvolvimento de sistemas críticos de alta qualidade e viável no contexto industrial. Para alcançar esta meta, propomos neste trabalho uma abordagem sistematizada para a construção de sistemas baseados em componentes (CBS) confiáveis. A abordagem foca na realização de análises que consideram preocupações de engenharia no CBD. Ela se baseia em um modelo de componentes que caracteriza os blocos de construção de nossa abordagem de desenvolvimento, e que impõe as restrições necessárias para sua interação segura. Além disto, definimos restrições de construção para o nosso modelo de componentes, baseadas em regras de composição para componentes. Estas permitem verificar quando dois componentes são compatíveis para trocarem informações. As regras de composição compreendem um método sistematizado para preservar, por construção, propriedades comportamentais em composições de componentes; em particular, focamos na preservação de progresso local e da ausência de deadlock nas composições. Como conseqüência, é possível prever o comportamento de uma vasta gama de CBS, antes de sua implementação, com base em propriedades conhecidas do sistema. Em nossa abordagem, também propomos alternativas de verificação mais amenas: a) predições de condições de composição baseadas na análise de metadados de componentes; b) simplificações em verificações de componente associados a estilos arquiteturais específicos. Toda a abordagem é apoiada pela álgebra de processos CSP, que oferece modelos semânticos que suportam uma vasta gama de verificações e comparações de processos. Além disto, ilustramos a aplicação desta abordagem através de dois estudos de caso, que focam em diferentes aspectos da nossa abordagem, e verificamos mecanicamente a preservação de propriedades comportamentais de componentes na evolução dessas aplicações