(* * This is the beginning of a formal spec for the course scheduler. It * contains definitions for some of the major databases and some of their * components. *) object InstructorDB components: InstructorRecord*; operations: AddIRec, DelIRec, UpdateIRec; description: (* The Instructor DB is the major repository of all information related to instructors. Instructor info includes course preferences, day/time preferences, and other individualized preferences and constraints. *); end InstructorDB; object RoomDB components: RoomRecord*; operations: ; description: (* The course DB is the major repository of all information related to rooms. Room info includes times available, size, equip, and more. *); end RoomDB; object CourseDB components: CourseRecord*; operations: ; description: (* *); end CourseDB; object ConstaintDB components: GlobalConstraint*; operations: ; description: (* *); end ConstaintDB; object InstructorRecord components: Name, CoursePrefs, DayTimePrefs, RoomPrefs, IndivConstraint*; operations: ; description: (* *); end InstructorRecord; object CoursePrefs components: CourseRating*; operations: ; description: (* *); end CoursePrefs; object CourseRating components: CourseId, Ranking; operations: ; description: (* *); end CourseRating; object CourseId = string; object Ranking = number; object DayTimePrefs components: DayTimePref*; operations: ; description: (* *); end DayTimePrefs; object DayTimePref components: Day, TimeRange, Ranking; operations: ; description: (* *); end DayTimePref; object TimeRange components: StartHalfHour, EndHalfHour; operations: ; description: (* *); end TimeRange;