Model ::= RobotArm ZoneModel ; ZoneModel ::= SafetyZone:Zone* ; Zone ::= Coordinate* ; RobotArm ::= Joint* EndEffector // ; // normally this would be: ; Joint ::= ; // normally this would be: EndEffector : Joint; Coordinate ::= ;