Какой тип элемента следует использовать для моделирования сообщения и его элементов данных в SysML?

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

Я предполагаю, что это либо:

  • необработанный блок
  • более специализированный интерфейс Block

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

Интерфейсный Блок должен произойти где-то там, чтобы напечатать порт, правильно? Означает ли это, что я использую его для непосредственного определения сообщения или это зависит от схемы моего порта (т. Е. Вкладываю ли я порты и на какой уровень)?

Я предполагаю, что это сводится к путанице, когда вы определяете вещь (то есть класс / блок) и когда вы определяете, что эта вещь является количеством, которое течет в вашей модели (поток некоторого вида - сообщение передается от одной задачи или кусок оборудования другому).

PS Я использую MagicDraw в качестве инструмента SysML, но я не думаю, что это должно повлиять на основной ответ.

0 ответов

Ответ, разработанный моей командой:

  1. Используйте полный порт для необработанного сетевого интерфейса, физического уровня.
  2. Используйте блок для ввода сетевого интерфейса, в том числе:
    • Свойства потока, которые представляют физические элементы, вытекающие из порта, такие как общий электрический ток (мощность).
    • Вложенные элементы полного порта для физических вложенных портов, такие как контакты, которые составляют физический порт Ethernet. Тип с другим блоком.
    • Вложенные <> элементы для логических / абстрактных потоков данных через сетевой интерфейс, такие как сокеты / соединения
  3. Используйте интерфейсный блок для ввода каждого логического соединения (вложенного прокси-порта) с интерфейсным блоком, содержащим следующее:
    • Свойства потока, которые представляют блоки данных, такие как сообщения, которые отправляются как группа через соединение
    • Свойства значений, которые определяют характеристики этого соединения, такие как IP-адреса источника и назначения и номера портов, потеря связи и информация о повторных попытках и т. Д. Обратите внимание, что некоторые из них могут лучше использоваться в качестве метаданных в тегах как часть отдельного стереотипа.
  4. Введите свойства потока данных для соединений с помощью ValueType, атрибутами которого являются отдельные элементы данных этого блока данных (то есть элементы сообщения).
  5. Создайте новый стереотип с настраиваемым именем, например, "Элемент данных", и добавьте теги для любых метаданных, необходимых для каждого элемента данных, таких как длина (в битах или байтах), базовый тип в сообщении, любая единица измерения или масштабирование. факторы, положение в сообщении и т. д.

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

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

Это отправная точка - мы обнаружили проблемы с вложением определений типа значений изначально, поэтому выбрали более плоское определение сообщения, содержащее все аспекты сообщения в одном ValueType, а не их вложение. Я уверен, что есть способы обойти это, но насколько сложным вы хотите получить?

Другие вопросы по тегам