Я пытался изменить это представление неориентированного графа UML (диаграммы классов) на ориентированный граф, но я застрял. Какие изменения необходимо внести и почему?
Неориентированный граф UML в ориентированный граф UML
Ответы (2)
Для исходной диаграммы: рядом с 2 необходимо указать {неуникальный}
Для обеих диаграмм: выводится связь от графа к ребру; оба узла из одного ребра из одного графа
person
user6580165
schedule
24.03.2021
Я вообще не понял вашего ответа, и похоже не только я (DV не от меня). Из того факта, что по умолчанию ассоциация неуникальная, поэтому ваша первая часть ничего не меняет, в чем важно иметь направленные ребра? Вторая часть вашего ответа для меня еще более неясна,
the association from "graph" to "edge" is derived
: ее нет на диаграмме OP, или если ваше предложение состоит в том, чтобы получить ее, как она получена и на что направлены края? Пожалуйста, объясни
- person bruno; 24.03.2021
На самом деле по умолчанию ассоциация неуникальная - OMG® Unified Modeling Language® (OMG UML®) Version 2.5.1 '7.8.8.5 Attributes': isUnique : Boolean [1..1] = истинный
- person user6580165; 25.03.2021
выводится ассоциация графа с ребром context Edge::directedGraph, производный: from.directedGraph оба узла из одного ребра из одного графа context Edge inv: from.directedGraph= to.directedGraph
- person user6580165; 25.03.2021
ах да, вы правы, isUnique по умолчанию истинно, спасибо. Но это ничего не меняет в том, направлены ребра или нет, это просто позволяет иметь рефлексивное ребро, что не является вопросом.
- person bruno; 25.03.2021
и для вывода кажется, что вы все еще хотите иметь рефлексивные края, так что это не в тему. Ориентированный граф имеет направленные ребра, поэтому ребра имеют начальный узел и конечный узел (когда вы рисуете ребро:
startnode -----> endode
, я говорю не о том, чтобы нарисовать диаграмму классов, а о самом графе). Это то, что я делаю в своем ответе, где известны начальный и конечный узлы. Ненаправленное ребро соединяет два узла без различия между этими узлами (когда вы рисуете ребро: node1-----node2
). Для меня вы не в теме, лучше удалите свой ответ. В любом случае хорошее продолжение
- person bruno; 25.03.2021
На исходной диаграмме граф иррефлексивен или антирефлексивен (это неверно). На вашей диаграмме граф нерефлексивен (это правильно).
- person user6580165; 25.03.2021
Я хотел сказать: ребро соединяет узлы одного графа (context Edge inv: from.directedGraph=to.directedGraph); ребро принадлежит тому же графу, узлы которого соединены (контекст Edge::directedGraph, производный: from.directedGraph)
- person user6580165; 25.03.2021