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

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

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





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

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

 

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

 

 


 

 

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

 

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

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

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

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

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







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




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

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

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

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