A sound and complete reasoning system for asynchronous communication with shared futures

被引:14
作者
Din, Crystal Chang [1 ]
Owe, Olaf [1 ]
机构
[1] Univ Oslo, Dept Informat, N-0316 Oslo, Norway
关键词
Distributed systems; Compositional reasoning; Hoare Logic; Concurrent objects; Operational semantics; Communication history; OBSERVABLE BEHAVIOR; HOARE LOGIC; CONCURRENT;
D O I
10.1016/j.jlamp.2014.03.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of their concurrency, communication, and synchronization mechanisms. We consider the setting of concurrent objects communicating by asynchronous method calls. The future mechanism extends the traditional method call communication model by facilitating sharing of references to futures. By assigning method call result values to futures, third party objects may pick up these values. This may reduce the time spent waiting for replies in a distributed environment. However, futures add a level of complexity to program analysis, as the program semantics becomes more involved. This paper presents a Hoare style reasoning system for distributed objects based on a general concurrency and communication model focusing on asynchronous method calls and futures. The model facilitates invariant specifications over the locally visible communication history of each object. Compositional reasoning is supported, and each object may be specified and verified independently of its environment. The presented reasoning system is proven sound and (relatively) complete with respect to the given operational semantics. (C) 2014 Elsevier Inc. All rights reserved.
引用
收藏
页码:360 / 383
页数:24
相关论文
共 37 条
  • [1] Behavioral interface description of an object-oriented language with futures and promises
    Abraham, Erika
    Grabe, Immo
    Gruner, Andreas
    Steffen, Martin
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2009, 78 (07): : 491 - 518
  • [2] Abstraction and modularity mechanisms for concurrent computing
    Agha, Gul
    Frolund, Svend
    Kim, WooYoung
    Panwar, Rajendra
    Patterson, Anna
    Sturman, Daniel
    [J]. IEEE Parallel and Distributed Technology, 1993, 1 (02): : 3 - 14
  • [3] Formalising Java']Java RMI with explicit code mobility
    Ahern, Alexander
    Yoshida, Nobuko
    [J]. THEORETICAL COMPUTER SCIENCE, 2007, 389 (03) : 341 - 410
  • [4] A system for compositional verification of asynchronous objects
    Ahrendt, Wolfgang
    Dylla, Maximilian
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (12) : 1289 - 1309
  • [5] DEFINING LIVENESS
    ALPERN, B
    SCHNEIDER, FB
    [J]. INFORMATION PROCESSING LETTERS, 1985, 21 (04) : 181 - 185
  • [6] [Anonymous], 1985, INT SERIES COMP SCI
  • [7] 10 YEARS OF HOARE LOGIC - A SURVEY .1.
    APT, KR
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1981, 3 (04): : 431 - 483
  • [8] Baker H. G. Jr., 1977, SIGPLAN Notices, V12, P55, DOI 10.1145/872734.806932
  • [9] Barnett M, 2005, LECT NOTES COMPUT SC, V3362, P49
  • [10] Broy M., 2001, MG COMP SCI, DOI 10.1007/978-1-4613-0091-5