Design seguro e construtivo com componentes UML
CSP, Componente, Verificação Compositional, UML, Análise de Deadlock
A Engenharia de Software baseada em modelos surgiu como uma abordagem para lidar com a complexidade do desenvolvimento de sistemas atuais. Em particular, as estratégias de composição assumem que os sistemas podem ser construídos a partir de unidades reutilizáveis e fracamente acopladas. No entanto, ainda é um desafio garantir que propriedades desejadas sejam válidas para a integração de componentes. Apresentamos um modelo baseado em componentes para UML, incluindo um metamodelo, condições de boa formação e semântica formal via tradução para BRIC; a apresentação da semântica é dada por um conjunto de regras que abrangem todos os elementos do metamodelo e os mapeiam para suas respectivas denotações BRIC. Usamos BRIC como um framework de desenvolvimento de componentes subjacente (e totalmente oculto) para que nossa abordagem se beneficie de toda a infraestrutura formal desenvolvida para BRIC usando CSP (Communicating Sequential Processes). A composição do componente especificada por meio de diagramas estruturais UML, garante a aderência às propriedades concorrentes clássicas: nosso foco é a preservação da ausência de deadlock. O suporte automatizado é desenvolvido como um plug-in para a ferramenta de modelagem As tah. A verificação é realizada usando FDR (um verificador de modelos para CSP), mas isso é transparente para o usuário. Um diferencial de nossa abordagem é o suporte à rastreabilidade. Por exemplo, quando o FDR descobre um deadlock, um diagrama de sequência é construído a partir do trace de deadlock e apresentado ao usuário como um modelo UML. Ilustramos a aplicabilidade da nossa abordagem com um exemplo apresentado de forma recorrente no texto e dois estudos de caso adicionais. Destacamos também as contribuições do modelo de componentes proposto e da estratégia de modelagem por meio de uma comparação com outras abordagens da literatura.