On the Deterministic Multi-threaded Software Synthesis from Polychronous Specifications

B. Jose, S. Shukla, Hiren D. Patel, J. Talpin
{"title":"On the Deterministic Multi-threaded Software Synthesis from Polychronous Specifications","authors":"B. Jose, S. Shukla, Hiren D. Patel, J. Talpin","doi":"10.1109/MEMCOD.2008.4547700","DOIUrl":null,"url":null,"abstract":"In order to exploit the emerging multi-core processors, creating multi-threaded applications is going to be a necessity. However, resolving concurrency, synchronization, and coordination issues, and tackling the non-determinism germane in multi-threaded software is extremely difficult. Ensuring deterministic behavior and correctness with respect to the specification is necessary for safe execution of such code. It is desirable to synthesize multi-threaded code from formal specifications using a provably 'correct-by- construction' approach. In the past, reasonable success has been achieved in the 'correct-by-construction' sequential software synthesis for embedded reactive systems from synchronous programming models. Here we target deterministic multi-threaded software synthesis from deterministic specifications, such that the behavior of the code is semantically equivalent to that of the specification. We choose the polychronous model of computation for specification because (i) such specifications are multi-rate, reactive, concurrent and can be made deterministic through constraints on the environment, and (ii) formal verification methodologies and tools exist for such specifications. In this paper, we analyze under what condition a polychronous specification can be synthesized into multi-threaded C-code preserving its semantics. We also discuss how the synchronous data flow graph structure for a polychronous specification can be used to infer the threading structure of the resulting C-code.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"16","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MEMCOD.2008.4547700","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 16

Abstract

In order to exploit the emerging multi-core processors, creating multi-threaded applications is going to be a necessity. However, resolving concurrency, synchronization, and coordination issues, and tackling the non-determinism germane in multi-threaded software is extremely difficult. Ensuring deterministic behavior and correctness with respect to the specification is necessary for safe execution of such code. It is desirable to synthesize multi-threaded code from formal specifications using a provably 'correct-by- construction' approach. In the past, reasonable success has been achieved in the 'correct-by-construction' sequential software synthesis for embedded reactive systems from synchronous programming models. Here we target deterministic multi-threaded software synthesis from deterministic specifications, such that the behavior of the code is semantically equivalent to that of the specification. We choose the polychronous model of computation for specification because (i) such specifications are multi-rate, reactive, concurrent and can be made deterministic through constraints on the environment, and (ii) formal verification methodologies and tools exist for such specifications. In this paper, we analyze under what condition a polychronous specification can be synthesized into multi-threaded C-code preserving its semantics. We also discuss how the synchronous data flow graph structure for a polychronous specification can be used to infer the threading structure of the resulting C-code.
从多时间规范看确定性多线程软件综合
为了利用新兴的多核处理器,创建多线程应用程序将是必要的。然而,在多线程软件中解决并发、同步和协调问题以及处理非确定性是极其困难的。确保与规范相关的确定性行为和正确性对于安全执行此类代码是必要的。使用可证明的“构造正确”方法从正式规范中合成多线程代码是可取的。在过去,从同步编程模型中对嵌入式反应系统进行“按结构正确”的顺序软件合成已经取得了一定的成功。在这里,我们的目标是来自确定性规范的确定性多线程软件合成,这样代码的行为在语义上等同于规范的行为。我们选择多时间计算模型作为规范,因为(i)这样的规范是多速率的、反应性的、并发的,并且可以通过对环境的约束来确定,(ii)对于这样的规范存在正式的验证方法和工具。在本文中,我们分析了在什么条件下,一个多时间规范可以被合成成多线程的c代码来保持它的语义。我们还讨论了如何使用多同步规范的同步数据流图结构来推断生成的c代码的线程结构。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信