Distributed runtime verification by past-CTL and the field calculus

IF 4.1 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING Journal of Systems and Software Pub Date : 2022-05-01 Epub Date: 2022-02-04 DOI:10.1016/j.jss.2022.111251
Giorgio Audrito , Ferruccio Damiani , Volker Stolz , Gianluca Torta , Mirko Viroli
{"title":"Distributed runtime verification by past-CTL and the field calculus","authors":"Giorgio Audrito ,&nbsp;Ferruccio Damiani ,&nbsp;Volker Stolz ,&nbsp;Gianluca Torta ,&nbsp;Mirko Viroli","doi":"10.1016/j.jss.2022.111251","DOIUrl":null,"url":null,"abstract":"<div><p>Recent trends in the engineering of software-intensive systems increasingly promote the adoption of computation at the edge of the network, in the proximity of where sensing and actuation are performed. Applications are executed directly in IoT devices deployed in the physical environment, possibly with the aid of edge servers: there, interactions are essentially based on physical proximity, and communication with the cloud is sporadic if not absent.</p><p><span>The challenge of monitoring the execution of such system, by relying on local interactions only, naturally arises. We address this challenge by proposing a rigorous approach to distributed runtime monitoring for space-based networks of devices. We introduce the past-CTL logic, an extension of past-LTL able to express a variety of properties concerning the knowable past of an event. We formally define a procedure to derive, from a past-CTL formula, monitors that can be distributed on each device and whose collective behaviour verifies the validity of the formula at runtime across space and time. This is achieved by relying on the field calculus, a core programming language used to specify the behaviour of a collection of devices by viewing them as an aggregate computing machine, carrying out altogether a distributed computational process. The field calculus is shown to be a convenient language for our goals, since its functional composition approach provides a natural way of translating in a syntax-directed way properties expressed in a given logic into monitors for such properties. We show that the monitor process executing in each single device runs using local memory, message size, and computation time that are all linear in the size of the formula (1 bit per temporal connective). This matches the efficiency of the best available previous results for (non-distributed) monitors derived from past-LTL formulas. Finally, we empirically evaluate the applicability of the approach to sample problems in </span>distributed computing, through simulated experiments with monitors written through a C++ library implementing the field calculus programming constructs.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"187 ","pages":"Article 111251"},"PeriodicalIF":4.1000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0164121222000243","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2022/2/4 0:00:00","PubModel":"Epub","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 8

Abstract

Recent trends in the engineering of software-intensive systems increasingly promote the adoption of computation at the edge of the network, in the proximity of where sensing and actuation are performed. Applications are executed directly in IoT devices deployed in the physical environment, possibly with the aid of edge servers: there, interactions are essentially based on physical proximity, and communication with the cloud is sporadic if not absent.

The challenge of monitoring the execution of such system, by relying on local interactions only, naturally arises. We address this challenge by proposing a rigorous approach to distributed runtime monitoring for space-based networks of devices. We introduce the past-CTL logic, an extension of past-LTL able to express a variety of properties concerning the knowable past of an event. We formally define a procedure to derive, from a past-CTL formula, monitors that can be distributed on each device and whose collective behaviour verifies the validity of the formula at runtime across space and time. This is achieved by relying on the field calculus, a core programming language used to specify the behaviour of a collection of devices by viewing them as an aggregate computing machine, carrying out altogether a distributed computational process. The field calculus is shown to be a convenient language for our goals, since its functional composition approach provides a natural way of translating in a syntax-directed way properties expressed in a given logic into monitors for such properties. We show that the monitor process executing in each single device runs using local memory, message size, and computation time that are all linear in the size of the formula (1 bit per temporal connective). This matches the efficiency of the best available previous results for (non-distributed) monitors derived from past-LTL formulas. Finally, we empirically evaluate the applicability of the approach to sample problems in distributed computing, through simulated experiments with monitors written through a C++ library implementing the field calculus programming constructs.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
分布式运行时验证的过去- ctl和字段演算
软件密集型系统工程的最新趋势越来越多地促进了网络边缘计算的采用,在传感和驱动执行的地方附近。应用程序直接在部署在物理环境中的物联网设备中执行,可能需要借助于边缘服务器:在那里,交互基本上是基于物理接近的,与云的通信是零星的,如果不是没有的话。通过仅依赖本地交互来监视此类系统执行的挑战自然会出现。我们提出了一种严格的方法来对基于空间的设备网络进行分布式运行时监控,从而解决了这一挑战。我们介绍了过去- ctl逻辑,这是过去- ltl的扩展,能够表达与事件的已知过去有关的各种属性。我们正式定义了一个过程,从过去的ctl公式中导出可以分布在每个设备上的监视器,其集体行为在运行时跨空间和时间验证公式的有效性。这是通过依赖于场演算来实现的,场演算是一种核心编程语言,用于通过将一组设备视为一台聚合计算机器来指定它们的行为,从而共同执行分布式计算过程。对于我们的目标来说,字段演算是一种方便的语言,因为它的功能组合方法提供了一种自然的方式,可以以语法导向的方式将给定逻辑中表示的属性转换为此类属性的监视器。我们展示了在每个单个设备上执行的监视器进程使用本地内存、消息大小和计算时间运行,它们在公式的大小上都是线性的(每个时间连接1位)。这与从过去的ltl公式导出的(非分布式)监视器的最佳可用先前结果的效率相匹配。最后,我们通过模拟实验来评估该方法对分布式计算中样本问题的适用性,通过c++库编写的监视器来实现场演算编程结构。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Journal of Systems and Software
Journal of Systems and Software 工程技术-计算机:理论方法
CiteScore
8.60
自引率
5.70%
发文量
193
审稿时长
16 weeks
期刊介绍: The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to: •Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution •Agile, model-driven, service-oriented, open source and global software development •Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems •Human factors and management concerns of software development •Data management and big data issues of software systems •Metrics and evaluation, data mining of software development resources •Business and economic aspects of software development processes The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.
期刊最新文献
A Systematic Mapping of federated learning operations and features: Architecture, communication and aggregation models Bridging safety and security in complex systems: A model-based approach with SAFT-GT toolchain AI-assisted code refactoring: Where can it be helpful and where do humans outperform it? What developers ask about openai APIs: An empirical study on stack overflow Logfun: An efficient function-Level log management framework for systems implemented with python
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1