5.2. Attributes (attributes.fmsl)
(****
*
* Module Attributes defines the attributes objects of a schedule.
*
* NOTE: this is work in progress. Several objects are yet to be defined.
* Also, more complete object descriptions are needed.
*
*)
module Attributes;
export all;
object Attributes
components: sstr:ScheduleStrength;
description: (*
The Attributes object is comprised of the schedule strength (a measure
of how good the schedule fulfills the desired preferences):
ScheduleStrength.
*);
end Attributes;
object ScheduleStrength
components: sst:schStrTotal and ssis:InstructorStrength* and ssc:Conflicts;
description: (*
The ScheduleStrength is a measure of how good the schedule fulfills all
the desired preferences.
*);
end ScheduleStrength;
object schStrTotal = integer;
object Conflicts
components: Conflict and conBoolean;
description: (*
The Conflicts object contains information to determine if the generated
schedule has conflicts and a description of the conflict if it does.
*);
end Conflicts;
object Conflict = string;
object conBoolean = boolean;
object InstructorStrength
components: Name and Value and Courses* and Pattern* and Proximal* and Time*;
description: (*
The InstructorStrength object gives an integer value that represents how
good the generated schedule fits the given instructor's preferences.
*);
end InstructorStrength;
object Name = string;
object Courses
components: Course and Value;
description: (*
The Courses object gives an integer value that represents how
good the generated schedule fits the an instructor's course preferences.
*);
end Courses;
object Course = string;
object Pattern
components: PatternV and Value;
description: (*
The Pattern object gives an integer value that represents how
good the generated schedule fits the an instructor's pattern preferences.
*);
end Pattern;
object PatternV = string;
object Proximal
components: Distance and Value;
description: (*
The Proximal object gives an integer value that represents how
good the generated schedule fits the an instructor's proximal preferences.
*);
end Proximal;
object Distance = integer;
object Time
components: TimeV and Value;
description: (*
The Time object gives an integer value that represents how
good the generated schedule fits the an instructor's Time preferences.
*);
end Time;
object TimeV = integer;
object Value = integer;
end Attributes;
Prev: Schedule DB FSML
| Next: Room DB FMSL
| Up: Requirements
| Top: index