{
    "id": "FM_weather_station",
    "name": "FM_weather_station",
    "features": {
        "alarm": {
            "name": "alarm",
            "optional": true,
            "type": "OR",
            "note": ""
        },
        "data_source": {
            "name": "data_source",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "demo": {
            "name": "demo",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "english": {
            "name": "english",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "external_services": {
            "name": "external_services",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "file": {
            "name": "file",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "format": {
            "name": "format",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "freeze_point": {
            "name": "freeze_point",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "german": {
            "name": "german",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "html": {
            "name": "html",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "internet": {
            "name": "internet",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "language": {
            "name": "language",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "measurements": {
            "name": "measurements",
            "optional": false,
            "type": "OR",
            "note": ""
        },
        "output_format": {
            "name": "output_format",
            "optional": false,
            "type": "XOR",
            "note": ""
        },
        "plain_text": {
            "name": "plain_text",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "pressure": {
            "name": "pressure",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "storm_alert": {
            "name": "storm_alert",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "temperature": {
            "name": "temperature",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "text": {
            "name": "text",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "weather_station": {
            "name": "weather_station",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "web_server": {
            "name": "web_server",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "wind_speed": {
            "name": "wind_speed",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        },
        "xml": {
            "name": "xml",
            "optional": true,
            "type": "FEATURE",
            "note": ""
        }
    },
    "tree": {
        "id": "weather_station",
        "children": [
            {
                "id": "alarm",
                "children": [
                    {
                        "id": "freeze_point"
                    },
                    {
                        "id": "storm_alert"
                    }
                ]
            },
            {
                "id": "data_source",
                "children": [
                    {
                        "id": "demo"
                    },
                    {
                        "id": "external_services"
                    },
                    {
                        "id": "internet"
                    }
                ]
            },
            {
                "id": "measurements",
                "children": [
                    {
                        "id": "pressure"
                    },
                    {
                        "id": "temperature"
                    },
                    {
                        "id": "wind_speed"
                    }
                ]
            },
            {
                "id": "output_format",
                "children": [
                    {
                        "id": "file"
                    },
                    {
                        "id": "format",
                        "children": [
                            {
                                "id": "html"
                            },
                            {
                                "id": "plain_text"
                            },
                            {
                                "id": "xml"
                            }
                        ]
                    },
                    {
                        "id": "language",
                        "children": [
                            {
                                "id": "english"
                            },
                            {
                                "id": "german"
                            }
                        ]
                    },
                    {
                        "id": "text"
                    },
                    {
                        "id": "web_server"
                    }
                ]
            }
        ]
    },
    "constraints": {
        "Constraint 0": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "freeze_point"
                    ]
                },
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "temperature"
                    ]
                }
            ]
        },
        "Constraint 1": {
            "type": "ImpliesTerm",
            "operands": [
                {
                    "type": "FeatureTerm",
                    "operands": [
                        "text"
                    ]
                },
                {
                    "type": "NotTerm",
                    "operands": [
                        {
                            "type": "FeatureTerm",
                            "operands": [
                                "xml"
                            ]
                        }
                    ]
                }
            ]
        }
    }
}