Interface for qBeta module object
MVRsystem: obj
%requires Containers,Containers.Set
%visible Containers
BooleanValue:
out B: var Boolean
LicenseNumber: Value
in V: var integer
print:
Person:
in name: ref String.String
%association registrations,#Registration,"*",inRegistrations
registrations: obj Set.Set(#Registration) -- # is needed!
inRegistrations: BooleanValue
print:
MotorVehicle:
in lcn: var LicenseNumber
%association theRegistration,#Person,,isRegistration
theRegistration: ref Registration
isRegistration: BooleanValue
print:
Registration:
%association MVR,MotorVehicleRegister,
%association theVehicle,vehicle,
%association owner,#Person,
MVR: BooleanValue
vehicle: BooleanValue
owner: BooleanValue
in theVehicle: ref MotorVehicle
in theOwner: ref Person
print:
MotorVehicleRegister: obj
%association #Registration,Registrations,"*",isValid
registrations: obj Set.set(#Registration)
isValid: BooleanValue
register:
in P: ref Person
in V: ref MotorVehicle
R: ref Registration
checkAssertions:
check:
in id: ref String.string
in cond: var Boolean
in P: ref Person
in V: ref MotorVehicle
in R: ref Registration
print:
makeRegistrations:
P: ref Person
V: ref MotorVehicle
R: ref Registration