module RoomModule; export RoomDB; export Room; export Capacity; object RoomDB is components: Room*; operations: addRoom, changeRoom, removeRoom; description: (* The RoomDB is the repository of Rooms

UML diagram. *); end RoomDB; object Room is components: Building and RoomNumber and capac:Capacity and RoomTime and Enhancements; description: (* A Room contains information about a particular room including its location, capacity and times when its availiable as well as what is in the room. *); end Room; object Building is integer; object RoomNumber is integer; object Capacity is integer; object Enhancements is components: Lab and Multimedia and OS and Database and AI and Networks and Other; description: (* Enhancements are a collection of Hardware and software in the rooms *); end Enhancement; object Lab is boolean; object Multimedia is boolean; object OS is boolean; object Database is boolean; object AI is boolean; object Networks is boolean; object Other is components: check and text; description: (* other is a check box that allows the user to enter add things not in the list *); end Other; object check is boolean; object text is string; object RoomTime is components: RoomDay and RoomTimes and RoomChoice; description: (* A TimePref is a rating of a time, Choice, for a given Time and Day. *); end RoomTime; object RoomDay is string; object RoomTimes is string; object RoomChoice is boolean; operation AddRoom is inputs: Room, RoomDB; outputs: RoomDB; description: (* AddRoom adds the particular Room to the Room database, producing an updated Room database *); end AddRoom; operation RemoveRoom is inputs: Room, RoomDB; outputs: RoomDB; description: (* RemoveRoom removes the particular Room to the Room database, producing an updated Room database *); end RemoveRoom; object LocalRoom inherits from Room components: RoomUsed; description: (* A LocalRoom is all the things the room is and if it is being used. *); end LocalRoom; object RoomUsed is boolean; end RoomModule;