Publication | Closed Access
Computing product configurations via UML and integer linear programming
17
Citations
0
References
2010
Year
Mathematical ProgrammingEngineeringUnified Modelling LanguageComplex SystemsFormal VerificationOperations ResearchConstraint ProgrammingConstraint SolvingSystems EngineeringDiscrete MathematicsRailway DomainCombinatorial OptimizationData ModelingInteger OptimizationComputer ScienceUml DesignSoftware DesignInteger ProgrammingConstraint SatisfactionAutomated ReasoningFormal MethodsMixed Integer OptimizationProduct ConfigurationsLinear ProgrammingSystem Specification
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.