среда, 26 ноября 2014 г.

Вложенные порты SysML 1.3

В SysML 1.3 (текущая официальная версия, выпущеная в 2012 году) впервые появилась нотация вложенных портов (nested ports), которая позволяет декомпозировать порты до любого уровня вложенности. С помощью портов моделируются точки взаимодействия блоков. Взаимодействие блоков может быть логическое, а может быть и физическое.

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

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

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


На другой диаграмме внутренней структуры дома могут быть показана более детальное информация о портах электроснабжения отдельных помещений. На диаграмме ниже для портов пЭлКухни и пЭлектроснабжение отображены вложенные порты электроснабжения кухонной техники. 


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

Блок КоридорЛог определяет в модели логическую модель коридора. В нем определен порт пЭлектроснабжение, имеющий тип иЭлКоридор. 



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



Тип иЭлКухня определен с виде интерфейсного блока, внутри которого определены порты электроснабжения кухонных приборов и других потребителей электричества на кухне.


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


Выше были представлены скриншоты "представления спецификации" браузера модели, в котором отображается только один уровень декомпозиции портов. В "структурном представлении" браузера модели в MagicDraw вся информация о вложенных портах собирается в едином представлении, и для каждого порта отображаются порты всех уровней вложенности.


Введение нотации вложенных портов в SysML 1.3 (это текущая официальная версия, выпущенная в 2012 году) очень сильно приблизило данный язык для использования в задачах моделирования систем. И это та функциональность, которая обязательно должна быть поддержана в инструменте моделирования.

Комментариев нет:

Отправить комментарий