КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Архитектурное решение. Данную архитектуру мы считаем нужным описать в трех представлениях
Данную архитектуру мы считаем нужным описать в трех представлениях. Представление процессов разъясняет реализацию распределения; многоуровневое представление помогает понять механизм разделения задач в Ship System 2000; наконец, представление декомпозиции на модули демонстрирует распределение обязанностей между несколькими крупными элементами системы: системными функциями (system functions) и группами системных функций (system function groups). Охарактеризовав архитектуру в категориях этих трех представлений, мы обсудим ряд проблем сопровождения и применения линейки продуктов, с которыми столкнулась компания CelsiusTech. Представление процессов: удовлетворение требований по распределению и средства расширения линейки продуктов На каждом процессоре исполняется набор Ada-программ; с другой стороны, Ada- программы исполняются в основном на одном процессоре. Каждая программа может состоять из нескольких Ada-задач. Системы в линейке продуктов SS2000 насчитывают до 300 Ada-программ. Требование» касающееся исполнения на распределенной вычислительной платформе, оказывает на программную архитектуру серьезное влияние. Во-первых, оно подразумевает конструирование системы как набора взаимодействующих процессов и тем самым вводит в действие представление процессов. Само наличие представления процессов свидетельствует о применении тактики реализации производительности «введение параллелизма». Кроме того, в распределенных системах возникают задачи, связанные с предотвращением взаимоблокировки, протоколами передачи данных, отказоустойчивостью (на случай отказа процессора или канала связи), сетевым управлением, предотвращением насыщения и производительностью (обеспечивающей координацию задач). Для обеспечения распределенности применяется ряд соглашений. Они отвечают требованиям по распределенности архитектуры — в частности, тем ее аспектам, которые связаны с линейками продуктов. Среди задач и межкомпонентных соглашений нужно отметить следующие. ♦ Компоненты взаимодействуют путем передачи строго типизированных сообщений. Абстрактный тип данных и управляющие программы предоставляются компонентом, передающим сообщение. Строгая типизация позволяет устранять целые классы ошибок на этапе компиляции. Сообщение как основной механизм взаимодействия между компонентами обеспечивает возможность их написания вне зависимости от деталей (изменяемой) реализации, касающихся представления данных. ♦ В качестве механизма межпроцессного взаимодействия выступает протокол транспортировки данных между Ada-приложениями; он обеспечивает независимость от местоположения, а значит, и возможность передачи данных между приложениями на любых процессорах. Такая «анонимность распределения процессоров» позволяет переносить процессы с одного процессора на другой, проводить предпрогонную регулировку производительности и реконфигурацию в период прогона (обе эти операции относятся к средствам обеспечения отказоустойчивости) без внесения изменений в исходный код. ♦ Средства назначения Ас1а-задач участвуют в реализации модели поточной обработки. Выполняя свои функции, производитель данных не знает, кто окажется их потребителем. Содержание и обновление данных концептуально отделены от их использования. Это наглядный пример применения тактики реализации модифицируемости под названием «введение посредника» посредством образца классной доски. Основным потребителем данных выступает компонент человеко-машинного интерфейса. Компонент, в котором содержится репозитарий, называется универсальным менеджером объектов (common object manager, COOB). На рис. 15.13 иллюстрируется роль, которую СООВ исполняет в период прогона. Содержание рисунка не ограничивается тем потоком данных, который обращается к СООВ; на нем также изображены потоки, которые по соображениям производительности обходят этого менеджера стороной. Данные отслеживания (позиционная история цели), переносимые в крупной структуре данных, передаются напрямую от производителя к потребителю; то же самое в силу крайне высокой частоты обновления происходит при передаче информации от шарового манипулятора. Ниже перечислены соглашения по производству данных. ♦ Отправка данных производится только в случае их изменения. Это предотвращает появление в сети избыточного трафика сообщений. ♦ В целях отделения программ от изменяющихся реализаций данные представляются в виде объектно-ориентированных абстракций. Строгая типизация позволяет обнаруживать ошибки, связанные с неверным использованием переменных, уже в период компиляции. ♦ С данными, которые они изменяют, компоненты связаны отношением принадлежности; они поставляют процедуры доступа, исполняющие роль диспетчеров. Поскольку к каждому блоку данных напрямую обращается только тот компонент, которому этот блок принадлежит, состязательность исключается. ♦ Возможность обращения к данным предоставляется всем заинтересованным сторонам на всех узлах системы. Привязка данных к определенному узлу не влияет на перечень компонентов, которые располагают доступом к ним. ♦ Благодаря распределению данных время отклика на запрос о поиске сокращается. Рис. 15.13. Применение (и обход) менеджера СООВ
♦ В системе обеспечивается долгосрочная непротиворечивость данных. Краткосрочная противоречивость допускается. ♦ Сетевые соглашения заключаются в следующем: ♦ Сетевая нагрузка умышленно сокращается — иначе говоря, значительные усилия проектировщиков направляются на то, чтобы сделать поток данных в сети управляемым и обеспечить передачу по ней только важнейшей информации. ♦ Каналы передачи данных устойчивы к ошибкам. Приложения ориентируются на устранение ошибок по большей части за счет внутренних ресурсов. ♦ «Пропуск» приложением нерегулярных обновлений данных считается допустимым. К примеру, местоположение судна постоянно меняется, и пропущенное обновление информации о местоположении можно будет вывести на основе сопутствующих обновлений. ♦ Существует также ряд других соглашений, не относящихся ни к одному из вышеперечисленных аспектов: ♦ Настраиваемость языка Ada широко задействуется как механизм повторного использования. ♦ Применяются стандартные протоколы исключений языка Ada. Многие из этих соглашений (в частности, те, что касаются абстрактных типов данных, межпроцессорного взаимодействия, передачи сообщений и принадлежности данных) позволяют написать любой модуль вне зависимости от многочисленных изменяемых аспектов, которые он не контролирует. Другими словами, модули носят более общий характер и потому предполагают возможность непосредственного перенесения в сторонние системы.
Дата добавления: 2015-04-25; Просмотров: 575; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |