1、一个传感器测量水箱的水位。水位(初始值为5)的测量单位范围是0到9。如果水位低于2,传感器输出低信号;如果水位高于8,传感器输出高信号;否则,传感器输出正常信号。用FSP进程对该传感器进行建模,命名为SENSOR。(提示:SENSOR的字母表为{level[0..9], high, low, normal})
根据题目要求,可建立如下FSP进程来对传感器进行建模:
SENSOR = level[5] ->
(level[0..1] -> low -> SENSOR
| level[2..8] -> normal -> SENSOR
| level[9] -> high -> SENSOR)
该建模过程首先初始化水位为5,然后根据不同的水位范围分别输出对应的信号,并回到初始状态继续监测水位。
2、对于给定的练习2.2至2.6中的每一个,绘制与有限状态过程(FSP)规范相对应的状态机图,并检查它是否能执行所需的操作。状态机图可以手动绘制,也可以使用分析工具LTSA生成。LTSA还可用于对规范进行动画演示(运行)以生成轨迹。
对于练习2.2至2.6,可通过手动绘制或使用LTSA工具生成与FSP规范对应的状态机图。利用LTSA工具可进行动画演示以生成轨迹,并检查状态机是否能执行所需操作。
3、FSP 允许多个进程在单个动作上进行同步。字母表中包含动作 sync 的一组进程必须全部执行此动作后,其中任何一个进程才能继续执行。请用 Java 实现一个名为 Barrier 的监视器,其 sync 方法能确保 N 个线程都调用 sync 方法后,这些线程才能继续执行。
以下是 Java 实现的 Barrier 监视器代码:
public class Barrier {
private final int N;
private int count = 0

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



