2017-02-11 9 views
0

В книге Программные абстракции имеет пример моделирования пучка сетевых процессов. Каждый процесс соединяется с другим процессом. Для того, чтобы изобразить это на листе бумаги я нарисовал эту схему:Интерпретация диаграммы из перспективы сплава в сравнении с перспективой UML

Each process has a successor

Я интерпретировал эту схему как: Каждый процесс имеет процесс правопреемника.

Но потом я подумал: это неправильно. Если бы это была модель UML, тогда это было бы правильно, но это не правильное описание для модели Alloy.

После некоторого размышления я пришел к этому описанию: Процесс имеет набор (атомных) значений; каждое значение представляет собой процесс в сети. succ имеет набор пар, каждая пара представляет соединение от процесса к другому. Каждое значение в Процесс сопряжен с точностью до одного значения от . Процесс.

Вы согласны с этим описанием? Согласны ли вы с тем, что приведенная выше диаграмма представляет собой совсем другое дело в сплаве, чем в UML?

Возможно выше диаграмма лучше подходит для UML и следующая диаграмма лучше подходит для сплава:

Process successor Process mapping

Это было бы более подходящим диаграмму сплава?

ответ

1

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