【24h】

Concurrent Abstract Predicates

机译:并发抽象谓词

获取原文
获取原文并翻译 | 示例

摘要

Abstraction is key to understanding and reasoning about large computer systems. Abstraction is simple to achieve if the relevant data structures are disjoint, but rather difficult when they are partially shared, as is often the case for concurrent modules. We present a program logic for reasoning abstractly about data structures that provides a fiction of disjointness and permits compositional reasoning. The internal details of a module are completely hidden from the client by concurrent abstract predicates. We reason about a module's implementation using separation logic with permissions, and provide abstract specifications for use by client programs using concurrent abstract predicates. We illustrate our abstract reasoning by building two implementations of a lock module on top of hardware instructions, and two implementations of a concurrent set module on top of the lock module.
机译:抽象是理解和推理大型计算机系统的关键。如果相关数据结构是不相交的,则抽象很容易实现,但是如果部分共享它们,则很难实现(对于并发模块而言通常如此)。我们提供了一种用于抽象推理数据结构的程序逻辑,该逻辑提供了不相交的虚构并允许进行组合推理。通过并发抽象谓词,模块的内部细节对客户端完全隐藏了。我们考虑使用具有权限的分隔逻辑来实现模块的实现,并使用并发抽象谓词提供供客户端程序使用的抽象规范。我们通过在硬件指令之上构建锁模块的两个实现,并在锁定模块之上构建并发集模块的两个实现来说明抽象推理。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号