从Alloy透视图和UML透视图解释图表

时间:2017-02-11 21:46:28

标签: alloy

本书软件抽象有一个模拟一堆网络进程的例子。每个进程都连接到另一个进程。为了描述这一点,我在一张纸上画了这张图:

Each process has a successor

我将该图解释为:每个流程都有一个后续流程。

但后来我开始思考:那是不对的。如果它是UML模型,那么它是正确的,但它不是Alloy模型的正确描述。

经过一番思考,我得出了这个描述: Process 有一组(原子)值;每个值代表网络中的一个进程。 succ 有一组对,每对代表从进程到另一对的连接。 Process 中的每个值都与 Process 中的一个值完全配对。

你同意这种描述吗?你是否同意上面的图表在Alloy中代表了与在UML中完全不同的东西?

上图可能更适合UML,下图更适合于Alloy:

Process successor Process mapping

那会是更合适的合金图吗?

1 个答案:

答案 0 :(得分:1)

如果你将UML类图作为抽象数据模型(而不是代码草图)给出了语义,那么你给出的解释似乎是合理的 - 你给出的Alloy版本只是一个形式化解释。您给出的第二个图是一种实例图,我将它用作为第一个图提供语义的方法:也就是说,类图的含义是一组可能的实例图。