OSM-L: High-Level Declarations
Room includes Room [1] has RoomNr: String [1];
Room [1] has Name: String [a:1]; end;
Guest includes Guest [1] has GuestNr: String [1];
Guest [1] has Name: String [b]; end;
Guest [0:*] has reservation on Arrival Date: String [1:*] for Room [0:*];
Guest(x) has reservation for Room(y) :-
Guest(x) has reservation on Arrival Date() for Room(y);