Прецедент «Выбор Этажа Назначения»

Пример системы управления лифтами

В этом примере мы будем рассматривать систему управления одним или несколь­кими лифтами. Система должна планировать работу лифтов, чтобы отвечать на запросы пользователей с разных этажей, а также управлять движением лифтов между этажами.

Прежде всего нужно разработать аналитическую модель и отобразить ее сна­чала на централизованный, а потом на распределенный проект.

Описание задачи

В каждом лифте есть:

– несколько кнопок лифта. Пользователь нажимает кнопку для выбора этажа назначения;

– столько же лампочек лифта. Они показывают, на каких этажах лифт остановится;

– мотор лифта. Управляется командами подъема, спуска и останова;

– дверь лифта. Управляется командами открывания и закрывания.

На каждом этаже есть:

– кнопки этажа «вверх» и «вниз». Пользователь нажимает кнопку для вызова лифта;

– соответствующие лампочки этажа. Показывают, в каком направлении вызван лифт.

На каждом этаже имеется пара лампочек направления для каждого лифта, показывающих, куда движется лифт - вверх или вниз. На нижнем и верхнем этажах установлено по одной лампочке этажа, кнопке этажа и лампочке направления (для каждого лифта). Кроме того, на каждом этаже в каждой лифтовой шахте на­ходится датчик прибытия, определяющий факт прихода лифта на этаж.

С аппаратной точки зрения кнопки лифта, кнопки этажа и датчики прибытия являются асинхронными устройствами ввода/вывода, то есть при наличии у них входной информации генерируется прерывание. Все остальные устройства вво­да/вывода пассивны. Лампочки лифта и этажа включаются аппаратно, но выклю­чать их должна программа. Лампочки управления и включаются, и выключаются программой.

Модель прецедентов

В системе управления лифтами есть два актера: один представляет Пользователя Лифта, а второй – Датчик Прибытия. Пользователь Лифта взаимодей­ствует с системой с помощью кнопок лифта и кнопок этажа.

Пользователь Лифта инициирует два прецедента (рис.1), указанные в описании задачи:

– выбор этажа назначения. Пользователь, находящийся в лифте, нажимает кнопку «вверх» или «вниз» для выбора этажа, на который ему нужно по­пасть;

– вызов лифта. Пользователь, находящийся на этаже, нажимает кнопку «вверх» или «вниз» для вызова лифта.

Эти прецеденты рассматриваются ниже.

Рис.1. Актеры и прецеденты в системы управления лифтами

 

Прецедент «Выбор Этажа Назначения»

Актеры. Пользователь лифта (главный), датчик прибытия. Предусловие. Пользователь находится в лифте. Описание:

1.Пользователь нажимает кнопку лифта «вверх». Датчик кнопки лифта посылает системе запрос, в котором указан выбранный пользователем этаж.

2.Новый запрос добавляется в список этажей, которые должен посетить лифт. Если лифт стоит, то система определяет, куда он должен поехать, чтобы обслужить очередной запрос. Система отдает лифту команду закрыть дверь. Как только дверь закроется, система приказывает мотору привести лифт в движение - вверх или вниз.

3.По мере движения лифта датчики прибытия распознают приближение лифта к этажу и извещают об этом систему. Система проверяет, должен ли лифт остановиться на данном этаже. Если да, то система отдает мотору команду остановиться. После остановки система приказывает открыть дверь.

4.Если есть другие ожидающие вызовы, лифт посещает этажи по пути к тому, на который направляется пользователь. В конце концов лифт приезжает на указанный этаж назначения.

Альтернативы:

– пользователь нажимает кнопку «вниз». Реакция системы такая же, как в глав­ной последовательности;

– если лифт находится на некотором этаже и новых вызовов нет, то он остает­ся в покое с открытой дверью.

Постусловие. Лифт прибыл на этаж назначения, выбранный пользователем.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: