SimpleAttribute String {
    name = "String"
}
SimpleAttribute Boolean {
    name = "Boolean"
}
SimpleAttribute Float {
    name = "Float"
}

Class Plot {
    name = "Plot"
    title : String
    legend : Boolean
}

Class Dataset {
    name = "Dataset"
    legend : String
    color : String
    linestyle : String
}

Class Datapoint {
    name = "Datapoint"
    x : Float
    y : Float
}

Class Axis {
    name = "Axis"
    name : String
    unit : String
    lim_low? : Float
    lim_high? : Float
}

Class XAxis : Axis {
    name = "XAxis"
}
Class YAxis : Axis {
    name = "YAxis"
}

Association x (Plot, XAxis) {
    name = "x"
}
Association y (Plot, YAxis) {
    name = "y"
}
Association data (Plot, Dataset) {
    name = "data"
}
Association point (Dataset, Datapoint) {
    name = "point"
}
