The app is supposed to show a demonstrate meeting sheduling under a given guidelines
The algorithm encoded in each agent’s decision making module is given in fig. 2. It is a two phase
algorithm - in the first phase (steps 1 & 2) the invitees provide information about whether and when
they are willing to attend a particular meeting and in the second phase (steps 3-5) an actual meeting
time is proposed and (hopefully) agreed upon. There is potential for several rounds of iteration in each
phase if the specified objective is not satisfied immediately.
1: Host (H) for meeting Mj
sends out invitations to all invitees {
I1....In} indicating the purpose of the
meeting, the constraints which apply to the meeting (CMj), and the desired length of the meeting (LMj)
2: FORALL Ii
∈ {
I1....In} DO: Determine potential times {TMj,Ii,
1....TMj,Ii,k} at which Mj could be
scheduled (according to CMj, LMj, and local preferences) and how many of these options (m) will be
offered to H. Make tentative commitments to these times {TCMj,Ii,1..... TCMj,Ii,m}. Return bids to H.
3: IF there exists a time slot <TMj,Ii,q> present in bids from all the invitees and its global preference is
above the host’s threshold for Mj
THEN select slot (ΨMj) with highest global preference
seek confirmation from all attendees for Mj at ΨMj
else if further times available for mj
then ask for further bids for mj
and repeat from stage 2 else replan mj
4: forall ii ∈ {
i1....In} DO: Respond (confirm or reject) to proposal from H for Mj at ΨMj
5: IF H receives sufficient positive responses to proposal ΨMj to make Mj viable
THEN schedule Mj
at ΨMj ELSE replan Mj
Figure 2: Distributed Meeting Sch
Delivery term: Not specified