You are on page 1of 4

Aurora

Intelligent Scheduling For Real-World Problems


Aurora is a sophisticated scheduling system that of the benefits of an automated system are lost,
combines a variety of scheduling techniques, because the user must make adjustments for all
intelligent conflict resolution, and decision support of the aspects of the problem that the system
to make scheduling faster and easier. The could not take into account. Needs and priorities
software’s scheduling decisions take into account vary widely from one company to another, even
resource requirements, a variety of constraints, within a single domain, and the program needs to
and any pertinent domain knowledge. be able to reflect that. This customizability also
Once Aurora has created a schedule, it allows the program to take expert domain
displays it in a series of graphical displays that knowledge into account, because this knowledge
allow the user to see the resource allocations and can easily be encoded into the heuristics that the
the temporal relationships among the elements. system relies upon to make its decisions.
This display also allows the user to edit the The built-in intelligence results in high-
schedule directly, intuitively, and easily. quality schedules, but in all cases the system
As well as allowing rapid, easy schedule assumes that the user should have the last word.
development, Aurora addresses issues There are always exceptions, so if the user makes
disregarded by many scheduling systems. changes (alters the resource allocations, changes
Aurora focuses on resource requirements the time window, etc.), the system will leave that
and temporal scheduling in combination; most element where the user placed it, unless the user
scheduling systems focus on either temporal explicitly indicates that the element should return
scheduling or resource selection, not both. to normal, floating status.
Considering these different scheduling aspects in
combination is especially important in domains
such as class and curriculum planning, where
there are a range of resource requirements, the
Features
time frame may be rather flexible but there are a Schedule Creation & Background
number of temporal constraints, and each Component Types
improvement in the schedule translates to a large Aurora offers three main kinds of scheduling ele-
pecuniary advantage for the client. ments: activities, which represent a single task;
In connection with this, Aurora offers two flows, which represent groups of tasks; and re-
special resource-related constraints. One is a sources. For example, curriculums and courses
same-resource constraint, which is associated would be defined as flows; a single class session
with one aspect of each element’s resource would be defined as an activity.
requirements, and guarantees that both of the In addition to these primary types there are
elements will use the same resource to fulfill that also resource sets, which can be used to group
requirement. It is useful when you want to enforce resources, and constraints, which allow the user
some degree of continuity, such as when you want to create relationships among elements. These
the same specialist teach classes one and three last two are described in more detail below.
of a seminar. The second constraint type is a
spatial constraint, which allows the user to specify User-Defined Slots
that two elements should be next to each other, Often, specific elements - a given kind of activity,
or in the same spot. It is associated with spatial for example - need additional information associ-
scheduling, another feature unique to Aurora. This ated with them. Aurora allows the user to add slots
is useful in everything from selecting lab space to the elements. These slots may be any of a num-
that is adjacent to a class’s regular classroom, to ber of types, allowing values ranging from calen-
allocating warehouse space. dars to text to numbers. They allow the user to
Aurora allows extensive customization. represent everything from simple comments to
Many systems are incapable of taking the client’s an instructor’s list of skills, which may later be
special needs into account. Consequently, many used in categorizing them into resource sets.

951 Mariner’s Island Blvd Suite 360 • San Mateo CA 94404 • (650) 931-2700 • www.stottlerhenke.com Stottler Henke
Smarter Software Solutions
Calendars sions when a resource needs another resource
Activities and resources often have specific to operate properly (a large, specialized piece of
schedules: in a training environment, it might be lab equipment needs lab space; an engine needs
one six-hour shift a day, five days a week; one fuel). These requirements may be defined directly
two-hour shift a day, three days a week; or two in terms of resources, when only one resource
two-hour shift a day, two days a week. In addition can satisfy the requirement; or in terms of resource
to these different schedules, it is often necessary sets, when any of a group of resources may sat-
to take holidays into account. A “five day” activity isfy the requirement. It also allows you to desig-
will in reality take very different amounts of time if nate alternate ways in which the set of resources
it is scheduled in late December than if it is sched- may be satisfied. For example, an advanced
uled in February; and in a training setting such an course might require an experienced instructor
activity would probably be delayed until after the for the duration, or a regular instructor with half-
holidays. Aurora provides calendars to reflect time support from a specialist.
these complications. The user can define a stan-
dard schedule, plus exceptions - either one-time Resource Sets
exceptions or yearly holidays. Aurora allows you to group resources arbitrarily
into resource sets. Elements can then request
Hierarchical Relationships these sets as part of their resource requirements,
Aurora allows an experienced user to create and reflecting the idea that any properly qualified re-
edit elements efficiently by taking advantage of a source could perform a corresponding task. This
hierarchical relationship among the elements. Ed- also gives the user the freedom to group one re-
iting an element high in the hierarchy automati- source differently in different situations. An expe-
cally edits all of the elements below it, unless the rienced instructor, for example, might be grouped
user has previously edited that property directly. into both course development and teaching sets.
This helps avoid the tedium of making the same This makes sure that all resources live up to their
change many times by hand, and the mistakes potential, and that the schedule takes advantage
that are inevitable in such a situation. of all of their capabilities, not just one or two.
Suppose, for example, that an instructor
has just developed a new course. He has given it Constraints
once, and discovered that it really needed a larger Aurora offers a wide variety of constraints, allow-
hands-on lab section. By taking advantage of hi- ing the user to define the scheduling problem as
erarchical relationships, he can add an extra lab generally as possible, so that Aurora will automati-
section to the base type of the course; this will cally satisfy the specified relationships. Although
automatically add an extra lab section to any other a human could carefully define task 1 so that it
instances of that course that have already been occurred before task 2, it is far easier to create a
created, unless they are locked in (see freezing). constraint specifying that task 1 should finish be-
Without this feature he would have had to go into fore 2 begins; this makes it so that if the user needs
each instance of the course and add a lab for each to move one element, the other moves automati-
of them - all the more daunting because such an cally to respect the constraint.
addition would probably require adding various Constraint options include temporal, re-
temporal constraints, to make sure that the lab source, and spatial constraints. Temporal con-
takes place at the correct time. straints specify what the temporal relationship of
two elements should be. A temporal constraint
Resource Requirements might be used to make sure that a more advanced
Aurora allows you to associate resource require- course in a curriculum was scheduled later than
ments with any activity, flow, or resource. The first the introductory course in a given series. Resource
reflects the case where a single task requires a constraints indicate that two elements should use
resource; the second reflects the case where a the same resource. If the beginning and advanced
full set of tasks needs to use one resource (a class course in a specific class series should be taught
needs an instructor for its duration; a project needs by the same instructor, for the sake of continuity,
a project manager); the third reflects those occa- the user would use a same-resource constraint

