namespace airline; class Airline{ singleton; 1 -- * RegularFlight; 1 -- * Person; } class RegularFlight{ Time time; Integer flightNumber; 1 -- * SpecificFlight; key{flightNumber} } class SpecificFlight{ Integer flightId; Date date; key{flightId} } class PassengerRole { isA PersonRole; immutable String name ; 1 -- * Booking; key{name} } class EmployeeRole { String jobFunction; isA PersonRole; * -- 0..1 EmployeeRole supervisor; * -- * SpecificFlight; key{jobFunction} } class Person { String name; Integer idNumber; 1 -- 0..2 PersonRole; key{idNumber} } class PersonRole{} class Booking{ Integer sequenceNumber; String seatNumber; * Booking -- 1 SpecificFlight; key{sequenceNumber} }