Question 1: =========== Class dictionary evolution. You join a company which develops meeting scheduler programs and you are asked to maintain their application. Currently they are using the following class dictionary CAL_SCHED: ====================================================================== // CALENDAR SCHEDULER class dictionary CalendarScheduler = "meetings" List(Meeting) // the following tells us about personal calendars // and preferences of local members. "members" List(Member). Meeting = "meeting" "meetingId" NumericId "title" Title Occurrence "participants" List(ParticipantAll). ParticipantAll : Member | Outsider *common* PeopleName. Outsider = "outsider" . Member = "memberId" Id [ MemberInfo]. MemberInfo = PersonalCal. //-- Preferences. PersonalCal = "personal" "calendar" List(Appointment). Appointment = "appointment" "appointmentTopic" Title SingleOccurrence. //-- Preferences = "preferences" //-- List(Preference) . //-- Preference = //-- WeeklyOccurrence. Occurrence : SingleOccurrence | WeeklyOccurrence *common*