/* Elevator System - sample system (B) Last updated: Aug 31, 2008 */ //Namespace for facade class. namespace Elevator //Namespace for core of the system. namespace Elevator.core class Elevator{ identifier; state; directionOfMovement; 1 -- * ConsoleCallButton; 1..* -- 0..* DownCallButton; 1..* -- 0..* UpCallButton; } class Floor{ 1 -- * ConsoleCallButton; * -- * Elevator; } class FullSystem{ 1 -- * Elevator; } class FloorNumberDisplay{ 0..1 -- 1 Floor; } //Separate out the buttons namespace Elevator.core.Buttons class Button{ Boolean lightOn; } class CloseDoorButton{ isA Button; 1 -- 1 Elevator; } class OpenDoorButton{ isA Button; 1 -- 1 Elevator; } class UpCallButton { isA Button; } class DownCallButton { isA Button; } class StopCallbutton { isA Button; } class ConsoleCallButton { isA Button; }