951 Mariner’s Island Blvd Suite 360 • San Mateo CA 94404 • (650) 931-2700 • www.stottlerhenke.com Stottler Henke
Smarter Software Solutions
to reflect that. Spatial constraints may indicate that Creating Elements from the Display
two elements should (or should not) be next to Aurora allows the user to create both activities
each other, or in the same location. and resources from the schedule display itself.
This is especially valuable for filler activities such
Scheduling as vacations and down-time, which often need to
Freezing be defined in relation to the existing schedule - a
Aurora allows the user to specify some elements tedious process if the user must create it from
as “frozen”, indicating they should not be moved the edit tab. It is also useful because the elements
or automatically altered, even in conflict resolu- show on the display as soon as they are created,
tion. This gives the user additional control over unlike elements created from the edit tab - the
what is scheduled. They can freeze either a time latter must be scheduled before they are dis-
frame, or a specific element. played.
This is useful for things such as prevent-
ing part of the schedule from changing once in- Markup
terested parties (e.g. students attending a course Aurora offers a variety of graphical markup with
series) have been notified. which the user can annotate the graphical sched-
ule results. This markup is saved with the file and
Default Scheduling will show on both printouts and in the exported
Aurora offers a default quality and prioritization GIF image.
scheme that has proven itself across a variety of
domains. This functions well in most cases, and Conflict Manager Regulation
is useful for those situations where it is undesir- The conflict manager is the scheduling compo-
able or impossible to construct scheduling heu- nent that attempts to resolve conflicts during the
ristics customized to the domain at hand. Stottler scheduling process. Aurora includes a graphical
Henke developed this algorithm while working on control of the conflict manager, which the user
a scheduling project with NASA. It considers all can use to regulate how much conflict manage-
possible resource allocations before it begins ment takes place during scheduling. When start-
scheduling, allowing it to pinpoint possible trouble ing a schedule, the user might turn it down or off,
spots - the resources with the most elements vy- because he knows that there will be many
ing for their potential use. It then works around unresolvable conflicts (in a situation with peren-
these bottle necks, scheduling the elements away nial over-allocation), or want a coarse layout within
from them as much as possible, and leaving only a few seconds, so he can see the shape of the
those elements that must use them. schedule. When nearing the end of a schedule,
the user might turn it up high, because he wants
Display Features the schedule to be as good as possible, even if it
Editing from the Schedule Display takes a couple minutes to run.
When editing an existing schedule, it is inconve-
nient to flip back and forth from the display to the Conflict Viewing
editing tab. Aurora avoids this problem by allow- Any resources shown on the schedule display
ing the user to make all the editing changes pos- show any conflicts in red, so the user can see
sible from the editing tab from the schedule itself. and deal with them. However, there may be in-
You can drag elements in the resource allocation stances where he wants a global view of all con-
displays, changing the resource to which they are flicts in the schedule. The user can see these us-
allocated; the quantity they require of a given re- ing a conflict display window. The conflicts are
source; and the time window for the task. You can broken down first by resource, and then by time
also double-click on an element, to bring up the frame.
editing dialog box from which you can alter the
times precisely, add constraints, etc. In addition Ignoring Conflicts
to editing schedule information, you can alter the There are occasions when there is a conflict, but
appearance of the element - both its color and the user knows it is not a “real” conflict - they know
label are in the user’s full control. that a vendor’s delivery is going to be late, or that

951 Mariner’s Island Blvd Suite 360 • San Mateo CA 94404 • (650) 931-2700 • www.stottlerhenke.com Stottler Henke
Smarter Software Solutions
two classes can, in this situation, use the same
lab intermittently. In such a situation, the user can
specify that a conflict be “ignored”. It will no longer
be displayed as a conflict, and the conflict man-
ager will not try to resolve it.

Output
Reports
Aurora allows you to export comma-delimited re-
ports about resource usage, which can then be
opened in Excel or another spreadsheet program.
The default report indicates what is using the se-
lected resource group through time.

Export to GIF
Aurora can export any of its schedule displays to
a GIF image the size of the schedule display it-
self, allowing the user to include the schedule in
presentations, post it, or otherwise distribute it.

Printing
Aurora can print any of its schedule displays (re-
source allocation displays and temporal displays).
It uses the currently viewed time frame to deter-
mine print bounds, resulting in an intuitive output
paradigm that is flexible enough to show a variety
of views.

951 Mariner’s Island Blvd Suite 360 • San Mateo CA 94404 • (650) 931-2700 • www.stottlerhenke.com Stottler Henke
Smarter Software Solutions

You might also like