4.1在线扩展
系统在线扩展包括原子节点和系统两个层次上的扩展。
对于原子内部软件模块的扩充,它只需在系统内部的内容码表中注册上新的内容码而不需报告给其他原子。因此这种在线修改不会影响到其他原子的运行,并且也不会影响原子内部其他软件模块的执行。
对于系统级的扩展,也含有两种类型。同构的系统扩展只需简单将其数据域合并,所有数据信息都在合并后的数据域进行广播。而杂合系统的扩展则需要网关。对于杂合系统A和B的连接扩展,可以将其中任何一个系统和网关视为一整体看作是另一系统原子节点。如此,A可以根据登记在网关中B所需的内容码将相应的信息广播到B的数据域中去。反之B也可将A所需的信息传送给A的数据域。在网关中注册登记内容码不会影响到两个系统的正常运行。
4.2在线维护
自律分散系统在运行的同时可进行部分子系统或其内部软件模块的测试。运行的原子节点发出的信息分为两类:在线信息和测试信息。相对应地,运行的原子节点也分为在线和测试两种状态。并且规定:在线节点只接收在线信息,而测试节点两种信息都接收。因而处于测试状况的节点不会干扰在线节点的正常运行,同时它又可以接收在线信息进行单个测试或接收测试信息进行联合测试。
4.3容错
自律分散系统的系统结构及其数据驱动机制使软件模块可以自由地异步执行。实际中,我们根据每一软件的重要程度来决定其复制数量。因此可以在系统中的不同子系统中安置多个复制的软件模块,这些所有相同的软件模块都在独立运行并独立接收和发送信息。其中某些模块可能处于故障状态,因此其发送的信息可能是错误信息,而另外一些模块仍在正常运行,发送正确信息。使用这些信息的软件模块如何从所有这些信息中挑选正确的以供自己使用,需要通过两步来完成。一是选取所有复制模块的“同一数据”(时间上同步);另一步是从“同一数据”中选取正确的数据。解决的办法是使用“事件序号机制”和“投票机制”。通过以上的处理途径很好地解决了以往使用备用容错技术出现的问题,即本身切换装置出现故障,无法使用备用。ADS系统在处理容错问题时,不存在任何中间切换装置,即故障软件可和正常软件同时运行,运用谁的信息的决定权完全取决于接收者。从这一意义上讲,它实现了真正的容错。