Presently, the practice of distributed computing is such that problems exist in a mathematical realm different from their solutions: a problem is presented as a set of requirements on possible process or system behaviors, and its solution is presented as algorithmic pseudocode satisfying the requirements. Here, we present a novel mathematical realm, termed \emph{multiagent transition systems with faults}, that aims to accommodate both distributed computing problems and their solutions. A problem is presented as a specification -- a multiagent transition system -- and a solution as an implementation of the specification by another, lower-level multiagent transition systems, which may be proven to be resilient to a given set of faults. This duality of roles of a multiagent transition system can be exploited all the way from a high-level distributed computing problem description down to an agreed-upon base layer, say TCP/IP, resulting in a mathematical protocol stack where each protocol in the stack both implements the protocol above it and serves as a specification for the protocol below it. Correct implementations are compositional and thus provide also an implementation of the protocol stack as a whole. The framework also offers a formal -- yet natural and expressive -- notions of faults, fault-resilient implementations, and their composition.
翻译:目前,分布式计算的做法是,在数学领域存在不同于其解决办法的问题:一个问题作为一套关于可能的程序或系统行为的要求提出,其解决办法作为符合要求的算法伪代码提出。在这里,我们提出了一个新的数学领域,称为mph{多剂转换系统,旨在兼顾分布式计算问题及其解决办法。一个问题作为规格 -- -- 多试剂过渡系统 -- -- 和一个解决办法提出,由另一个较低层次的多剂过渡系统执行规格,这些规格可以证明能够适应一系列特定缺陷。多剂过渡系统的这种双重作用可以从一个高层次的分布式计算问题描述到一个商定的基层(如TCP/IP),完全加以利用,由此产生了一个数学协议堆,使堆中的每个协议既执行上述协议,又作为下面的议定书的规格。正确执行是构成性的,因此也提供了整个协议堆的落实。框架还提供了一个正式的 -- -- 既自然又明确的 -- -- 错误构成的概念。