object Users components: SuperUser* | SystemAdmin* | CalendarUser*; description: { The Users are the various persons that access the system. }; end Users; operation Schedule components:Find, SelectedTimeSlots, FoundTimeSlots, Pencil, Users, Groups; inputs:CalendarDB, UserSelection; outputs: CalendarDB, DayView; description: { Takes the user to the "Schedule Meeting" window. The "Schedule Meeting" window takes input from the user and finds possible time slots for a a group of individuals. }; end Schedule; operation BrowseUser components: Users, BUOk; inputs:CalendarDB, UserSelection, MySelectedView; outputs: CalendarDB; description: { The ModelWeek operation changes the view based on the UserSelection of a day from the three month display on the left of the screen. }; end BrowseUser; operation BUOk components: ; inputs:CalendarDB, Users, MySelectedView; outputs: SelectedUserSchedule, CalendarDB; description: { Browse User OK tells the system to get the selected user's schedule. }; end BUOk; operation SysAdmin components: ; inputs:CalendarDB, UserSelection; outputs: CalendarDB, DayView; description: { The ModelWeek operation changes the view based on the UserSelection of a day from the three month display on the left of the screen. }; end SysAdmin; operation Preferences components: ; inputs:CalendarDB, UserSelection; outputs:CalendarDB; description: { }; end Preferences; operation Group components: ; inputs:CalendarDB, UserSelection; outputs:CalendarDB; description: { }; end Group; operation Print components: ; inputs: CalendarDB, UserSelectedView; outputs: CalendarDB; description: { }; end Print; operation MainMenuQuit components: ; inputs: ; outputs: ; description: { }; end MainMenuQuit; operation Public components: ; inputs: ; outputs: ; description: { }; end Public; operation Protected components: ; inputs: ; outputs: ; description: { }; end Protected; operation Private components: ; inputs: ; outputs: ; description: { }; end Private; { This is a userselection from the 3 month calendar on left of screen. } operation ThreeMonthCalendarDay components: ; inputs: ; outputs: DayView, WeekView, MonthView, YearView, QuarterView, ModelWeekView, ; description: { The user has selected a day from one of the three months displayed on the left edge of the calendar main screen. }; end ThreeMonthCalendarDay; {* What about the text boxes edited *} { System Administrator Window Operations } operation AddUser components: AddUserOk, AddUserTextBox; inputs: CalendarDB, UserSelection; outputs: CalendarDB ; description: { The system administrator has requested to add a user to the CalendarDB. }; end AddUser; operation DeleteUser components: ; inputs: CalendarDB, UserSelection; outputs: CalendarDB; description: { The system administrator has requested the system to delete a user that he selected in the userselection text box. }; end DeleteUser; operation EditDatabase components: EditDatabaseScreen; inputs: CalendarDB ; outputs: CalendarDB; description: { This operation allows the System Admin. to add informational files to the system. In addition, it allows the Sys. Ad. to change configuration files. }; end EditDatabase; operation BackupSystem components: ; inputs: CalendarDB; outputs: CalendarDB; description: { This operation allows the Sys. Ad. to backup the system. The backup would go to a dedicated backup unit. }; end BackupSystem; operation Find components: ; inputs: ; {TimeMask and CalendarDB and ((UserList | GroupList) or (UserList and GroupList));} outputs: TimeSlotList*; description: { A list of common time slots for the listed users and groups is the output. }; end Find; operation Pencil components: Itinerary, AttendanceCheckBox, Process; inputs: CalendarDB, SelectedList, RequesterStatus, MeetingInfo; outputs: Notification, CalendarDB; description: { If the RequesterStatus is GroupLeader, then the Pencil operation will "pencil" in the meeting(s) and notify the attendees. }; end Pencil; operation Confirm components: ; inputs: ; outputs: ; description: { }; end Confirm; operation Explain components: ; inputs: ; outputs: ; description: { }; end Explain; operation MeetingItinerary components: ; inputs: ; outputs: ; description: { }; end MeetingItinerary; operation DropDownBox components: ; inputs: ; outputs: ; description: { }; end DropDownBox; operation SelectDataItem components: ; inputs: ; outputs: ; description: { }; end SelectDataItem; operation AccelerateDataItem components: ; inputs: ; outputs: ; description: { }; end AccelerateDataItem; operation GetMeetingInfo components: ; inputs: UserInput; outputs: MeetingInfo; description: { The user enters in the text aspect of the meeting info - where, when, how, etc. }; end GetMeetingInfo; { Haven't fixed this one, yet. } operation Groups components: ; inputs: UserInput; outputs: MeetingInfo; description: { The user enters in the text aspect of the meeting info - where, when, how, etc. }; end Groups; operation FoundTimeSlots components: ; inputs: UserInput; outputs: MeetingInfo; description: { The user enters in the text aspect of the meeting info - where, when, how, etc. }; end FoundTimeSlots; operation SelectedTimeSlots components: ; inputs: TimeSlotList, UserSelection; outputs: SelectedList*, MeetingInfo; description: { The user selects the desired time slots. }; end SelectedTimeSlots;