5、异步方法调用和期货的安全实现

异步方法调用和期货的安全实现

1. 操作语义

程序的语义通常用标记迁移系统(LTS)来表示。一般来说,LTS 是一个四元组 (L = (S, A, \to, s_0)),其中 (S) 是状态集合,(A) 是标记集合(两者都可以是无限的),(\to) 是 (S \times A \times S) 的子集,(s_0 \in S) 是起始状态。我们用 (s \stackrel{\alpha}{\to} s’) 表示 ((s, \alpha, s’) \in \to)。假设 (A) 包含一个特殊的标记 (\tau),称为沉默标记。LTS 通过带有非沉默标记的迁移与外部环境进行通信。

程序的运行时配置(即 LTS 的状态)是一组对象。每个对象与零个或多个任务相关联,配置还记录了向环境公开的对象和任务名称。形式上,运行时配置如下:
[
P ::= o[C, \sigma, \phi] \mid n \langle o, \sigma, s \rangle \mid p(o) \mid p(n) \mid P \parallel P
]
- 每个对象由其标识符 (o)、类 (C)、状态 (\sigma)(其字段的值)以及它接收到的期货的值 (\phi)(从名称到值的映射)表示。
- 每个任务由其标识符 (n)、所属对象 (o)、待执行的语句 (s) 以及其状态 (\sigma)(其局部变量的值)表示。
- (o) 和 (n) 都是名称,对象和任务的名称在一个配置中不会重复,操作 (\parallel) 是可交换和可结合的。

符号 (p(o)) 表示名称 (o) 是公开的,即环境知道它。环境可能知道名称 (o),但对象 (o[C, \

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值