package example;
import example::dataType;
package dataType;
primitive String;
primitive Integer;
primitive Double;
primitive Date;
primitive Time;
primitive Boolean;
end;
class Person
attribute status : Status;
end;
enumeration Status
Registered, Active, Inactive
end;
class Product
attribute description : String;
attribute available : Integer;
attribute price : Double;
attribute createdDate : Date;
attribute createdTime : Time;
attribute isActive : Boolean;
end;
association CartItem:item__Product
navigable role item : CartItem[3,*];
navigable role product : Product[0,1];
end;
class Cart implements ICart
end;
class CartItem
end;
class PaymentMethod
end;
class Cheque specializes PaymentMethod
end;
interface ICart
end;
end.
package example;
import example::dataType;
package dataType;
primitive String;
primitive Integer;
primitive Double;
primitive Date;
primitive Time;
primitive Boolean;
end;
class Student
end;
association Mentor:n__Student:b
navigable role b : Student[0,*];
navigable role n : Mentor[1,1];
end;
association Mentor:o__Student:c
navigable role c : Student[1,1];
navigable role o : Mentor[3,3];
end;
association Mentor:p__Student:d
navigable role d : Student[3,5];
navigable role p : Mentor[0,*];
end;
association Supervisor
navigable role a : Student[0,1];
navigable role m : Mentor[0,4];
end;
class Mentor
end;
end.