{
    "@context": {
        "@version": 1.1,
        "algo-ext": "https://secorolab.github.io/metamodels/algorithm#",

        "limits": { "@id": "algo-ext:limits", "@type": "@id" },

        "Saturation": {
            "@id": "algo-ext:Saturation",
            "@context": {
                "in": { "@id": "algo-ext:in", "@type": "@id" },
                "out": { "@id": "algo-ext:out", "@type": "@id" },
                "maximum-absolute-value": { "@id": "algo-ext:maximum-absolute-value", "@type": "@id" },
                "lower-bound": { "@id": "algo-ext:lower-bound", "@type": "@id" },
                "upper-bound": { "@id": "algo-ext:upper-bound", "@type": "@id" }
            }
        },

        "Addition": {
            "@id": "algo-ext:Addition",
            "@context": {
                "in": { "@id": "algo-ext:in", "@type": "@id", "@container": "@set" },
                "out": { "@id": "algo-ext:out", "@type": "@id" }
            }
        },

        "Subtraction": {
            "@id": "algo-ext:Subtraction",
            "@context": {
                "minuend": { "@id": "algo-ext:minuend", "@type": "@id" },
                "subtrahend": { "@id": "algo-ext:subtrahend", "@type": "@id" },
                "out": { "@id": "algo-ext:out", "@type": "@id" }
            }
        },

        "Multiplication": {
            "@id": "algo-ext:Multiplication",
            "@context": {
                "in": { "@id": "algo-ext:in", "@type": "@id", "@container": "@set" },
                "out": { "@id": "algo-ext:out", "@type": "@id" }
            }
        },

        "Division": {
            "@id": "algo-ext:Division",
            "@context": {
                "dividend": { "@id": "algo-ext:dividend", "@type": "@id" },
                "divisor": { "@id": "algo-ext:divisor", "@type": "@id" },
                "out": { "@id": "algo-ext:out", "@type": "@id" }
            }
        },

        "VelocityProfile": {
            "@id": "algo-ext:VelocityProfile",
            "@context": {
                "in": { "@id": "algo-ext:in", "@type": "@id" },
                "target": { "@id": "algo-ext:target", "@type": "@id" },
                "out": { "@id": "algo-ext:out", "@type": "@id" },
                "maximum-velocity": { "@id": "algo-ext:maximum-velocity", "@type": "@id" },
                "maximum-acceleration": { "@id": "algo-ext:maximum-acceleration", "@type": "@id" },
                "maximum-jerk": { "@id": "algo-ext:maximum-jerk", "@type": "@id" },
                "shape": {
                    "@id": "algo-ext:shape",
                    "@type": "@vocab",
                    "@context": {
                        "trapezoidal": "algo-ext:trapezoidal",
                        "s-curve": "algo-ext:s-curve"
                    }
                }
            }
        },

        "Admittance": {
            "@id": "algo-ext:Admittance",
            "@context": {
                "in": { "@id": "algo-ext:in", "@type": "@id" },
                "out": { "@id": "algo-ext:out", "@type": "@id" },
                "mass": { "@id": "algo-ext:mass", "@type": "@id" },
                "damping": { "@id": "algo-ext:damping", "@type": "@id" },
                "stiffness": { "@id": "algo-ext:stiffness", "@type": "@id" }
            }
        }
    }
}
