A relational trace logic for simple hierarchical actor-based component systems

I. Kurnia, A. Poetzsch-Heffter
{"title":"A relational trace logic for simple hierarchical actor-based component systems","authors":"I. Kurnia, A. Poetzsch-Heffter","doi":"10.1145/2414639.2414647","DOIUrl":null,"url":null,"abstract":"We present a logic for proving functional properties of concurrent component-based systems. A component is either a single actor or a group of dynamically created actors. The component hierarchy is based on the actor creation tree. The actors work concurrently and communicate asynchronously. Each actor is an instance of an actor class. An actor class determines the behavior of its instances. We assume that specifications of the behavior of the actor classes are available. The logic allows deriving properties of larger components from specifications of smaller components hierarchically.\n The behavior of components is expressed in terms of traces where a trace is a sequence of events. A component specification relates traces of input events to traces of output events. Generalizing Hoare-like logics from states to traces and from statements to components, we write {p} C {q} to mean that if an input trace satisfies p, component C produces output traces satisfying q; that is, p and q are assertions over traces. Such specifications are partial in that they only specify the reaction of C to input traces satisfying p.\n This paper develops the trace semantics and specification technique for actor-based component systems, presents important proof rules, proves soundness of the rules, and illustrates the interplay between the trace semantics, the specification technique and the proof rules by an example derived from an industrial Erlang case study.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Workshop on Programming based on Actors, Agents, and Decentralized Control","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2414639.2414647","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

We present a logic for proving functional properties of concurrent component-based systems. A component is either a single actor or a group of dynamically created actors. The component hierarchy is based on the actor creation tree. The actors work concurrently and communicate asynchronously. Each actor is an instance of an actor class. An actor class determines the behavior of its instances. We assume that specifications of the behavior of the actor classes are available. The logic allows deriving properties of larger components from specifications of smaller components hierarchically. The behavior of components is expressed in terms of traces where a trace is a sequence of events. A component specification relates traces of input events to traces of output events. Generalizing Hoare-like logics from states to traces and from statements to components, we write {p} C {q} to mean that if an input trace satisfies p, component C produces output traces satisfying q; that is, p and q are assertions over traces. Such specifications are partial in that they only specify the reaction of C to input traces satisfying p. This paper develops the trace semantics and specification technique for actor-based component systems, presents important proof rules, proves soundness of the rules, and illustrates the interplay between the trace semantics, the specification technique and the proof rules by an example derived from an industrial Erlang case study.
用于简单分层的基于参与者的组件系统的关系跟踪逻辑
提出了一种证明并发组件系统功能特性的逻辑。组件可以是单个参与者,也可以是一组动态创建的参与者。组件层次结构基于角色创建树。参与者并发地工作并异步地通信。每个参与者都是参与者类的一个实例。参与者类决定其实例的行为。我们假设参与者类的行为规范是可用的。该逻辑允许从较小组件的规范中分层地派生较大组件的属性。组件的行为用跟踪表示,其中跟踪是一系列事件。组件规范将输入事件的跟踪与输出事件的跟踪联系起来。将类似hoare的逻辑从状态到轨迹和从语句到组件进行一般化,我们写{p} C {q}表示如果输入轨迹满足p,组件C产生满足q的输出轨迹;也就是说,p和q是轨迹上的断言。这些规范是局部的,因为它们只规定了C对满足p的输入轨迹的反应。本文发展了基于参与者的组件系统的跟踪语义和规范技术,提出了重要的证明规则,证明了这些规则的合理性,并通过一个工业Erlang案例研究说明了跟踪语义、规范技术和证明规则之间的相互作用。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信