The Meeting Scheduler
System
Project Description
The purpose of the "Meeting Scheduler System" is to support
the organization of meetings - i.e. to determine, for each meeting request, a
meeting date and location so that most of the intended participants can
effectively participate. The following section gives a brief overview on how
meetings are typically arranged. This is a simplified version of a typical
meeting scheduler.
How to Schedule Meetings
Meetings are typically arranged in the following way. A
meeting initiator (one of the participants or some representative, e.g. a
secretary) asks all potential meeting attendees for the following
information based on their personal agendas within a certain date range (i.e.
between a given start date and end date)
- A set of dates & times on which they cannot attend
the meeting in the given date range (hereafter referred to as the exclusion
set)
- A set of dates & times on which they would prefer the
meeting to take place in the given date range (hereafter referred to as the
preference set)
A meeting date is defined by a pair (calendar date, time
period). The meeting date is contained in some time interval of the exclusion
and preference sets of the various participants in the date range specified by
the meeting initiator.
Ideally, the meeting date should belong to none of the
exclusion sets and to as many preference sets as possible. A date conflict
occurs when no such date can be found.
- A conflict is strong when no date
can be found within the specified date range and outside all exclusion
sets.
- A conflict is weak when dates can be found within the
date range and outside of all exclusion sets but no date can be found at the
intersection of all preference sets.
A date conflict can be resolved in several ways:
- The initiator extends the date range.
- Some participants remove dates/times from their exclusion
set.
- Some participants withdraw from the meeting. Unless the
participant withdraws from the meeting, it is assumed that his/her
participation is required for the meeting and the meeting cannot proceed
without it.
- Some participants add some new dates/times to their
preference set.
Project Requirements
The system should follow the general guidelines outlined
below
- The exclusion and preference set should be easily
specified by the participants.
- The meeting date should be as convenient as possible to
all participants.
- The meeting should be planned under the constraints
expressed by the participants.
- The system should support conflict resolution according
to the policies stated.
- The number of interaction among participants (i.e. number
and length of messages, amount of negotiation required) should be kept as
small as possible.
- The system should have the ability to re-plan a meeting
dynamically. The participants should be allowed to modify their exclusion set
and/or preference set which should re-plan the meeting. Similarly, external
constraints like changing the meeting date and/or date range should also
dynamically re-plan the meeting.
- Information about the scheduled meeting should be made
available to all participants as soon as possible.
The following aspects should also be taken into
account
- The system should have the ability to specify multiple
meeting requests.
- Physical constraints cannot be broken, i.e. a person
cannot attend two different meetings at the same time.
- The system should be able to accommodate partial
attendance - a participant can only attend part of the meeting.
The following assumptions can be made
- All participants will act immediately to any negotiation
and conflict resolution process message.
- The participants have no malicious intents. They will
change their exclusion and /or preference dates as soon as they find out about
it.
Participant Status: The participant status captures the
hierarchical importance of a participant with respect to the others
independently of any meeting that he/she is expected to participate in. The
status is typically determined by some super user.
Meeting Significance: The meeting significance represents
the importance for a specific person to attend a particular meeting relative to
other meetings or meeting requests. Meeting significances are typically
determined by the participants concerned. This information should be kept
confidential.
With this additional knowledge, the system can be extended
further in the following way
- Best meeting dates and locations can be determined by
considering participants with higher participant status first.
- If no date can be found to organize a meeting, the
scheduler system could propose a participant to cancel (or to withdraw from)
another meeting having a lower meeting significance.
Acknowledgement
This assignment is based on the problem statement developed
for the "Meeting Scheduler System" by Axel van Lamsweerde, Robert Darimont and
Phillipe Massonet at Universite Catholique de Louvain in
Belgium.