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" }