A framework for embedded software portability and verification: from formal models to low-level code

IF 2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Software and Systems Modeling Pub Date : 2024-02-01 DOI:10.1007/s10270-023-01144-y
Renata Martins Gomes, Bernhard Aichernig, Marcel Baunach
{"title":"A framework for embedded software portability and verification: from formal models to low-level code","authors":"Renata Martins Gomes, Bernhard Aichernig, Marcel Baunach","doi":"10.1007/s10270-023-01144-y","DOIUrl":null,"url":null,"abstract":"<p>Porting software to new target architectures is a common challenge, particularly when dealing with low-level functionality in drivers or OS kernels that interact directly with hardware. Traditionally, adapting code for different hardware platforms has been a manual and error-prone process. However, with the growing demand for dependability and the increasing hardware diversity in systems like the IoT, new software development approaches are essential. This includes rigorous methods for verifying and automatically porting Real-Time Operating Systems (RTOS) to various devices. Our framework addresses this challenge through formal methods and code generation for embedded RTOS. We demonstrate a hardware-specific part of a kernel model in Event-B, ensuring correctness according to the specification. Since hardware details are only added in late modeling stages, we can reuse most of the model and proofs for multiple targets. In a proof of concept, we refine the generic model for two different architectures, also ensuring safety and liveness properties. We then showcase automatic low-level code generation from the model. Finally, a hardware-independent factorial function model illustrates more potential of our approach.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"2 1","pages":""},"PeriodicalIF":2.0000,"publicationDate":"2024-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software and Systems Modeling","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10270-023-01144-y","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Porting software to new target architectures is a common challenge, particularly when dealing with low-level functionality in drivers or OS kernels that interact directly with hardware. Traditionally, adapting code for different hardware platforms has been a manual and error-prone process. However, with the growing demand for dependability and the increasing hardware diversity in systems like the IoT, new software development approaches are essential. This includes rigorous methods for verifying and automatically porting Real-Time Operating Systems (RTOS) to various devices. Our framework addresses this challenge through formal methods and code generation for embedded RTOS. We demonstrate a hardware-specific part of a kernel model in Event-B, ensuring correctness according to the specification. Since hardware details are only added in late modeling stages, we can reuse most of the model and proofs for multiple targets. In a proof of concept, we refine the generic model for two different architectures, also ensuring safety and liveness properties. We then showcase automatic low-level code generation from the model. Finally, a hardware-independent factorial function model illustrates more potential of our approach.

Abstract Image

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
嵌入式软件可移植性和验证框架:从形式模型到低级代码
将软件移植到新的目标架构是一项常见的挑战,尤其是在处理与硬件直接交互的驱动程序或操作系统内核中的底层功能时。传统上,为不同硬件平台调整代码是一个手动且容易出错的过程。然而,随着对可靠性要求的不断提高,以及物联网等系统中硬件多样性的不断增加,新的软件开发方法变得至关重要。这包括将实时操作系统(RTOS)验证和自动移植到各种设备的严格方法。我们的框架通过嵌入式实时操作系统的形式化方法和代码生成来应对这一挑战。我们在 Event-B 中演示了内核模型中特定于硬件的部分,确保了规范的正确性。由于硬件细节仅在建模后期添加,我们可以针对多个目标重复使用大部分模型和证明。在概念验证中,我们针对两种不同的架构完善了通用模型,同时确保了安全性和有效性。然后,我们展示了根据模型自动生成底层代码的过程。最后,与硬件无关的因子函数模型展示了我们方法的更多潜力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Software and Systems Modeling
Software and Systems Modeling 工程技术-计算机:软件工程
CiteScore
6.00
自引率
20.00%
发文量
104
审稿时长
>12 weeks
期刊介绍: We invite authors to submit papers that discuss and analyze research challenges and experiences pertaining to software and system modeling languages, techniques, tools, practices and other facets. The following are some of the topic areas that are of special interest, but the journal publishes on a wide range of software and systems modeling concerns: Domain-specific models and modeling standards; Model-based testing techniques; Model-based simulation techniques; Formal syntax and semantics of modeling languages such as the UML; Rigorous model-based analysis; Model composition, refinement and transformation; Software Language Engineering; Modeling Languages in Science and Engineering; Language Adaptation and Composition; Metamodeling techniques; Measuring quality of models and languages; Ontological approaches to model engineering; Generating test and code artifacts from models; Model synthesis; Methodology; Model development tool environments; Modeling Cyberphysical Systems; Data intensive modeling; Derivation of explicit models from data; Case studies and experience reports with significant modeling lessons learned; Comparative analyses of modeling languages and techniques; Scientific assessment of modeling practices
期刊最新文献
A model template for reachability-based containment checking of imprecise observations in timed automata Supporting method engineering with a low-code approach: the LOMET  tool A system-theoretic assurance framework for safety-driven systems engineering IAT/ML: a metamodel and modelling approach for discourse analysis Universal conceptual modeling: principles, benefits, and an agenda for conceptual modeling research
×
引用
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