Concepedia

Abstract

The Unified Modelling Language (UML) can be used to specify complex systems: component types are modelled as classes, interdependencies as associations with multiplicities and labels. This paper describes how to handle constraints on associations and multiplicities declaratively by translating them to inequalities over integers without adding complexity. This method provides well-defined semantics and allows for efficient algorithms for reasoning tasks like detecting inconsistencies. We identify some challenges arising from the use of class diagrams for product configuration, and propose solutions for some of them. The paper concludes with the discussion of an example derived from a real-world configuration problem in the railway domain.