{
    "id": "FM_CDODConsistency",
    "name": "FM_CDODConsistency",
    "features": {
        "AllAttributesShownCD": {
            "name": "AllAttributesShownCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllAttributesShownOD": {
            "name": "AllAttributesShownOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllClassesShownCD": {
            "name": "AllClassesShownCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllLinksShownOD": {
            "name": "AllLinksShownOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllObjectsShownOD": {
            "name": "AllObjectsShownOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllTypesShownOD": {
            "name": "AllTypesShownOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowAttributesOmittedCD": {
            "name": "AllowAttributesOmittedCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowAttributesOmittedOD": {
            "name": "AllowAttributesOmittedOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowClassesOmittedCD": {
            "name": "AllowClassesOmittedCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowLinksOmittedOD": {
            "name": "AllowLinksOmittedOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowObjectsOmittedOD": {
            "name": "AllowObjectsOmittedOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AllowTypesOmittedOD": {
            "name": "AllowTypesOmittedOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "AttributesCD": {
            "name": "AttributesCD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "AttributesOD": {
            "name": "AttributesOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "CDODConsistency": {
            "name": "CDODConsistency",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "CDSemantics": {
            "name": "CDSemantics",
            "optional": false,
            "type": "FEATURE",
            "note": ""
        },
        "CDSemantics_33": {
            "name": "CDSemantics_33",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "CDSemantics_33_34_35": {
            "name": "CDSemantics_33_34_35",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "CDSemantics_33_34_36": {
            "name": "CDSemantics_33_34_36",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "CDSemantics_33_34_37": {
            "name": "CDSemantics_33_34_37",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "CDSemantics_33_34_39": {
            "name": "CDSemantics_33_34_39",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "ClassesCD": {
            "name": "ClassesCD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "CompletenessCD": {
            "name": "CompletenessCD",
            "optional": false,
            "type": "FEATURE",
            "note": ""
        },
        "CompletenessOD": {
            "name": "CompletenessOD",
            "optional": false,
            "type": "FEATURE",
            "note": ""
        },
        "EmptyOMCD": {
            "name": "EmptyOMCD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "EmptyOMInvalidCD": {
            "name": "EmptyOMInvalidCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "EmptyOMInvalidOD": {
            "name": "EmptyOMInvalidOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "EmptyOMOD": {
            "name": "EmptyOMOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "EmptyOMValidInstanceCD": {
            "name": "EmptyOMValidInstanceCD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "EmptyOMValidInstanceOD": {
            "name": "EmptyOMValidInstanceOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "LinksOD": {
            "name": "LinksOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "NonStrictOD": {
            "name": "NonStrictOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "ODSemantics": {
            "name": "ODSemantics",
            "optional": false,
            "type": "FEATURE",
            "note": ""
        },
        "ObjectTypingOD": {
            "name": "ObjectTypingOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "ObjectsOD": {
            "name": "ObjectsOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "StrictOD": {
            "name": "StrictOD",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "TypesOD": {
            "name": "TypesOD",
            "optional": false,
            "type": "XOR",
            "note": ""
        }
    },
    "tree": {
        "id": "CDODConsistency",
        "children": [
            {
                "id": "CDSemantics",
                "children": [
                    {
                        "id": "CDSemantics_33",
                        "children": [
                            {
                                "id": "CDSemantics_33_34_35"
                            },
                            {
                                "id": "CDSemantics_33_34_36"
                            },
                            {
                                "id": "CDSemantics_33_34_37"
                            },
                            {
                                "id": "CDSemantics_33_34_39"
                            }
                        ]
                    },
                    {
                        "id": "CompletenessCD",
                        "children": [
                            {
                                "id": "AttributesCD",
                                "children": [
                                    {
                                        "id": "AllAttributesShownCD"
                                    },
                                    {
                                        "id": "AllowAttributesOmittedCD"
                                    }
                                ]
                            },
                            {
                                "id": "ClassesCD",
                                "children": [
                                    {
                                        "id": "AllClassesShownCD"
                                    },
                                    {
                                        "id": "AllowClassesOmittedCD"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "EmptyOMCD",
                        "children": [
                            {
                                "id": "EmptyOMInvalidCD"
                            },
                            {
                                "id": "EmptyOMValidInstanceCD"
                            }
                        ]
                    }
                ]
            },
            {
                "id": "ODSemantics",
                "children": [
                    {
                        "id": "CompletenessOD",
                        "children": [
                            {
                                "id": "AttributesOD",
                                "children": [
                                    {
                                        "id": "AllAttributesShownOD"
                                    },
                                    {
                                        "id": "AllowAttributesOmittedOD"
                                    }
                                ]
                            },
                            {
                                "id": "LinksOD",
                                "children": [
                                    {
                                        "id": "AllLinksShownOD"
                                    },
                                    {
                                        "id": "AllowLinksOmittedOD"
                                    }
                                ]
                            },
                            {
                                "id": "ObjectsOD",
                                "children": [
                                    {
                                        "id": "AllObjectsShownOD"
                                    },
                                    {
                                        "id": "AllowObjectsOmittedOD"
                                    }
                                ]
                            },
                            {
                                "id": "TypesOD",
                                "children": [
                                    {
                                        "id": "AllTypesShownOD"
                                    },
                                    {
                                        "id": "AllowTypesOmittedOD"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "EmptyOMOD",
                        "children": [
                            {
                                "id": "EmptyOMInvalidOD"
                            },
                            {
                                "id": "EmptyOMValidInstanceOD"
                            }
                        ]
                    },
                    {
                        "id": "ObjectTypingOD",
                        "children": [
                            {
                                "id": "NonStrictOD"
                            },
                            {
                                "id": "StrictOD"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "constraints": {
        "Constraint 0": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "AllowObjectsOmittedOD"
                    ]
                },
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "AllowLinksOmittedOD"
                    ]
                }
            ]
        },
        "Constraint 1": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "AllowClassesOmittedCD"
                    ]
                },
                {
                    "type": "NotTerm",
                    "operands": [
                        {
                            "type": "FeatureTerm",
                            "operands": [
                                "AllowTypesOmittedOD"
                            ]
                        }
                    ]
                }
            ]
        },
        "Constraint 2": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "EmptyOMValidInstanceOD"
                    ]
                },
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "EmptyOMValidInstanceCD"
                    ]
                }
            ]
        },
        "Constraint 3": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "EmptyOMValidInstanceCD"
                    ]
                },
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "EmptyOMValidInstanceOD"
                    ]
                }
            ]
        }
    }
}