midYearReview : Meeting
month -> June
[ chair = Steven ]
[ room = C ]
[ some onlineParticipant ]
Steven : Member
C : Room
[ whiteboard ]
[ audioConferencing ]
ondemandMeeting : Meeting
[ chair = Joanna ]
[ no onlineParticipant ]
[ room = D ]
Joanna : Member
D : Room
[ whiteboard ]
abstract Meeting
chair -> Member
[ this not in participant.dref ]
[ this not in onlineParticipant.dref ]
participant -> Member +
onlineParticipant -> Member *
[ no participant**onlineParticipant ]
room -> Room
[ this.capacity >= # participant + 1 ]
[ some onlineParticipant => room.audioConferencing ]
time -> integer
whiteboard -> Whiteboard
rep -> Rep
enum Month = June | July
abstract Member
abstract Room
capacity -> integer
num -> integer
or whiteboard ?
traditional
electronic
projector ?
computer ?
audioConferencing ?
Al : Member
Ben : Member
Carl : Member
Dennise : Member
Ed : Member
Fran : Member
Georgia : Member
Hellen : Member
badMeeting : Meeting
[ chair = Al ]
[ participant = Ben, Carl, Ed, Fran, Hellen ]
[ onlineParticipant = Dennise, Fran ]
[ room = E ]
E : Room
[ capacity = 4 ]
[ no audioConferencing ]
abstract Agenda
mt -> Meeting *
SueAgenda : Agenda
m1 -> M1 ?
m2 -> M2 ?
M1 : Meeting ?
M2 : Meeting ?
[ time = 10 ]
SueAgenda_c1 : Agenda
m1 -> M1_c1
m2 -> M2_c1 0
M1_c1 : Meeting 1
M2_c1 : Meeting 0
[ time = 10 ]
SueAgenda_c2 : Agenda
m1 -> M1_c2
m2 -> M2_c2 ?
M1_c2 : Meeting 1
[ time = 11 ]
M2_c2 : Meeting ?
[ time = 10 ]
SueAgenda_c4 : Agenda
m1 -> M1_c4
M1_c4 : Meeting 1
[ time = 10 ]
M2_c4 : Meeting 0
[ time = 10 ]
SueAgenda_c6 : Agenda
m1 -> M1_c6
m2 -> M2_c6
M1_c6 : Meeting
[ time = 11 ]
M2_c6 : Meeting
[ time = 10 ]
Sue : Member
SM : Meeting
[ chair = Sue ]
SM_BobI : Meeting
[ chair = Sue ]
[ whiteboard = Electronic ]
[ room = R_BobI ]
R_BobI : Room
enum Whiteboard = Electronic | Traditional
SM_BobII : Meeting
[ chair = Sue ]
[ whiteboard = Electronic ]
[ room = R_BobII ]
R_BobII : ERoom
abstract ERoom : Room
[ electronic ]
SM_Charlie : Meeting
[ chair = Sue ]
[ rep = Weekly ]
[ time = 10 ]
enum Rep = Daily | Weekly
SM_CDII : Meeting
[ chair = Sue ]
[ rep = Weekly ]
[ time = 10 ]
[ whiteboard = Electronic ]
[ room = R_BobII ]
SM_OD : Meeting
[ chair = Sue ]
[ rep = Weekly ]
[ time = 10 ]
[ whiteboard = Electronic ]
[ room = R_OD ]
R_OD : ERoom
[ num = 200 ]