Диаграмма кооперации для прецедента Вызов Лифта изображена на рис.6. Поскольку вызов поступает от кнопки этажа, нужно решить, какой лифт обслужит запрос. Решение принимается Планировщиком, у которого есть информация о состоянии (месте нахождения и направлении движения каждого лифта) и план (список этажей, которые каждый лифт обязан посетить). Вот описание последовательности сообщений:
F1: Поступил Запрос Кнопки Этажа объекту Интерфейс Кнопки Этажа.
F2: Объект Интерфейс Кнопки Этажа посылает Запрос на Обслуживание объекту Планировщик.
F3: Планировщик выбирает лифт и передает Запрос Планировщика объекту Диспетчер Лифта, входящему в состав выбранного Лифта.
F4: Объект Диспетчер Лифта отправляет сообщение Обновить объекту Состояние и План Движения Лифта, чтобы тот добавил новый запрос в список этажей, которые должен посетить лифт.
F5: Объекту Диспетчер Лифта возвращается подтверждение, где, в частности, содержится информация о том, стоит лифт или движется.
F6: Объект Диспетчер Лифта посылает Планировщику сообщение Обязательство Лифта.
F6a: Если лифт стоит, то Диспетчер Лифта посылает сообщение Вверх (или Вниз) объекту Управление Лифтом, извещающее, в каком направлении ехать. Этот случай обрабатывается в абстрактном прецеденте Отправить Лифт.
Рис.6. Диаграмма кооперации для прецедента Вызов Лифта