Студопедия — Проектирование класса абстрагирования данных
Студопедия Главная Случайная страница Обратная связь

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

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






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

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

 

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

 

 


 

 

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

 

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

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

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

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

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







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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

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

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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