Как представить составной граф, используя нотации/диаграммы UML?

Мне нужен инструмент (желательно онлайн, но на данном этапе мне все равно), который позволит мне моделировать отношения (аналогично BPMN), которые могут быть представлены в виде составных графов (хотя в большинстве случаев это будет более простой вложенный график). график). Кажется, я не могу достичь своей цели, используя формализм BPMN (самые близкие дорожки, но они не допускают произвольного вложения). Я думаю повторно использовать инструменты моделирования UML, но я недостаточно знаю UML, чтобы знать, подходит ли UML для моего варианта использования.

Представьте себе интегральную схему, состоящую из микросхем, соединенных проводами. Итак, три фишки: A,B,C и Chip A -> Chip B, Chip C. Каждый чип имеет входные и выходные порты, и некоторые из выходных портов A подключены к входным портам B, некоторые подключены к портам C. Теперь сам Chip A можно рассматривать как интегральную схему, и как таковую можно разложить на другой график: Chip A :: Chip A.1, Chip A.3 -> Chip A.2. Каждый Chip A.1 также может быть разложен и т. д. Это то, что называется составным графом. Каждый узел составного графа может иметь потомков, которые сами являются графами.

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

1-й уровень

   -------
---|ChipA|---ChipB---
   |     |---ChipC---
   |-----|

Увеличить чип A

-----ChipA.1---ChipA.2----   (...linked to ChipB input port
  |--ChipA.3-|         |--   (...linked to ChipC input port

Пример составного графа из литературы:

введите здесь описание изображения


person user3743222    schedule 22.06.2016    source источник
comment
Я бы посоветовал вам сначала прочитать о самом UML, прежде чем вы начнете искать конкретный инструмент. Извините, я не буду вдаваться в подробности о том, что такое составной граф и для каких целей он нужен, но, рассматривая примеры графов, я бы с самого начала сосредоточился на исследовании следующих диаграмм: диаграмма классов, диаграмма объектов, составная структурная схема, схема компонентов. Если UML окажется тем, что вы ищете, будет проще искать конкретный инструмент для работы.   -  person Ister    schedule 22.06.2016
comment
При втором прочтении я решил добавить ответ (см. ниже). Кроме того, поскольку SO не предназначен для того, чтобы запрашивать определенные приложения для выполнения чего-либо. вам следует изменить свой вопрос на «Какая диаграмма UML может заменить составной граф». В любом случае, что касается инструмента, попробуйте любой из инструментов, поддерживающих диаграмму компонентов - StarUML/WhiteStarUML - один из примеров, который может помочь. Это не онлайн.   -  person Ister    schedule 22.06.2016
comment
Я голосую против этого. Вы просите графический инструмент, чтобы сделать некоторую работу. Я вижу разницу между составным и вложенным графом. Вы можете нарисовать это с помощью Powerpoint. Но управлять ими (и переходами между ними обоими) достаточно для дипломной работы. И затем: какое это имеет отношение к карте состояний, кроме того, что последняя является графиком???   -  person qwerty_so    schedule 22.06.2016
comment
Вы должны уточнить, хотите ли вы общий инструмент составного графа — в этом случае UML не подходит, поскольку он имеет дело с конкретными вариантами использования — или вы хотите создать модель, подобную вашему примеру чипа, с блоками, соединенными через порты и вложенную структуру, в в этом случае подойдет либо SysML, либо другая нотация EDA или системного моделирования.   -  person Pete Kirkham    schedule 22.06.2016
comment
@thomasKillian: прочитайте вопрос еще раз: вопрос в том, есть ли в UML механизм или инструменты, позволяющие указывать составной граф, и если да, то каков механизм вложенности? Или, может быть, прочитайте заголовок: Как описать составной граф с помощью uml?   -  person user3743222    schedule 22.06.2016


Ответы (2)


В ответ на ваш комментарий,

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

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

С точки зрения вас «Чип, состоящий из чипов», пакет CompositeStructures в надстройке UML (раздел 9 документа 2.4.1 superstructure ) использует эту ассоциацию для создания композитов или для конкретного примера предметной области, построенного поверх UML, тогда SysML является диалектом UML, созданным для системной инженерии.

Блок-схема системной инженерии состоит из блоков, созданных с помощью портов и соединителей; блоки могут иметь внутреннюю структуру дальнейшей сети блоков. Соединители несут потоки, которые могут быть информацией, энергией или материей.

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

См. http://www.omgsysml.org/ или http://sysmlforum.com/sysml-faq/ для получения дополнительной информации.

Инструменты для sysml перечислены на сайте http://sysml.tools/.

person Pete Kirkham    schedule 22.06.2016
comment
Я не знаю, почему вы все обращаетесь к диаграммам компонентов. Вопрос касается составных графов и изначально не имеет ничего общего с UML. - person qwerty_so; 22.06.2016
comment
@ThomasKilian вопрос конкретно требует решения UML. Хотя запрос относится к составному графу в UML, приведенная иллюстрация представляет собой разбивку, в которой каждый компонент взаимодействует с портами, что как раз и является вариантом использования для блок-схем SysML. - person Pete Kirkham; 22.06.2016
comment
Ну и вопрос напоминает каким молотком вы предлагаете копать мой огород. - person qwerty_so; 22.06.2016
comment
@ Пит, это здорово. Это полностью решает мою проблему с вложенными графами. Это похоже на 90% моих вариантов использования, так что я пойду с этим. Для моего конкретного контекста я всегда могу преобразовать составные графы во вложенные графы. Так что это замечательно. Спасибо, что нашли время, чтобы прочитать и понять вопрос и помощь. - person user3743222; 22.06.2016

Начните с диаграммы компонентов в UML.

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

Если конкретный порт реализован с внутренней структурой, вы будете использовать для этого коннектор делегирования.

person Ister    schedule 22.06.2016
comment
Я не знаю, почему вы все обращаетесь к диаграммам компонентов. Вопрос касается составных графов и изначально не имеет ничего общего с UML. - person qwerty_so; 22.06.2016
comment
@ThomasKilian да, именно поэтому я предложил изменить вопрос. Теоретически UML не ограничивается программными системами, и он должен уметь работать и с другими системами (например, с физическими). Поскольку вопрос был о том, как описать такую ​​​​модель с помощью диаграммы UML, вот куда я иду со своим ответом. Кстати, в моем комментарии вы можете видеть, что я предлагаю посмотреть всего 5 различных диаграмм на выбор. У меня недостаточно знаний о составных графах (особенно, где они используются и что конкретно означают эти элементы), чтобы дать определенный ответ. - person Ister; 22.06.2016
comment
Я думаю, что вопрос просто глупый (см. мой комментарий к Питу). UML не предназначен для построения диаграмм. А моделировать графики (я не имею в виду рисование!) очень сложно. Я не вижу никакого реального отношения к UML в этом вопросе. - person qwerty_so; 22.06.2016
comment
Я не знаю, почему вы, ребята, набрасываетесь на своих лошадей. Если вы не понимаете вопроса или моих мотивов, тогда все, продолжайте свой день. Я полностью доволен ответом Истера. Вопрос в том, какой механизм UML позволяет выразить вложенность. Ответ идеален. Я читал о диаграмме пакета/диаграмме компонентов и тысячах других диаграмм/символов/соединителей в UML, и с первого взгляда мне было непонятно, какая из них допускает вложенность. Итак, теперь я буду исследовать диаграммы компонентов. - person user3743222; 22.06.2016