Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Проектирование класса абстрагирования данных





При централизованном подходе есть только один класс абстрагирования дан­ных - Состояние и План Движения Лифта. Состояние лифта - это его текущее положение (номер этажа) и направление движения (вверх, вниз, стоит). План дви­жения представляет собой список этажей, которые лифт должен посетить. По­скольку есть только один экземпляр указанного класса, мы вправе прибегнуть к централизованному хранилищу, как показано на рис.21а.

Чтобы определить операции класса абстрагирования данных, необходимо по­нять, как к нему обращаются. На рис.19 показаны три разные задачи, обращающиеся к такому объекту: Планировщик, Диспетчер Лифта и Контроллер Лиф­та (последняя существует в нескольких экземплярах - по одному для каждого лифта). Планировщик читает план и состояние каждого лифта с целью выбрать лифт, которому будет поручено обслуживание нового запроса. Эта функция вы­полняется внутри операции выбратьЛифт. Диспетчер Лифта обновляет план движения лифта и проверяет, не находится ли лифт в состоянии покоя. Эта функ­ция реализуется операцией обновитьПлан. Задача Контроллер Лифта обраща­ется к объекту Состояние и План Движения Лифта четырьмя способами (путем отправки четырех разных сообщений): чтобы обновить состояние, когда лифт прибыл или отбыл, чтобы проверитьЭтотЭтаж и чтобы проверитьСледующийЭтажНазначения. Каждое из названных сообщений отображается на опера­цию объекта абстрагирования данных (см. рис.21).

 

Рис.20. Нераспределенная система управления лифтами: интерфейсы задач

 

 


 

 

Рис.21. Классы абстрагирования данных: а -для централизованного решения; б - для распределенного решения

 

Операция проверитьЭтотЭтаж вызывается с параметрами этаж# и лифт#, проверяет, должен ли лифт остановиться на данном этаже, и обновляет состояние и план движения лифта. Операция возвращает состояниеЭтажа: стоп, если лифт должен остановиться, или мимо - в противном случае, а также направле­ние, являющееся предварительным индикатором того, вверх или вниз лифт бу­дет двигаться. Операция проверитьСледующийЭтажНазначения (вызываемая после этого) проверяет, в каком направлении лифту следовать дальше. Она уста­навливает состояние лифта равным «вверх», «вниз» или «покой» (если невыпол­ненных запросов нет) и возвращает направление, которое будет равно соответ­ственно запросВверх, запросВниз или нетЗапросов.

9.6. Обсуждение альтернативных архитектур

Вместо только что описанной архитектуры мы могли бы ввести для каждого лифта по одному экземпляру задач Интерфейс Кнопок Лифта, Интерфейс Дат­чиков Прибытия и Диспетчер Лифта в дополнение к задаче Контроллер Лиф­та. При наличии одного процессора такое решение нежелательно из-за слишком больших накладных расходов.

Но в многопроцессорной среде для каждого лифта допустимо иметь свой про­цессор, на котором будут выполняться экземпляры задач Интерфейс Кнопок Лифта, Интерфейс Датчиков Прибытия, Диспетчер Лифта и Контроллер Лиф­та. Задачи Планировщик, Интерфейс Кнопок Этажа, Монитор Лампочек Эта­жа и Монитор Лампочек Направления удобно разместить на отдельном процес­соре. В случае нескольких ЦП с общей памятью объект абстрагирования данных Состояние и План Движения Лифта по-прежнему хранился бы в разделяемой памяти.

Если же процессоры не располагают общей памятью, то несколько задач не смогут напрямую обращаться к объекту Состояние и План Движения Лифта. Далее мы опишем проект распределенной системы управления лифтами.







Дата добавления: 2015-09-19; просмотров: 468. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия