среда, 10 февраля 2016 г.

Закомство с примерами системных моделей в Capella

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

Начать стоит с простой системной модели радио-будильника 

Модель выполнена с помощью языка моделирования Capella в инструменте с одноименным названием и в соответствии с методом моделирования Arcadia. Все это разработана не ИТ компанией аля IBM в соответствии с теоретическими стандартами и т.п., а компанией Thales -практиком, разрабатывающим сложные системы в различных областях промышленности.  https://www.thalesgroup.com/en . В Capella и Arcadia я нашел для себя ответы на многие вопросы, на которые не мог найти в Rhapsody или SysML. Как говорится, дьявол в деталях.

При знакомстве с системными моделями полезно держать в голове несколько принципов системного моделирования.

Первый важный принцип проектирования на "системной уровне" - это следование от функциональности к форме(компоненты), которые ее реализуют, с аллокацией функций на форму. Такой подход позволяет идти от "целей" к методам их реализации, рассматривая различные возможные разбиения на компоненты.

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

В примере с радио показаны результаты для трех уровней абстракции для моделирования
- операционная модель
- системная модель
- логическая модель

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

В Capella и Arcadia также покрыты следующие два уровня абстракции моделирования
- физическая модель
- "логистическая" модель (EPBS) - распределение компонентов по поставщикам

Пример более сложной модели In Flight Entertaiment System, ссылку на которую я уже давал ранее.
В ней также отображены физическая модель и модель EPBS.
Стоит еще помнить об уровнях декомпозиции. Во-первых, уровни абстракции и уровни декомпозиции - это разные вещи. В результате процесса Arcadia (последовательного моделирования на нескольких уровнях абстракции) система может быть разбита на физические подсистемы. А далее к этим подсистемам применяется тот же процесс на новом уровне декомпозиции. 

Чем уникальна Capella и Arcadia - это тем, что с ними становится действительно понятно что и как делать при переходе между уровнями абстракции и уровнями декомпозиции. Capella автоматизирует переход между уровнями абстракции путем создания модели следующего уровня абстракции на основе модели предыдущего уровня. Capella также автоматизирует переход между уровнями декомпозиции, позволяя экспортировать часть модели (для одной подсистемы) с текущего уровня декомпозиции для дальнейшего проектирования на следующем уровне декомпозиции в отдельной модели в соответствии с таким же процессом. Между моделями, разрабатываемыми на различных уровнях абстракции и уровнями декомпозиции создаются трассировочные связи, которые позволяют идти не только сверху вниз, но и снизу вверх или параллельно.
Трассировочные связи позволяют отслеживать изменения и синхронизировать модели.

Описание метода моделирования Arcadia, используемого для создание вышеперечисленных примеров, доступно по ссылке

6 комментариев:

  1. Здравствуйте Дмитрий! По ссылке на модель радио-будильника ничего нет. Можно это исправить?

    ОтветитьУдалить
    Ответы
    1. Philipp, поправил ссылку на описание модели радио-будильника. Другие downloads по capella доступны по ссылке http://polarsys.org/capella/download.html

      Удалить
  2. Спасибо большое, Дмитрий. Не знаю, можно здесь спрашивать у вас что-либо иное, но скажу немного о себе: я врач, интересуюсь построением систем оказания медицинской помощи, управления ею. Мне очень польстило, что в качестве одного из примеров вы привели человеческий организм. Мне эта идея (описать организм в виде модели) пришла в голову пару недель назад, глядя на разрозненность наших медицинских протоколов, научных работ - связать их в базу данных через эффекты для частей организма, которые они предупреждают или продуцируют. Конечно, системная инженерия и mbse, в частности, с трудом ложится и ворочается в голове врача. Но мне очень интересно и я полон энтузиазма.
    В этой связи у меня два вопроса:
    - поддерживаете ли вы беседы с непрофессионалами и где?
    - если слышали и пробовали, ваше отношение и оценка места такого продукта, как 3SL Cradle? - мы подумываем приобрести инструмент для системного инжениринга, и он привлек наше внимание декларируемыми возможностями, русификацией и ценой.
    Заранее спасибо.

    ОтветитьУдалить
    Ответы
    1. Очень интересно, что вы врач и заинтересовались mbse. Буду рад пообщаться.

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

      Насчет базы данных медицинских знаний и автоматизации ее использования для диагностики. Скажите, вы в курсе такой технологии, как IBM Watson и ее применения к диагностике в медицине? База данных, о которой вы говорите, может быть использована для "интеллектуальной" диагностики болезней в помощь врачам, которые благодаря такой системе могут использовать накопленные знания своих продвинутых коллег. Минздрав объявлял о своих планах внедрения систем аля Ватсон.

      Системная модель организма несомненно должна быть основой таких систем.

      https://ru.wikipedia.org/wiki/IBM_Watson
      http://www.cnews.ru/news/top/minzdrav_planiruet_sozdat_rossijskij

      Если коротко IBM Watson - это вопросно-ответная система, основанная на статистическом подходе по генерации гипотез (ответов на вопросы) и их проверки на основе большого количества текстовых данных. В основе Ватсон есть некоторый универсальный подход. Но для его использования необходима наполнение подхода большим количеством (часто эврестических) алгоритмов, способных генерировать гипотезы на основе большого количества разнообразных моделей.

      Насчет инструментов для управления требованиями. Несомненно, что управление требованиями - это первый шаг в сторону системного инжиниринга. Знаком с методологией и несколькими инструментами для управления требованиями. Конкретно 2SL Cradle не пробовал. Если необходимо, могу помочь соорентироваться и подсказать на что нужно обратить внимание при выборе. Идеальных решений, к сожалению, не существует. Приходится находить компромиссы.

      Удалить
    2. Филипп, мая почта dsryzhov at gmail.com

      Удалить
  3. Да, спасибо, Дмитрий. Пока почитаю ваш перевод UML Практикума по встроенным системам.
    А про инструменты - они все сложные и поэтому первый критерий отбора русификация.
    :-)
    Здесь - последнее. Остальные буду писать почтой.

    ОтветитьУдалить