Enhancing the Understandability of OCL Specifications - Correa, Alexandre; Werner, Cláudia; Barros, Márcio (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2007)
OCL (Object Constraint Language) é a linguagem padronizada pelo OMG para a especificação precisa de restrições associadas a modelos e meta-modelos compatíveis com o MOF. Embora a OCL tenha sido criada com a intenção de ser uma linguagem mais simples quando comparada com linguagens formais tradicionais, é comum encontrarmos especificações escritas em OCL contendo expressões difíceis de serem entendidas ou mantidas. Este artigo apresenta um conjunto de construções potencialmente problemáticas, frequentemente encontradas em especificações elaboradas em OCL, além de um conjunto de reestruturações que podem ser empregadas para removê-las. Este artigo descreve, ainda, um estudo experimental que foi realizado para avaliar os efeitos desses conceitos no entendimento de restrições especificadas em OCL.