Formal Methods are mathematically-based techniques for software design and engineering, which enable the unambiguous description of, and reasoning about, a system's behaviour. Autonomous systems use software to make decisions without human control, they are often safety-critical, and are increasingly being introduced into everyday settings; autonomous systems need robust development and verification methods. This position paper described how Formal Methods are an effective tool for development and verification of autonomous systems. During design, they enable unambiguous description of requirements; in development, formal specification can be verified against requirements; software components may be synthesied from verified specification; and behaviour can be monitored at runtime and compared to its original specification. Modern Formal Methods often include highly automated tool support, which enables exhaustive checking of a system's state space. This paper argue that Formal Methods are another tool in the box for developing safe autonomous systems, alongside other robust software engineering techniques.
翻译:正规方法是软件设计和工程的数学基础技术,能够对系统的行为进行明确的描述和推理; 自主系统使用软件,在没有人控制的情况下作出决定,这些软件往往对安全至关重要,而且越来越多地被引入日常环境; 自主系统需要强有力的开发和核查方法; 这份立场文件说明了正规方法如何是开发和核查自主系统的有效工具; 在设计过程中,这些方法能够明确描述各种要求; 在设计过程中,可以根据要求对正式规格进行核查; 软件组件可以从经核实的规格中加以综合; 可以在运行时监测其行为,并与原始规格进行比较; 现代正规方法通常包括高度自动化的工具支持,以便能够对系统的状况空间进行彻底检查; 本文指出,正规方法是发展安全自主系统以及其它稳健的软件工程技术的另一个工具。