Desenvolvimento rigoroso com uml-rt
AUTOR(ES)
Rodrigo Teixeira Ramos
DATA DE PUBLICAÇÃO
2005
RESUMO
Como outros mÃtodos visuais orientados a objetos, UML tem influenciado tremendamente a prÃtica de modelagem na engenharia de software com ricos mecanismos de estruturaÃÃo. PorÃm, apesar de suas vantagens e adoÃÃo em larga escala, na prÃtica, a falta de uma semÃntica formal tem dificultado o desenvolvimento rigoroso baseado em modelos de aplicaÃÃes nÃo triviais (aplicaÃÃes que por sua natureza necessitam de Ãnfase na especificaÃÃo e na verificaÃÃo de seus componentes). A razÃo para isto à que transformaÃÃes de modelos podem nÃo preservar a semÃantica e, como conseqÃÃncia, o comportamento do modelo. Este problema à ainda mais sÃrio em transformaÃÃes que envolvem diferentes visÃes do modelo. LimitaÃÃes similares podem ser encontradas durante o desenvolvimento com UMLRT. Esta linguagem à uma extensÃo conservativa de UML que provà a noÃÃo de objetos ativos (objetos com um comportamento prÃprio, independente do fluxo de execuÃÃo do restante do sistema) para descrever aplicaÃÃes concorrentes e distribuÃdas. Neste tipo de desenvolvimento, transformaÃÃes devem lidar simultaneamente com as diferentes visÃes estÃticas e dinÃmicas do modelo, representadas por seus diagramas e propriedades. Por estes motivos, este trabalho propÃe uma semÃntica para UML-RT, mapeando suas construÃÃes em OhCircus, uma linguagem formal, orientada a objetos, que combina CSP e Z, e que suporta o cÃlculo de refinamentos de Morgan. A partir desta semÃntica, bem como das noÃÃes e leis de refinamentos de OhCircus, à possÃvel propor leis de transformaÃÃo de modelos passÃveis de demonstraÃÃo e que preservam o comportamento do sistema. Estas leis de transformaÃÃo sÃo propostas em duas categorias: a primeira delas à um conjunto abrangente de leis bÃsicas que expressam pequenas mudanÃas nas principais visÃes do modelo, como a declaraÃÃo ou remoÃÃo de elementos do modelo; jà a segunda representa leis de transformaÃÃo de maior granularidade, derivadas a partir da composiÃÃo de leis bÃsicas, como a decomposiÃÃo de uma cÃpsula em cÃpsulas operando em paralelo. Tais transformaÃÃes derivadas podem ser vistas como refatoramentos (refactorings) corretos sobre o modelo, facilmente aplicÃveis durante um processo de desenvolvimento rigoroso, sem que o desenvolvedor tenha conhecimento do formalismo que o suporta. Finalmente, a abrangÃncia deste conjunto de leis à discutida particularmente atravÃs dos principais passos de uma estratÃgia de reduÃÃo de modelos UML-RT a um modelo UML estendido com um Ãnico objeto ativo, responsÃvel por todas as interaÃÃes com o ambiente e por conservar o comportamento dinÃmico do sistema modelado. Este modelo UML estendido pode ser visto como uma forma normal, e, portanto, nossa estratÃgia pode ser vista como uma contribuiÃÃo para uma estratÃgia mais global de completude capturada por reduÃÃo a esta forma normal
ASSUNTO(S)
transformaÃÃo de modelos integraÃÃo de mÃtodos formais rt ohcircus ciencia da computacao
Documentos Relacionados
- Guides for CCS to UML-RT and UML-RT to CCS conversions.
- Mapeando CSP em UML-RT
- Mapeamento UML-RT para p-calculus.
- Um método de refinamento para desenvolvimento de software embarcado: uma abordagem baseada em UML-RT e especificações formais.
- BSmart: desenvolvimento rigoroso de aplicações Java Card com base no método formal B