演员模型的指称语义(Denotational semantics of the Actor model)是演员的指称域理论的研究主题。这个主题的历史发展参见指称语义的历史。
计算系统语义的指称理论关心找到表示系统作为的数学对象。这个理论利用了计算数学域。这种计算域的例子是偏函数和演员事件图场景。
关系 x≤y 意味着 x 可以计算演进为 y。如果指称是偏序函数,比如 f≤g 可以意味着 f 一致于 g 在 f 在其上定义的所有值上。如果指称是演员事件图场景,x≤y 意味着满足 x 的系统可以演进到满足 y 的一个系统。
计算域有下列性质:
由系统 S 指示的数学指称通过构造从叫做 ⊥S 的空指称递增更好的逼近来找到 ,使用某个逼近定义函数 progressions(进步)如下这样构造 S 的指称(意义)的 :
期望 progressions 是单调的,就是说,如果 x≤y 则 progressions(x)≤progressions(y)。更一般的说,我们期望
最后陈述的 progressions 的性质叫做 ω-连续性。
指称语义的中心问题是刻画什么时候可能依据 Denotes 的等式建立指称(意义)。计算域理论的基本定理就是如果 progressions 是 ω-连续的,则 Denotes 存在。
从 progressions 的 ω-连续性得出
上述等式引出了术语 Denotes 是 progressions 的不动点。
进一步的,这个不动点是 progressions 的最小不动点。
在下节中给出函数式程序的指称语义作为不动点语义的例子。
考虑如下定义在所有数上的 factorial 函数:
factorial 的 graph 是定义了 factorial 的所有有序对的集合,有序对的第一个元素是参数而第二个元素是值,例如: graph(factorial) = {<n, factorial(n)>|n∈ω} = {<0,1>,<1,1>,<2,2>,<3,6>,<4,24>…},factorial 程序的指称(意义) Denotefactorial 被构造如下:
这里的
注意: progressionfactorial 是不动点算子(参见上节中的定义),它的最小不动点是 Denotefactorial,就是
还有 progressionfactorial 是 ω-连续的(参见上节中的定义)。
演员模型为得出 Dana Scott 的函数的指称语义(在前面章节关于 factorial 的例子所展示的)提供了基础,Carl Hewitt 和 Henry Baker 首次给出了定理证明:
如果一个演员 f 表现得如同数学函数,则 progressionf 是 Scott 连续函数,其最小不动点是
这里的
Hewitt 和 Baker 的论文在定义 immediate-descendantsf 时的缺陷由 Will Clinger 修正。
编程语言的指称语义的重要方面是复合性,通过它程序的指称可以从它的各个部分的指称来构造。例如,考虑表达式 "<expression1> + <expression2>"。在这种情况下复合性是依据 <expression1> 和 <expression2> 的意义而为 "<expression1> + <expression2>" 提供意义。