The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level transition system specifications. The implementation language underlying the method is based on the model of active (or concurrent) objects. The method defines correctness in terms of a simulation relation between the transition system which specifies the program semantics and the transition system that is described by the correctness specification. The simulation relation itself abstracts from the fine-grained interleaving of parallel processes by exploiting a global confluence property of the particular model of active objects considered in this paper. As a proof-of-concept we apply our method to the correctness of a parallel simulator of multicore memory systems.
翻译:本文件所讨论的总体问题是程序正确性的长期问题,特别是描述平行执行过程系统的程序。我们提出了新的方法来证明平行执行高级过渡系统规格的正确性。该方法所依据的执行语言是以活动(或并行)物体模型为基础的。该方法从模拟关系的角度界定了过渡系统之间的正确性,该模拟关系具体说明了程序语义和正确性规格所描述的过渡系统。模拟关系本身摘自通过利用本文件所考虑的活跃物体特定模型的全球组合属性而细微的平行进程间断。作为概念的证明,我们运用我们的方法来纠正多极记忆系统平行模拟器的正确性。