Первая десятка рекомендаций по моделированию для системных инженеров: Рекомендация 4. Проектируйте решения с повторным использованием проверенных шаблонов

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

Брюс Дуглас, главный популяризатор Rational, отделение системотехники

Фото автораБрюс Дуглас (Bruce Douglass) имеет более чем 30-летний опыт работы с программным обеспечением и специализируется на разработке систем реального времени и встраиваемых систем. Он автор процесса разработки встраиваемых систем реального времени IBM Rational Harmony™ (Harmony/ERT). Вместе с Питром Хофманом разработал оригинальный процесс Harmony, в котором системотехника и ПО сочетаются с узкоспециализированной автоматизацией для достижения гладкого, комплексного рабочего процесса. В IBM занимается консалтингом и преподаванием UML, SysML и DoDAF не только заказчикам программного обеспечения Rational, но и собственным инженерам, научным сотрудникам и специалистам по маркетингу IBM. Написал более 100 журнальных статей и 15 технических книг, является лектором и членом консультативного совета Конференции встраиваемых систем и Всемирной конференции UML. Его опыт включает в себя гибкую разработку и гибкие методы проектирования систем, а также разработку на основе модели и системы повышенной безопасности.



24.03.2014

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

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

Шаблон: Защищенный одиночный канал

Описание
Организовать компоненты в виде серии шагов по управлению и преобразованию данных. Добавить проверки на наличие ошибок и на безопасность на границах компонентов.
 
Задача
Защититься от отказов экономически эффективным способом.
 
Решение
Организовать компоненты в виде серии шагов по управлению и преобразованию данных с небольшой избыточностью с целью проверки на наличие ошибок и на безопасность.
 
Последствия
Низкая стоимость проекта, низкая стоимость воспроизведения, но неспособность продолжить работу при наличии отказа — на этот случай необходимо специальное "отказобезопасное" состояние.
 

Базовый шаблон показан на рис. 1. Компоненты связаны в серию преобразующих элементов (Abstract Data Transform), к каждому из которых можно добавить проверки на валидность и безопасность (Abstract Transformational Checker). Конкретные версии элементов появляются при замене компонентов этой модели в ходе применения шаблона в конкретном проекте.

Рисунок 1. Шаблон с одиночным защищенным каналом
model of the base pattern

На рис. 2 показано применение этого шаблона. Датчики давления и расхода поставляют необработанные исходные данные, которые проходят через фильтр скользящего среднего/полосовой фильтр, после чего используются для вычисления обновленного положения насоса. Каждое из этих преобразований имеет элемент для его верификации:

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

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

Рисунок 2. Применение шаблона с одиночным защищенным каналом
Diagram of the pattern

Harmony-процесс состоит из пяти ключевых архитектурных представлений (см. рис. 3), а именно:

Представление подсистем и компонентов
Крупномасштабные фрагменты системы, их обязанности и интерфейсы.
 
Представление параллелизма и ресурсов
Выявление параллельных блоков и расписаний их деятельности, сопоставление программных элементов соответствующим тредам, стратегии синхронизации задач, политики использования ресурсов.
 
Представление развертывания
Распределение обязанностей между различными инженерными дисциплинами (проектирование механических, электронных и программных компонентов).
 
Представление распределения
Принятие решений об интеллектуальном распределении между обрабатывающими узлами; технологии и политики для обмена информацией и взаимодействия.
 
Представление надежности
Поддержание целостности системы (безопасность, надежность и защищенность) в процессе ее функционирования, в том числе выявление отказов и атак с последующей их изоляцией и нейтрализацией без прекращения функционирования системы.
 

Архитектура системы — в немаловажном смысле — это сумма проектировочных решений и шаблонов в каждой из этих критически важных областей.

Рисунок 3. Пять ключевых представлений архитектуры Harmony
the harmony architecture

Более подробная информация по шаблонам проектирования для различных архитектурных аспектов изложена в следующих книгах автора данной статьи: Real-Time Design Patterns (Проектирование шаблонов реального времени), издательство Addison-Wesley, 2003 г., и Design Patterns for Embedded Systems in C (Проектирование шаблонов для встраиваемых систем на языке C), издательство Elsevier Press, 2011 г.

Ресурсы

Научиться

  • Оригинал статьи: Top 10 modeling hints for system engineers: #4 Design patterns reuse proven solutions.
  • Дополнительная информация о продукте Rational System Architect
  • Для получения дополнительной информации об инструменте Rational Rhapsody для коллективной управляемой моделями разработки встроенных систем познакомьтесь с обзором линейки продуктов Rational Rhapsody и посетите страницу Rational Rhapsody на сайте IBM developerWorks. Чтобы получить локальный экземпляр документации, посетите раздел Changing the location of help content в информационном центре по продукту Rational Rhapsody 7.6.
  • Для получения дополнительной информации о возможностях продукта Rational Rhapsody в области управления проектированием ознакомьтесь с инструментом IBM Rational Rhapsody Design Manager, который позволяет всем участникам группы разработки взаимодействовать, совместно использовать ресурсы, просматривать материалы, управлять проектированием и моделями. Кроме того, посетите страницу Design Management на сайте Jazz.net.
  • Посетите раздел по программному обеспечению Rational на сайте developerWorks и ознакомьтесь с техническими материалами, проверенными методиками и информацией по интегрированным решениям Rational для коллективного создания программного обеспечения и систем.
  • Следите на веб-сайте developerWorks за мероприятиями и трансляциями по техническим вопросам, посвященными различным продуктам IBM и актуальным темам ИТ-отрасли.
  • Углубите свои навыки. Ознакомьтесь с каталогом ресурсов для обучения и сертификации по продуктам Rational, который содержит множество курсов различного типа, охватывающих широкий диапазон тем. Некоторые из этих курсов можно пройти в любом месте и в любое время, а многие курсы категории Getting Started являются бесплатными.

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Rational
ArticleID=966616
ArticleTitle=Первая десятка рекомендаций по моделированию для системных инженеров: Рекомендация 4. Проектируйте решения с повторным использованием проверенных шаблонов
publish-date=03242014