Figure Pr.30 - Modeling a matrix with dimensions based on PLASpec and ProductSpec Characteristics : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 5/17/2022 2:55:18 PM
Project:
Advanced:
As described in the use cases, a typical implementation of PricingLogicAlgorithm requires parameters which are multi-dimensional matrices, in which each dimension is defined by the valid values for a specific characteristic. For example, if we have PLA which rates events based on customer type, we can have one instantiation in which customer type is either residential or commercial (and in which case the size of the dimension of the matrix is 2) and in other instantiation the customer type can be student, normal and senior citizen (in this case the size of the dimension is 3).<br/>Modeling the matrix.<br/>As described above, the matrices are defined by the possible valid values of characteristics (from ProductSpec or PLASpec), so we can define the matrix itself using the self-association CharacteristicSpecificationReferences. This was correct if CharacteristicValue and ProductCharacteristicValue were the same entity. Since currently these entities do not share a common base class there is a need to create some more complex modeling in order to create a matrix.<br/><i>Note: MatrixSpecDimention is associated to a single entity either ProductSpecCharacteristic or CharacteristicSpecification – but it is always associated to one (association to none or both entities is not allowed, so this class (MatrixSpecDimention) is a specification for a single dimension of the matrix.</i><br/><br/>