--- title: Variant Derivation toc: false ... > Back to [Intro]() Product line model: ================== ```clafer abstract xor Bluetooth Bluetooth20 ? Bluetooth21 ? Bluetooth40 ? abstract MobilePhone Connectivity `Bluetooth GSM LTE ? [LiBattery1400] WiFi ? USB ? xor Battery LiBattery1150 ? LiBattery1400 ? abstract LowEndPhone : MobilePhone [no WiFi] abstract HighEndPhone : MobilePhone [USB && WiFi] QuadCPU ? ``` Variant Configuration: ===================== The customer requested `WiFi`, `LTE`, and `Bluetooth`. Carol proposed `Bluetooth21`. ```clafer Phone1 : MobilePhone [ WiFi ] [ LTE ] [ Bluetooth21 ] ``` Trying a high-end phone: ```clafer Phone2 : HighEndPhone [ LTE ] [ Bluetooth21 ] [ QuadCPU ] ```