@leonardo

Refactoring object constraint language specifications

, and . Software and Systems Modeling, 6 (2): 113--138 (June 2007)
DOI: 10.1007/s10270-006-0023-y

Abstract

The object constraint language (OCL) plays an important role in the elaboration of precise models. Although OCL was designed to be both formal and simple, OCL specifications may be difficult to understand and evolve, particularly those containing complex or duplicated expressions. In this paper, we discuss how refactoring techniques can be applied in order to improve the understandability and maintainability of OCL specifications. In particular, we present several potentially bad constructions often found in OCL specifications and a collection of refactorings that can be applied to replace such constructions by better ones. We also briefly discuss how refactorings can be automated and how model regression testing can be used to increase our confidence that the semantics of an OCL specification has been preserved after manually performed refactorings.

Links and resources

Tags

community

  • @dblp
  • @leonardo
@leonardo's tags highlighted