Architectural Runtime Verification

Lars Stockmann, S. Laux, E. Bodden
{"title":"Architectural Runtime Verification","authors":"Lars Stockmann, S. Laux, E. Bodden","doi":"10.1109/ICSA-C.2019.00021","DOIUrl":null,"url":null,"abstract":"Analyzing runtime behavior is an important part of developing and verifying software systems. This is especially true for complex component-based systems used in the vehicle industry. Here, locating the actual cause of (mis-)behavior can be time-consuming, because the analysis is usually not performed on the architecture level, where the system has initially been designed. Instead, it often relies on source code debugging or visualizing signals and events. The results must then be correlated to what is expected regarding the architecture. With an ever-growing complexity of the systems, the advent of model-based development, code generators and the distributed nature of the development process, this becomes increasingly difficult. This paper therefore presents Architectural Runtime Verification (ARV), a generic approach to analyze system behavior on architecture level using the principles of Runtime Verification. It relies on the architecture description and on the runtime information that is collected in simulation-based tests. This allows an analyst to easily verify or refute hypotheses about system behavior regarding the interaction of components, without the need to inspect the source code. We have instantiated ARV as a framework that allows a client to make queries about architectural elements using a timed LTL-based constraint language. From this, ARV generates a Runtime Verification monitor and applies it to runtime data stored in a database. We demonstrate the applicability of this approach with a running example from the automotive industry.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA-C.2019.00021","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Analyzing runtime behavior is an important part of developing and verifying software systems. This is especially true for complex component-based systems used in the vehicle industry. Here, locating the actual cause of (mis-)behavior can be time-consuming, because the analysis is usually not performed on the architecture level, where the system has initially been designed. Instead, it often relies on source code debugging or visualizing signals and events. The results must then be correlated to what is expected regarding the architecture. With an ever-growing complexity of the systems, the advent of model-based development, code generators and the distributed nature of the development process, this becomes increasingly difficult. This paper therefore presents Architectural Runtime Verification (ARV), a generic approach to analyze system behavior on architecture level using the principles of Runtime Verification. It relies on the architecture description and on the runtime information that is collected in simulation-based tests. This allows an analyst to easily verify or refute hypotheses about system behavior regarding the interaction of components, without the need to inspect the source code. We have instantiated ARV as a framework that allows a client to make queries about architectural elements using a timed LTL-based constraint language. From this, ARV generates a Runtime Verification monitor and applies it to runtime data stored in a database. We demonstrate the applicability of this approach with a running example from the automotive industry.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
架构运行时验证
分析运行时行为是开发和验证软件系统的重要组成部分。这对于汽车行业中使用的基于复杂组件的系统来说尤其如此。在这里,定位(错误)行为的实际原因可能非常耗时,因为分析通常不是在体系结构级别执行的,而系统最初是在体系结构级别设计的。相反,它通常依赖于源代码调试或可视化信号和事件。结果必须与架构方面的预期相关联。随着系统复杂性的不断增长,基于模型的开发、代码生成器和开发过程的分布式特性的出现,这变得越来越困难。因此,本文提出了体系结构运行时验证(ARV),这是一种利用运行时验证原理在体系结构级别分析系统行为的通用方法。它依赖于架构描述和在基于模拟的测试中收集的运行时信息。这使得分析人员可以轻松地验证或反驳关于组件交互的系统行为的假设,而无需检查源代码。我们已经将ARV实例化为一个框架,该框架允许客户端使用基于定时ltl的约束语言查询架构元素。由此,ARV生成一个运行时验证监视器,并将其应用于存储在数据库中的运行时数据。我们通过汽车行业的一个运行示例来演示这种方法的适用性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
A Retargetable Fault Injection Framework for Safety Validation of Autonomous Vehicles Experience Report: Combining Mixed-Criticality Support with Resource Reservation and Spare Capacity Allocation DecidArch V2: An Improved Game to Teach Architecture Design Decision Making Towards Consistency Checking Between Software Architecture and Informal Documentation Machine Learning System Architectural Pattern for Improving Operational Stability
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1