De que se trata o artigo

Esse artigo aborda tópicos relacionados à linguagem OCL. Nele é descrito como a linguagem OCL pode ajudar na especificação e validação de regras de negócio em modelos orientados a objetos. Também são apresentadas algumas expressões e ferramentas que facilitam a utilização da linguagem. Por fim, um simples exemplo de negócio foi especificado através de linguagem natural e transformado para um modelo Orientado a Objetos usando UML e restrições OCL.

Em que situação o tema útil

Expressões OCL podem ser utilizadas para especificar operações/ações que, quando executadas, alteram o estado do sistema. A UML pode também utilizar a OCL para especificar condições invariantes no modelo UML que são completamente independentes da linguagem de programação.

Resumo DevMan

Neste artigo será apresentada uma introdução à OCL, a linguagem de restrição oficial da UML. A OCL permite a definição de restrições a alguns objetos assim como verificar e validar modelos UML. Será uma discussão bastante útil para aqueles que não conseguem apenas com os diagramas UML definir todos os aspectos relevantes da especificação do sistema.

Autores: Fabrício Cardim, Iuri Mendes e Rodrigo Oliveira Spínola

A linguagem UML (Linguagem de Modelagem Unificada) foi criada para oferecer uma padronização e unificação dos artefatos gerados na modelagem de projetos. O grande número de linguagens de programação e métodos de análise existentes, apesar de em sua maioria possuírem os mesmos conceitos básicos, diferenciam em suas terminologias e notações.

No entanto, a primeira versão da UML apresentava grande deficiência na clareza de suas definições, permitindo, por exemplo, que sua semântica fosse interpretada de forma ambígua. Um diagrama UML, como um diagrama de classes, geralmente não fornece todos os aspectos importantes de uma especificação. Existe a necessidade de adicionar restrições sobre os objetos no modelo e estas restrições, por normalmente serem descritas em linguagem natural, resultam em ambiguidades.

As linguagens formais foram desenvolvidas para resolver os equívocos nas restrições, mas são de difícil uso, requerendo uma forte base matemática. Para enfrentar esse problema, uma nova versão da UML foi lançada, e com ela foi criada a OCL, uma linguagem formal, fácil de ler e escrever.

“A OCL é uma linguagem de expressões para especificar restrições sobre modelos orientados a objetos ou outros artefatos da linguagem UML. É uma linguagem precisa, textual e formal. Essa formalidade garante a não existência de interpretações ambíguas para as mesmas restrições, fato que ocorria antes da sua criação. Uma das suas principais características é que seu uso não exige um forte conhecimento matemático para ser utilizada corretamente, como ocorre nos modelos Z e VDM.” (Alves Lima, Musial, 2001)

Neste contexto, esse artigo aborda tópicos relacionados à linguagem OCL. Veremos como a linguagem OCL pode ajudar na especificação e validação de regras de negócio em modelos orientados a objetos. Além disso, apresentaremos algumas expressões e ferramentas que facilitam a utilização da linguagem. Por fim, um simples exemplo de negócio foi especificado através de linguagem natural e transformado para um modelo Orientado a Objetos usando UML e restrições OCL.

Object Constraint Language (OCL)

Object Constraint Language é uma linguagem de expressões para especificar restrições aplicadas a modelos UML. É uma linguagem precisa, textual e formal. Expressões OCL podem ser utilizadas para especificar operações/ações que, quando executadas, alteram o estado do sistema. A UML pode também utilizar a OCL para especificar condições invariantes no modelo UML que são completamente independentes da linguagem de programação.

O Diagrama de Classes da UML, por exemplo, não é refinado o bastante para fornecer todos os aspectos relevantes da especificação. Verifica-se, dentre outras coisas, a necessidade de descrever restrições adicionais sobre os artefatos do modelo. Como essas restrições geralmente são escritas em linguagem natural, isto poderá resultar em ambiguidades. A OCL foi desenvolvida para diminuir essa lacuna e impedir interpretações ambíguas para a mesma restrição.

...
Quer ler esse conteúdo completo? Tenha acesso completo