{
    "@context": [
        "https://secorolab.github.io/metamodels/acceptance-criteria/bdd/time.json",
        "https://secorolab.github.io/metamodels/acceptance-criteria/bdd/environment.json",
        "https://secorolab.github.io/metamodels/acceptance-criteria/bdd/bdd.json",
        "https://secorolab.github.io/metamodels/acceptance-criteria/bdd/task.json",
        {
            "var": "https://secorolab.github.io/models/acceptance-criteria/bdd/variants/pickplace-grc/",
            "tmpl": "https://secorolab.github.io/models/acceptance-criteria/bdd/templates/",
            "env-lab": "https://secorolab.github.io/models/environments/secorolab/",
            "isaac-agn": "https://secorolab.github.io/models/agents/isaac-sim/",
            "scene-lab": "https://secorolab.github.io/models/acceptance-criteria/bdd/scenes/secorolab/",
            "scene-grc": "https://secorolab.github.io/models/acceptance-criteria/bdd/scenes/grc/",
            "scene-isaac": "https://secorolab.github.io/models/acceptance-criteria/bdd/scenes/isaac/"
        }
    ],
    "@graph": [
        { "@id": "var:var-kinova1-speed", "@type": "bdd:ScenarioVariable" },
        { "@id": "var:var-kinova2-speed", "@type": "bdd:ScenarioVariable" },
        {
           "@id": "var:flc-config-kinova1-speed",
           "@type": [
                "bdd:FluentClause", "bdd:HasConfigPredicate", "time:TimeConstraint", "time:BeforeEventConstraint"
           ],
           "clause-of": "tmpl:pickplace-given",
           "config-target": "isaac-agn:kinova1",
           "config-name": "speed",
           "config-var": "var:var-kinova1-speed",
           "before-event": "tmpl:evt-pick-start", "horizon-seconds": 1.0
        },
        {
           "@id": "var:flc-config-kinova2-speed",
           "@type": [
                "bdd:FluentClause", "bdd:HasConfigPredicate", "time:TimeConstraint", "time:BeforeEventConstraint"
           ],
           "clause-of": "tmpl:pickplace-given",
           "config-target": "isaac-agn:kinova2",
           "config-name": "speed",
           "config-var": "var:var-kinova2-speed",
           "before-event": "tmpl:evt-pick-start", "horizon-seconds": 1.0
        },

        {
            "@id": "scene-grc:objects", "@type": "bdd:SceneHasObjects",
            "of-scene": "scene-lab:scn-pickplace",
            "has-object": [ "env-lab:obj-tray" ]
        },
        {
            "@id": "scene-grc:workspaces", "@type": "bdd:SceneHasWorkspaces",
            "of-scene": "scene-lab:scn-pickplace",
            "has-workspace": ["env-lab:ws-table"]
        },
        {
            "@id": "var:var-table", "@type": [ "bdd:TaskVariation", "bdd:TableVariation" ],
            "of-task": "tmpl:task-pickplace",
            "variable-list": [
                "tmpl:var-target-obj", "tmpl:var-pick-ws", "tmpl:var-place-ws", "tmpl:var-agent",
                "var:var-kinova1-speed", "var:var-kinova2-speed"
            ],
            "rows": [
                [
                    "env-lab:obj-tray", "env-lab:ws-table", "env-lab:ws-table",
                    ["isaac-agn:kinova1", "isaac-agn:kinova2"],
                    0.3, 0.8
                ]
            ]
        },
        {
            "@id": "var:scr-var-grc", "@type": "bdd:ScenarioVariant",
            "of-template": "tmpl:tmpl-pickplace",
            "has-scene": [
                "scene-grc:objects",
                "scene-grc:workspaces",
                "scene-isaac:scn-pickplace-isaac-kinovas"
            ],
            "has-clause": [
                "var:flc-config-kinova1-speed",
                "var:flc-config-kinova2-speed"
            ],
            "has-variation": "var:var-table"
        },
        {
            "@id": "var:us-pickplace", "@type": "bdd:UserStory",
            "has-criteria": [
                "var:scr-var-grc"
            ]
        }
    ]
}
