(**** * * Module ScheduleReporting defines the Reporting of Schedule Performance * *) module ScheduleReporting; from InstructorModule import InstructorDB; from ScheduleModule import Schedule; export Statistic; object ScheduleReportView is components: reportStats:Statistic*; description: (* A view of the report for the schedule. New views can be created by inheriting from this object. One sample view is described in the Functional Requirements document for the Scheduler system. *); end ScheduleReportView; object Statistic is components: statName:string, statValue:string; description: (* Describes one single statistic used in a report. Contains a Name-Value pair in string format (since not all statistics are numeric). *); end Statistic; operation GenerateScheduleReport is inputs: sch:Schedule, idb:InstructorDB; outputs: spv:ScheduleReportView; description: (* Generates a ScheduleReportView object that will allow the system administrator to view the schedule statistics. Gathers information, mainly about instructors and their assignments in the schedule, to produce this report from the databases. *); end GenerateScheduleReport; end ScheduleReporting;