Modeling Quality 2

Specifying individual contributions of features to quality.

abstract Car
ABS : ComfortFeature ?
[ cost = 2 ]
[ mass = 1 ]
[ comfort = 1 ]
xor Transmission : Feature
[ cost = 0 ]
[ mass = 0 ]
Automatic : FuelFeature
[ fuel = 2 ]
[ mass = 1 ]
[ comfort = 2 ]
[ cost = 4 ]
Manual : FuelFeature
[ fuel = 0 ]
[ mass = 1 ]
[ comfort = 1 ]
[ cost = 3 ]
FCA : FuelFeature ?
[ fuel = 2 ]
[ mass = 2 ]
[ comfort = 4 ]
[ cost = 5 ]
xor Sensor : Feature
[ cost = 0 ]
[ mass = 0 ]
Radar : Feature
[ cost = 3 ]
[ mass = 1 ]
Lidar : Feature
[ cost = 5 ]
[ mass = 1 ]
xor Alert : Feature ?
[ cost = 0 ]
[ mass = 0 ]
Haptic : ComfortFeature
[ comfort = 4 ]
[ cost = 2 ]
[ mass = 1 ]
Audible : ComfortFeature
[ comfort = 2 ]
[ cost = 1 ]
[ mass = 1 ]
CC : FuelFeature ?
[ fuel = 1 ]
[ mass = 1 ]
[ comfort = 3 ]
[ cost = 4 ]
ACC : FuelFeature ?
[ fuel = 2 ]
[ mass = 2 ]
[ comfort = 6 ]
[ cost = 3 ]
[ ACC => FCA ]

Defining quality attributes.

  • basic feature with cost and mass.
abstract Feature
cost : integer
mass : integer
  • feature that impacts comfort
abstract ComfortFeature : Feature
comfort : integer
  • feature that impacts fuel consumption
abstract FuelFeature : ComfortFeature
fuel : integer

Modeling Quality 3