(*
* Module containing the components of the Scheduler Tool's Database
*
* Programmed by: Eric Liebowitz
*)
module Database;
object Database
components: InstructorDB, CourseDB;
description:
(*
TODO
*);
end;
object InstructorDB = Instructor*;
object Instructor = firstName and lastName and id and wtu
and Office and CoursePreference* and TimePreference*
description:
(*
TODO
*);
end Instructor;
(***Atomic***)
object firstName = string;
object lastName = string;
object id = string;
object wtu = number;
(***Objects***)
object Office = buildingNumber and roomNumber
description:
(*
TODO
*);
end Office;
(***Atomic***)
object buildingNumber = number;
object roomNumber = number;
object CoursePreference = course and preference
description:
(*
TODO
*);
end CoursePreference;
(***Atomic***)
object course = string;
object preference = number;
object TimePreference = day and preference
description:
(*
TODO
*);
end TimePreference;
(***Atomic***)
object day = string;
(*NOTE: "preference" defined above*)
object CourseDB = Course*;
object Course = name and courseNumber and wtu and classType and maxEnrollment
and sectionNumber and LabPairing and RequiredEquipment
description:
(*
TODO
*);
end Course;
(***Atomic***)
object name = string;
object courseNumber = string;
(*NOTE: wtu has already been defined above*)
object classType = string;
object maxEnrollment = number;
object sectionNumber = number;
(***Objects***)
object LabPairing = courseNumber and name
description:
(*
TODO
*);
end LabPairing;
(*NOTE: This object's atomic variables are defined above*)
object RequiredEquipment = smartRoom and overhead and laptopConnectivity
description:
(*
TODO
*);
end RequiredEquipment;
(***Atomic***)
object smartRoom = boolean;
object overhead = boolean;
object laptopConnectivity = boolean;
end Database;