20、分布式容错控制器:GOANNA系统解析

分布式容错控制器:GOANNA系统解析

1. 引言

在开发分布式应用时,程序员常常面临如何正确协调分布式组件以实现全局行为的问题。常见的系统包括传感与响应系统、军事侦察与救援任务、航空中的自主控制系统以及安全关键系统等。

目前,常用的方法是构建集中式控制系统来强制实现组件的全局行为。集中式协调的优点是实现简单,无需在组件间实现同步和共识,且有许多工具可用于定义和实现集中式控制器。然而,集中式协调存在单点故障问题,并且在可扩展性方面存在挑战。现有的分布式解决方案通常是特定于应用的,要求程序员理解并实现同步和共识算法,这些算法往往较为复杂。

本文介绍了一种新的方法,通过一个全局行为的有限状态机(FSM)定义来生成分布式且容错的实现。该方法已在名为GOANNA的系统中实现,该系统以状态机为输入,输出JAVA、C或nesC的分布式实现。GOANNA系统可用于开发传感器网络、无人驾驶车辆和家庭网络等分布式应用,也可作为使用有限状态机生成集中式控制器的工具的后端。

2. 概述

以一个小型火灾报警传感器系统为例,该系统由温度和烟雾传感器以及洒水喷头执行器组成。基本要求是,只有当温度和烟雾读数超过阈值时,洒水喷头才应启动。

2.1 系统模型和状态机

系统由一组提供和需求服务的组件组成,组件可以预先绑定在一起。在火灾报警系统中,洒水喷头组件提供 waterOff() waterOn() 服务,用于开启和关闭水流;温度和烟雾组件需求 tempEvent(int val) smokeEvent(int v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值