首页 > 最新文献

2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)最新文献

英文 中文
Modeling and verifying context-aware non-monotonic reasoning agents 情景感知非单调推理代理的建模和验证
A. Rakib, H. Haque
This paper complements our previous work on formal modeling of resource-bounded context-aware systems, which handle inconsistent context information using defeasible reasoning, by focusing on automated analysis and verification. A case study demonstrates how model checking techniques can be used to formally analyze quantitative and qualitative properties of a context-aware system based on message passing among agents. The behavior (semantics) of the system is modeled by a term rewriting system and the desired properties are expressed as LTL formulas. The Maude LTL model checker is used to perform automated analysis of the system and verify non-conflicting context information guarantees it provides.
本文通过关注自动化分析和验证,补充了我们之前关于资源有限的上下文感知系统的形式化建模的工作,该系统使用可撤销推理处理不一致的上下文信息。一个案例研究演示了如何使用模型检查技术来正式分析基于代理之间消息传递的上下文感知系统的定量和定性属性。系统的行为(语义)由术语重写系统建模,所需的属性用LTL公式表示。Maude LTL模型检查器用于执行系统的自动分析,并验证它提供的不冲突的上下文信息保证。
{"title":"Modeling and verifying context-aware non-monotonic reasoning agents","authors":"A. Rakib, H. Haque","doi":"10.1109/MEMCOD.2015.7340471","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340471","url":null,"abstract":"This paper complements our previous work on formal modeling of resource-bounded context-aware systems, which handle inconsistent context information using defeasible reasoning, by focusing on automated analysis and verification. A case study demonstrates how model checking techniques can be used to formally analyze quantitative and qualitative properties of a context-aware system based on message passing among agents. The behavior (semantics) of the system is modeled by a term rewriting system and the desired properties are expressed as LTL formulas. The Maude LTL model checker is used to perform automated analysis of the system and verify non-conflicting context information guarantees it provides.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114792473","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Compositional design of asynchronous circuits from behavioural concepts 基于行为概念的异步电路组合设计
J. Beaumont, A. Mokhov, D. Sokolov, A. Yakovlev
Asynchronous circuits can be useful in many applications, however, they are yet to be widely used in industry. The main reason for this is a steep learning curve for concurrency models, such Signal Transition Graphs, that are developed by the academic community for specification and synthesis of asynchronous circuits. In this paper we introduce a compositional design flow for asynchronous circuits using concepts - a set of formalised descriptions for system requirements. Our aim is to simplify the process of capturing system requirements in the form of a formal specification, and promote the concepts as a means for design reuse. The proposed design flow is applied to the development of an asynchronous buck converter.
异步电路在许多应用中都很有用,但是在工业上还没有得到广泛的应用。造成这种情况的主要原因是并发模型(如信号转换图)的学习曲线非常陡峭,这些模型是由学术界为异步电路的规范和合成而开发的。在本文中,我们使用概念-一组系统需求的形式化描述-介绍了异步电路的组合设计流程。我们的目标是简化以正式规范的形式捕获系统需求的过程,并将这些概念作为设计重用的一种手段加以推广。将提出的设计流程应用于异步降压变换器的开发。
{"title":"Compositional design of asynchronous circuits from behavioural concepts","authors":"J. Beaumont, A. Mokhov, D. Sokolov, A. Yakovlev","doi":"10.1109/MEMCOD.2015.7340478","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340478","url":null,"abstract":"Asynchronous circuits can be useful in many applications, however, they are yet to be widely used in industry. The main reason for this is a steep learning curve for concurrency models, such Signal Transition Graphs, that are developed by the academic community for specification and synthesis of asynchronous circuits. In this paper we introduce a compositional design flow for asynchronous circuits using concepts - a set of formalised descriptions for system requirements. Our aim is to simplify the process of capturing system requirements in the form of a formal specification, and promote the concepts as a means for design reuse. The proposed design flow is applied to the development of an asynchronous buck converter.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127550634","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Optimized distributed implementation of timed component-based systems 基于定时组件的系统的优化分布式实现
Ahlem Triki, Jacques Combaz, S. Bensalem
Distributed implementation of real-time systems has always been a challenging task. The coordination of components executing on a distributed platform has to be ensured by complex communication protocols taking into account their timing constraints. We propose a novel method for distributed implementation of the application software formally expressed in Behavior, Interaction, Priority (BIP). A BIP model consists of a set of components, subject to timing constraints, and synchronizing through multiparty interactions. The proposed method transforms BIP models into Send/Receive BIP models that operate using asynchronous message passing. Send/Receive BIP models include additional components called schedulers that observe atomic components states. Based on these observations, the schedulers are required to plan as soon as possible the execution of interactions. We propose a method that optimizes the number of observed components, and thus reduces the number of exchanged messages.
实时系统的分布式实现一直是一项具有挑战性的任务。在分布式平台上执行的组件的协调必须通过复杂的通信协议来保证,同时考虑到它们的时间约束。本文提出了一种应用软件分布式实现的新方法,该方法用行为、交互、优先级(BIP)来表示。BIP模型由一组组件组成,受时间约束,并通过多方交互进行同步。该方法将BIP模型转换为使用异步消息传递操作的发送/接收BIP模型。发送/接收BIP模型包括称为调度器的附加组件,用于观察原子组件状态。基于这些观察,调度器需要尽快计划交互的执行。我们提出了一种优化观察组件数量的方法,从而减少了交换消息的数量。
{"title":"Optimized distributed implementation of timed component-based systems","authors":"Ahlem Triki, Jacques Combaz, S. Bensalem","doi":"10.1109/MEMCOD.2015.7340464","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340464","url":null,"abstract":"Distributed implementation of real-time systems has always been a challenging task. The coordination of components executing on a distributed platform has to be ensured by complex communication protocols taking into account their timing constraints. We propose a novel method for distributed implementation of the application software formally expressed in Behavior, Interaction, Priority (BIP). A BIP model consists of a set of components, subject to timing constraints, and synchronizing through multiparty interactions. The proposed method transforms BIP models into Send/Receive BIP models that operate using asynchronous message passing. Send/Receive BIP models include additional components called schedulers that observe atomic components states. Based on these observations, the schedulers are required to plan as soon as possible the execution of interactions. We propose a method that optimizes the number of observed components, and thus reduces the number of exchanged messages.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126244884","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Towards refinement types for time-dependent data-flow networks 面向时变数据流网络的细化类型
J. Talpin, P. Jouvelot, S. Shukla
The concept of liquid clocks introduced in this paper is a significant step towards a more precise compile-time framework for the analysis of synchronous and polychromous languages. Compiling languages such as Lustre or Signal indeed involves a number of static analyses of programs before they can be synthesized into executable code, e.g., synchronicity class characterization, clock assignment, static scheduling or causality analysis. These analyses are often equivalent to undecidable problems, necessitating abstracting such programs to provide sound yet incomplete analyses. Such abstractions unfortunately often lead to the rejection of programs that could very well be synthesized into deterministic code, provided abstraction refinement steps could be applied for more accurate analysis. To reduce the number of false negatives occurring during the compilation process, we leverage recent advances in type theory - with the definition of decidable classes of value-dependent type systems - and formal verification, linked to the development of efficient SAT/SMT solvers, to provide a type-theoretic approach that considers all the above analyses as type inference problems. To simplify the exposition of our new approach in this paper, we define a refinement type system for a minimalistic, synchronous, stream-processing language to concisely represent, analyze, and verify logical and quantitative properties of programs expressed as stream-processing data-flow networks. Our type system provides a new framework for representing logical time (clocks) and scheduling properties, and to describe their relations with stream values and, possibly, other quantas. We show how to analyze synchronous stream processing programs (à la Lustre, Signal) to enable previously described analyses involved in compiling such programs. We also prove the soundness of our type system and elaborate on the adaptability of this core framework by outlining its extensibility to specific models of computations and other quantas.
本文中引入的液体时钟的概念是为同步和多色语言的分析提供更精确的编译时框架的重要一步。诸如Lustre或Signal之类的编译语言在将程序合成为可执行代码之前,确实需要对程序进行大量的静态分析,例如,同步类特征、时钟分配、静态调度或因果分析。这些分析通常等同于无法确定的问题,因此需要对这些程序进行抽象,以提供合理但不完整的分析。不幸的是,这种抽象通常会导致程序被拒绝,而这些程序可以很好地合成为确定性代码,只要抽象细化步骤可以应用于更精确的分析。为了减少在编译过程中发生的假阴性的数量,我们利用类型理论的最新进展-与值相关类型系统的可确定类别的定义-和形式化验证,与高效SAT/SMT求解器的开发相关联,提供一种将上述所有分析视为类型推断问题的类型理论方法。为了简化本文中对新方法的阐述,我们定义了一种精简、同步、流处理语言的细化类型系统,以简洁地表示、分析和验证作为流处理数据流网络表示的程序的逻辑和定量特性。我们的类型系统提供了一个新的框架来表示逻辑时间(时钟)和调度属性,并描述它们与流值以及可能的其他量值的关系。我们展示了如何分析同步流处理程序( la Lustre, Signal),以启用先前描述的编译此类程序所涉及的分析。我们还证明了我们的类型系统的合理性,并通过概述其对特定计算模型和其他量子的可扩展性来详细说明该核心框架的适应性。
{"title":"Towards refinement types for time-dependent data-flow networks","authors":"J. Talpin, P. Jouvelot, S. Shukla","doi":"10.1109/MEMCOD.2015.7340465","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340465","url":null,"abstract":"The concept of liquid clocks introduced in this paper is a significant step towards a more precise compile-time framework for the analysis of synchronous and polychromous languages. Compiling languages such as Lustre or Signal indeed involves a number of static analyses of programs before they can be synthesized into executable code, e.g., synchronicity class characterization, clock assignment, static scheduling or causality analysis. These analyses are often equivalent to undecidable problems, necessitating abstracting such programs to provide sound yet incomplete analyses. Such abstractions unfortunately often lead to the rejection of programs that could very well be synthesized into deterministic code, provided abstraction refinement steps could be applied for more accurate analysis. To reduce the number of false negatives occurring during the compilation process, we leverage recent advances in type theory - with the definition of decidable classes of value-dependent type systems - and formal verification, linked to the development of efficient SAT/SMT solvers, to provide a type-theoretic approach that considers all the above analyses as type inference problems. To simplify the exposition of our new approach in this paper, we define a refinement type system for a minimalistic, synchronous, stream-processing language to concisely represent, analyze, and verify logical and quantitative properties of programs expressed as stream-processing data-flow networks. Our type system provides a new framework for representing logical time (clocks) and scheduling properties, and to describe their relations with stream values and, possibly, other quantas. We show how to analyze synchronous stream processing programs (à la Lustre, Signal) to enable previously described analyses involved in compiling such programs. We also prove the soundness of our type system and elaborate on the adaptability of this core framework by outlining its extensibility to specific models of computations and other quantas.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125917608","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
C-to-Verilog translation validation C-to-Verilog翻译验证
Alan Leung, Dimitar Bounov, Sorin Lerner
To offset the high engineering cost of digital circuit design, hardware engineers are looking increasingly toward high-level languages such as C and C++ to implement their designs. To do this, they employ High-Level Synthesis (HLS) tools that translate their high-level specifications down to a hardware description language such as Verilog. Unfortunately, HLS tools themselves employ sophisticated optimization passes that may have bugs that silently introduce errors in realized hardware. The cost of such errors is high, as hardware is costly or impossible to repair if software patching is not an option. In this work, we present a translation validation approach for verifying the correctness of the HLS translation process. Given an initial C program and the generated Verilog code, our approach establishes their equivalence without relying on any intermediate results or representations produced by the HLS tool. We implemented our approach in a tool called VTV that is able to validate a body of programs compiled by the Xilinx Vivado HLS compiler.
为了抵消数字电路设计的高工程成本,硬件工程师越来越倾向于使用C和c++等高级语言来实现他们的设计。为此,他们使用高级综合(High-Level Synthesis, HLS)工具,将他们的高级规范转换为硬件描述语言,如Verilog。不幸的是,HLS工具本身使用复杂的优化通道,这些优化通道可能存在bug,会在已实现的硬件中无声地引入错误。这类错误的代价很高,因为如果不选择软件补丁,硬件就会很昂贵,或者不可能修复。在这项工作中,我们提出了一种翻译验证方法来验证HLS翻译过程的正确性。给定初始C程序和生成的Verilog代码,我们的方法建立它们的等价性,而不依赖于HLS工具产生的任何中间结果或表示。我们在一个名为VTV的工具中实现了我们的方法,该工具能够验证由Xilinx Vivado HLS编译器编译的程序体。
{"title":"C-to-Verilog translation validation","authors":"Alan Leung, Dimitar Bounov, Sorin Lerner","doi":"10.1109/MEMCOD.2015.7340466","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340466","url":null,"abstract":"To offset the high engineering cost of digital circuit design, hardware engineers are looking increasingly toward high-level languages such as C and C++ to implement their designs. To do this, they employ High-Level Synthesis (HLS) tools that translate their high-level specifications down to a hardware description language such as Verilog. Unfortunately, HLS tools themselves employ sophisticated optimization passes that may have bugs that silently introduce errors in realized hardware. The cost of such errors is high, as hardware is costly or impossible to repair if software patching is not an option. In this work, we present a translation validation approach for verifying the correctness of the HLS translation process. Given an initial C program and the generated Verilog code, our approach establishes their equivalence without relying on any intermediate results or representations produced by the HLS tool. We implemented our approach in a tool called VTV that is able to validate a body of programs compiled by the Xilinx Vivado HLS compiler.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123682290","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
A generic synthesisable test bench 通用可合成测试台
Matthew Naylor, S. Moore
Writing test benches is one of the most frequently-performed tasks in the hardware development process. The ability to reuse common test bench features is therefore key to productivity. In this paper, we present a generic test bench, parameterised by a specification of correctness, which can be used to test any design. Our test bench provides several important features, including automatic test-sequence generation and shrinking of counter-examples, and is fully synthesisable, allowing rigorous testing on FPGA as well as in simulation. The approach is easy to use, cheap to implement, and encourages the formal specification of hardware components through the reward of automatic testing and simple failure cases.
编写测试台是硬件开发过程中最频繁执行的任务之一。因此,重复使用通用测试台功能的能力是提高工作效率的关键。在本文中,我们介绍了一种通用测试台,其参数由正确性规范确定,可用于测试任何设计。我们的测试台提供了几个重要功能,包括自动生成测试序列和缩小反例,并且完全可综合,允许在 FPGA 和仿真中进行严格测试。这种方法易于使用,实施成本低,并通过自动测试和简单故障案例的奖励,鼓励对硬件组件进行正式规范。
{"title":"A generic synthesisable test bench","authors":"Matthew Naylor, S. Moore","doi":"10.1109/MEMCOD.2015.7340479","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340479","url":null,"abstract":"Writing test benches is one of the most frequently-performed tasks in the hardware development process. The ability to reuse common test bench features is therefore key to productivity. In this paper, we present a generic test bench, parameterised by a specification of correctness, which can be used to test any design. Our test bench provides several important features, including automatic test-sequence generation and shrinking of counter-examples, and is fully synthesisable, allowing rigorous testing on FPGA as well as in simulation. The approach is easy to use, cheap to implement, and encourages the formal specification of hardware components through the reward of automatic testing and simple failure cases.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127113007","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Formal validation and verification of a medical software critical component 医疗软件关键组件的正式确认和验证
Paolo Arcaini, S. Bonfanti, A. Gargantini, A. Mashkoor, E. Riccobene
Medical device software malfunctioning can lead to injuries or death for humans and, therefore, its development should adhere to certification standards. However, these standards establish general guidelines on the use of common software engineering activities without any indication regarding methods and techniques to assure safety and reliability. This paper presents a formal development process, based on the Abstract State Machine method, that integrates most of the activities required by the standards. The process permits to obtain, through a sequence of refinements, more detailed models that can be formally validated and verified. Offline and online testing techniques permit to check the conformance of the implementation w.r.t. the specification. The process is applied to the validation of the SAM medical software, that is used to measure the patients' stereoacuity in the diagnosis of amblyopia.
医疗设备软件故障可能导致人类受伤或死亡,因此,其开发应遵守认证标准。然而,这些标准建立了通用软件工程活动使用的一般指导方针,而没有任何关于确保安全性和可靠性的方法和技术的指示。本文提出了一个基于抽象状态机方法的正式开发过程,该过程集成了标准所要求的大部分活动。通过一系列的细化,该过程允许获得更详细的模型,这些模型可以被正式验证和验证。离线和在线测试技术允许检查实现的一致性,而不是规范。将此过程应用于SAM医学软件的验证,该软件可用于诊断弱视时测量患者的立体视敏度。
{"title":"Formal validation and verification of a medical software critical component","authors":"Paolo Arcaini, S. Bonfanti, A. Gargantini, A. Mashkoor, E. Riccobene","doi":"10.1109/MEMCOD.2015.7340473","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340473","url":null,"abstract":"Medical device software malfunctioning can lead to injuries or death for humans and, therefore, its development should adhere to certification standards. However, these standards establish general guidelines on the use of common software engineering activities without any indication regarding methods and techniques to assure safety and reliability. This paper presents a formal development process, based on the Abstract State Machine method, that integrates most of the activities required by the standards. The process permits to obtain, through a sequence of refinements, more detailed models that can be formally validated and verified. Offline and online testing techniques permit to check the conformance of the implementation w.r.t. the specification. The process is applied to the validation of the SAM medical software, that is used to measure the patients' stereoacuity in the diagnosis of amblyopia.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114864867","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Local and global fairness in concurrent systems 并发系统中的局部和全局公平性
A. Brook, D. Peled, S. Schewe
Concurrency theory suggests the use of fairness as a criterion for a reasonable execution: a transition or a process should not wait an unbounded amount of time to execute if it is enabled continuously (under weak fairness) or infinitely often (under strong fairness). Unlike multiprocessing, in actual concurrent systems one may rely on the physical nature of the system to act in a “fair” manner. However, in many realistic concurrent systems, performing the next transition may involve several smaller steps that can include negotiation and communication, and fairness can be hard to achieve. It is useful to be able to control the global fairness guaranteed by enforcing local constraints on processes. We define local fairness conditions and study their relationship with common notions of global fairness constraints.
并发理论建议使用公平性作为合理执行的标准:如果连续启用(弱公平性)或无限频繁地启用(强公平性),则转换或进程不应该等待无限长的时间来执行。与多处理不同,在实际的并发系统中,可以依靠系统的物理性质以“公平”的方式进行操作。然而,在许多实际的并发系统中,执行下一个转换可能涉及几个较小的步骤,其中可能包括协商和通信,并且公平可能难以实现。通过对进程实施局部约束来控制全局公平性是很有用的。我们定义了局部公平条件,并研究了它们与全局公平约束的关系。
{"title":"Local and global fairness in concurrent systems","authors":"A. Brook, D. Peled, S. Schewe","doi":"10.1109/MEMCOD.2015.7340461","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340461","url":null,"abstract":"Concurrency theory suggests the use of fairness as a criterion for a reasonable execution: a transition or a process should not wait an unbounded amount of time to execute if it is enabled continuously (under weak fairness) or infinitely often (under strong fairness). Unlike multiprocessing, in actual concurrent systems one may rely on the physical nature of the system to act in a “fair” manner. However, in many realistic concurrent systems, performing the next transition may involve several smaller steps that can include negotiation and communication, and fairness can be hard to achieve. It is useful to be able to control the global fairness guaranteed by enforcing local constraints on processes. We define local fairness conditions and study their relationship with common notions of global fairness constraints.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121063997","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Symbolic loop parallelization for balancing I/O and memory accesses on processor arrays 用于平衡处理器阵列上的I/O和内存访问的符号循环并行化
Alexandru Tanase, Michael Witterauf, J. Teich, Frank Hannig
Loop parallelization techniques for massively parallel processor arrays using one-level tiling are often either I/O- or memory-bounded, exceeding the target architecture's capabilities. Furthermore, if the number of available processing elements is only known at runtime - as in adaptive systems - static approaches fail. To solve these problems, we present a hybrid compile/runtime technique to symbolically parallelize loop nests with uniform dependences on multiple levels. At compile time, two novel transformations are performed: (a) symbolic hierarchical tiling followed by (b) symbolic multi-level scheduling. By tuning the size of the tiles on multiple levels, a trade-off between the necessary I/O-bandwidth and memory is possible, which facilitates obeying resource constraints. The resulting schedules are symbolic with respect to the number of tiles; thus, the number of processing elements to map onto does not need to be known at compile time. At runtime, when the number is known, a simple prolog chooses a feasible schedule with respect to I/O and memory constraints that is latency-optimal for the chosen tile size. In this way, our approach dynamically chooses latency-optimal and feasible schedules while avoiding expensive re-compilations.
使用一级平铺的大规模并行处理器阵列的循环并行化技术通常受到I/O或内存限制,超出了目标体系结构的能力。此外,如果可用处理元素的数量仅在运行时才知道——就像在自适应系统中一样——静态方法就会失败。为了解决这些问题,我们提出了一种混合编译/运行技术,以符号并行化在多个级别上具有统一依赖关系的循环巢。在编译时,执行两个新的转换:(a)符号分层平铺,然后(b)符号多级调度。通过在多个级别上调整磁贴的大小,可以在必要的I/ o带宽和内存之间进行权衡,这有助于遵守资源约束。由此产生的时间表对于瓷砖的数量是象征性的;因此,在编译时不需要知道要映射到的处理元素的数量。在运行时,当数目已知时,一个简单的prolog根据I/O和内存约束选择一个可行的调度,该调度对于所选的磁贴大小来说是延迟最优的。通过这种方式,我们的方法动态地选择延迟最优和可行的调度,同时避免昂贵的重新编译。
{"title":"Symbolic loop parallelization for balancing I/O and memory accesses on processor arrays","authors":"Alexandru Tanase, Michael Witterauf, J. Teich, Frank Hannig","doi":"10.1109/MEMCOD.2015.7340486","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340486","url":null,"abstract":"Loop parallelization techniques for massively parallel processor arrays using one-level tiling are often either I/O- or memory-bounded, exceeding the target architecture's capabilities. Furthermore, if the number of available processing elements is only known at runtime - as in adaptive systems - static approaches fail. To solve these problems, we present a hybrid compile/runtime technique to symbolically parallelize loop nests with uniform dependences on multiple levels. At compile time, two novel transformations are performed: (a) symbolic hierarchical tiling followed by (b) symbolic multi-level scheduling. By tuning the size of the tiles on multiple levels, a trade-off between the necessary I/O-bandwidth and memory is possible, which facilitates obeying resource constraints. The resulting schedules are symbolic with respect to the number of tiles; thus, the number of processing elements to map onto does not need to be known at compile time. At runtime, when the number is known, a simple prolog chooses a feasible schedule with respect to I/O and memory constraints that is latency-optimal for the chosen tile size. In this way, our approach dynamically chooses latency-optimal and feasible schedules while avoiding expensive re-compilations.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126784702","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
SCEst: Sequentially constructive esterel SCEst:顺序结构钢
Karsten Rathlev, Steven Smyth, Christian Motika, R. V. Hanxleden, Michael Mendler
The synchronous language Esterel provides determinate concurrency for reactive systems. Determinacy is ensured by the “signal coherence rule,” which demands that signals have a stable value throughout one reaction cycle. This is natural for the original application domains of Esterel, such as controller design and hardware development; however, it is unnecessarily restrictive for software development. Sequentially Constructive Esterel (SCEst) overcomes this restriction by allowing values to change instantaneously, as long as determinacy is still guaranteed, adopting the recently proposed Sequentially Constructive model of computation. SCEst is grounded in the minimal Sequentially Constructive Language, which also provides a novel semantic definition and compilation approach for Esterel.
同步语言Esterel为响应式系统提供了确定的并发性。确定性由“信号相干规则”保证,该规则要求信号在一个反应周期内具有稳定的值。这对于Esterel的原始应用领域来说是很自然的,例如控制器设计和硬件开发;然而,对于软件开发来说,这是不必要的限制。顺序构造Esterel (SCEst)采用最近提出的顺序构造计算模型,在保证确定性的前提下,允许值瞬间变化,从而克服了这一限制。SCEst以最小顺序构造语言为基础,为Esterel提供了一种新的语义定义和编译方法。
{"title":"SCEst: Sequentially constructive esterel","authors":"Karsten Rathlev, Steven Smyth, Christian Motika, R. V. Hanxleden, Michael Mendler","doi":"10.1109/MEMCOD.2015.7340462","DOIUrl":"https://doi.org/10.1109/MEMCOD.2015.7340462","url":null,"abstract":"The synchronous language Esterel provides determinate concurrency for reactive systems. Determinacy is ensured by the “signal coherence rule,” which demands that signals have a stable value throughout one reaction cycle. This is natural for the original application domains of Esterel, such as controller design and hardware development; however, it is unnecessarily restrictive for software development. Sequentially Constructive Esterel (SCEst) overcomes this restriction by allowing values to change instantaneously, as long as determinacy is still guaranteed, adopting the recently proposed Sequentially Constructive model of computation. SCEst is grounded in the minimal Sequentially Constructive Language, which also provides a novel semantic definition and compilation approach for Esterel.","PeriodicalId":106851,"journal":{"name":"2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2015-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128016768","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
期刊
2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
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