среда, 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, используемого для создание вышеперечисленных примеров, доступно по ссылке

Пример модели на SysML для Умного дома

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

http://intercax.com/2015/09/21/smart-home-iot-1/
http://intercax.com/2015/12/20/smart-home-iot-2/
http://intercax.com/2016/02/06/smart-home-iot-3/

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

Каждый раз теперь, когда я вижу примеры на SysML я думаю о Capella :)