首页 > 最新文献

Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming最新文献

英文 中文
Towards execution time estimation in abstract machine-based languages 面向抽象机器语言的执行时间估计
E. Mera, P. López-García, M. Carro, M. Hermenegildo
Abstract machines provide a certain separation between platform-dependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the specific abstract machine implementation and the bytecode is left largely architecture independent. Taking advantage of this fact, we present a framework for estimating upper and lower bounds on the execution times of logic programs running on a bytecode-based abstract machine. Our approach includes a one-time, program-independent profiling stage which calculates constants or functions bounding the execution time of each abstract machine instruction. Then, a compile-time cost estimation phase, using the instruction timing information, infers expressions giving platform-dependent upper and lower bounds on actual execution time as functions of input data sizes for each program. Working at the abstract machine level makes it possible to take into account low-level issues in new architectures and platforms by just reexecuting the calibration stage instead of having to tailor the analysis for each architecture and platform. Applications of such predicted execution times include debugging/verification of time properties, certification of time properties in mobile code, granularity control in parallel/distributed computing, and resource-oriented specialization
抽象机器在编译中提供了平台相关和平台无关的关注点之间的某种分离。体系结构之间的许多差异被封装在特定的抽象机器实现中,字节码在很大程度上与体系结构无关。利用这一事实,我们提出了一个框架来估计在基于字节码的抽象机上运行的逻辑程序的执行时间的上界和下界。我们的方法包括一个一次性的、独立于程序的分析阶段,它计算每个抽象机器指令的执行时间的常量或函数。然后,在编译时成本估算阶段,使用指令计时信息,推导出表达式,给出与平台相关的实际执行时间上限和下限,作为每个程序输入数据大小的函数。在抽象机器级别工作,可以通过重新执行校准阶段来考虑新架构和平台中的低级问题,而不必为每个架构和平台量身定制分析。这种预测执行时间的应用包括时间属性的调试/验证、移动代码中的时间属性认证、并行/分布式计算中的粒度控制以及面向资源的专门化
{"title":"Towards execution time estimation in abstract machine-based languages","authors":"E. Mera, P. López-García, M. Carro, M. Hermenegildo","doi":"10.1145/1389449.1389471","DOIUrl":"https://doi.org/10.1145/1389449.1389471","url":null,"abstract":"Abstract machines provide a certain separation between platform-dependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the specific abstract machine implementation and the bytecode is left largely architecture independent. Taking advantage of this fact, we present a framework for estimating upper and lower bounds on the execution times of logic programs running on a bytecode-based abstract machine. Our approach includes a one-time, program-independent profiling stage which calculates constants or functions bounding the execution time of each abstract machine instruction. Then, a compile-time cost estimation phase, using the instruction timing information, infers expressions giving platform-dependent upper and lower bounds on actual execution time as functions of input data sizes for each program. Working at the abstract machine level makes it possible to take into account low-level issues in new architectures and platforms by just reexecuting the calibration stage instead of having to tailor the analysis for each architecture and platform. Applications of such predicted execution times include debugging/verification of time properties, certification of time properties in mobile code, granularity control in parallel/distributed computing, and resource-oriented specialization","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127144517","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}
引用次数: 23
A rewriting framework for the composition of access control policies 用于组合访问控制策略的重写框架
Clara Bertolissi, M. Fernández
In large, and often distributed, environments, where access control information may be shared across multiple sites, the combination of individual specifications in order to define a coherent access control policy is of fundamental importance. In order to ensure non-ambiguous behaviour, formal languages, often relying on firstorder logic, have been developed for the description of access control policies. We propose in this paper a formalisation of policy composition by means of term rewriting. We show how, in this setting, we are able to express a wide range of policy combinations and reason about them. Modularity properties of rewrite systems can be used to derive the correctness of the global policy, i.e. that every access request has an answer and this answer is unique
在大型的、通常是分布式的环境中,访问控制信息可能跨多个站点共享,为了定义一致的访问控制策略,将各个规范组合在一起是非常重要的。为了确保非模棱两可的行为,通常依赖于一级逻辑的形式语言已经被开发出来用于描述访问控制策略。本文提出了一种通过术语重写来形式化政策组成的方法。在此设置中,我们将展示如何表达各种策略组合并对其进行推理。重写系统的模块化特性可以用来推导全局策略的正确性,即每个访问请求都有一个答案,并且这个答案是唯一的
{"title":"A rewriting framework for the composition of access control policies","authors":"Clara Bertolissi, M. Fernández","doi":"10.1145/1389449.1389476","DOIUrl":"https://doi.org/10.1145/1389449.1389476","url":null,"abstract":"In large, and often distributed, environments, where access control information may be shared across multiple sites, the combination of individual specifications in order to define a coherent access control policy is of fundamental importance. In order to ensure non-ambiguous behaviour, formal languages, often relying on firstorder logic, have been developed for the description of access control policies. We propose in this paper a formalisation of policy composition by means of term rewriting. We show how, in this setting, we are able to express a wide range of policy combinations and reason about them. Modularity properties of rewrite systems can be used to derive the correctness of the global policy, i.e. that every access request has an answer and this answer is unique","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"200 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123293659","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}
引用次数: 31
Comparing tag scheme variations using an abstract machine generator 使用抽象机器生成器比较标签方案的变化
J. Morales, M. Carro, M. Hermenegildo
In this paper we study, in the context of a WAM-based abstract machine for Prolog, how variations in the encoding of type information in tagged words and in their associated basic operations impact performance and memory usage.We use a high-level language to specify encodings and the associated operations. An automatic generator constructs both the abstract machine using this encoding and the associated Prolog-to-bytecode compiler. Annotations in this language make it possible to impose constraints on the final representation of tagged words, such as the effectively addressable space (fixing, for example, the word size of the target processor / architecture), the layout of the tag and value bits inside the tagged word, and how the basic operations are implemented. We evaluate a large number of combinations of the different parameters in two scenarios: a) trying to obtain an optimal general-purpose abstract machine and b) automatically generating a specially-tuned abstract machine for a particular program. We conclude that we are able to automatically generate code featuring all the optimizations present in a hand-written, highly-optimized abstract machine and we can also obtain emulators with larger addressable space and better performance
在本文中,我们研究了基于wam的Prolog抽象机的背景下,标记词的类型信息编码及其相关基本操作的变化如何影响性能和内存使用。我们使用高级语言来指定编码和相关操作。自动生成器使用此编码和相关的Prolog-to-bytecode编译器构造抽象机器。这种语言中的注释使得对标记单词的最终表示施加约束成为可能,例如有效寻址空间(例如,固定目标处理器/体系结构的单词大小)、标记和标记单词内值位的布局,以及基本操作的实现方式。我们在两种情况下评估了不同参数的大量组合:a)试图获得最优的通用抽象机和b)为特定程序自动生成专门调优的抽象机。我们得出的结论是,我们能够自动生成具有手动编写的、高度优化的抽象机器中存在的所有优化的代码,并且我们还可以获得具有更大可寻址空间和更好性能的模拟器
{"title":"Comparing tag scheme variations using an abstract machine generator","authors":"J. Morales, M. Carro, M. Hermenegildo","doi":"10.1145/1389449.1389455","DOIUrl":"https://doi.org/10.1145/1389449.1389455","url":null,"abstract":"In this paper we study, in the context of a WAM-based abstract machine for Prolog, how variations in the encoding of type information in tagged words and in their associated basic operations impact performance and memory usage.We use a high-level language to specify encodings and the associated operations. An automatic generator constructs both the abstract machine using this encoding and the associated Prolog-to-bytecode compiler. Annotations in this language make it possible to impose constraints on the final representation of tagged words, such as the effectively addressable space (fixing, for example, the word size of the target processor / architecture), the layout of the tag and value bits inside the tagged word, and how the basic operations are implemented. We evaluate a large number of combinations of the different parameters in two scenarios: a) trying to obtain an optimal general-purpose abstract machine and b) automatically generating a specially-tuned abstract machine for a particular program. We conclude that we are able to automatically generate code featuring all the optimizations present in a hand-written, highly-optimized abstract machine and we can also obtain emulators with larger addressable space and better performance","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"30 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114098421","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}
引用次数: 12
Programming with proofs and explicit contexts 使用证明和显式上下文进行编程
B. Pientka, Jana Dunfield
This paper explores a new point in the design space of functional programming: functional programming with dependently-typed higher-order data structures described in the logical framework LF. This allows us to program with proofs as higher-order data. We present a decidable bidirectional type system that distinguishes between dependently-typed data and computations. To support reasoning about open data, our foundation makes contexts explicit. This provides us with a concise characterization of open data, which is crucial to elegantly describe proofs. In addition, we present an operational semantics for this language based on higherorder pattern matching for dependently typed objects. Based on this development, we prove progress and preservation
本文探讨了函数式编程设计领域的一个新观点:在逻辑框架LF中描述的具有依赖类型高阶数据结构的函数式编程。这允许我们将证明作为高阶数据进行编程。我们提出了一种区分依赖类型数据和计算的可判定的双向类型系统。为了支持对开放数据的推理,我们的基金会明确了上下文。这为我们提供了对开放数据的简明描述,这对于优雅地描述证明是至关重要的。此外,我们提出了一种基于高阶模式匹配依赖类型对象的操作语义。基于这种发展,我们证明了进步和保存
{"title":"Programming with proofs and explicit contexts","authors":"B. Pientka, Jana Dunfield","doi":"10.1145/1389449.1389469","DOIUrl":"https://doi.org/10.1145/1389449.1389469","url":null,"abstract":"This paper explores a new point in the design space of functional programming: functional programming with dependently-typed higher-order data structures described in the logical framework LF. This allows us to program with proofs as higher-order data. We present a decidable bidirectional type system that distinguishes between dependently-typed data and computations. To support reasoning about open data, our foundation makes contexts explicit. This provides us with a concise characterization of open data, which is crucial to elegantly describe proofs. In addition, we present an operational semantics for this language based on higherorder pattern matching for dependently typed objects. Based on this development, we prove progress and preservation","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127903949","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}
引用次数: 77
Cooperation of constraint domains in the TOY system TOY系统中约束域的协同
Sonia Estévez Martín, Antonio J. Fernández, Maria Teresa Hortalá-González, M. Rodríguez-Artalejo, F. Sáenz-Pérez, Rafael del Vado Vírseda
This paper presents a computational model for the cooperation of constraint domains, based on a generic Constraint Functional Logic Programming (CFLP) Scheme and designed to support declarative programming with functions, predicates and the cooperation of different constraint domains equipped with their respective solvers. We have developed an implementation in the CFLP system TOY, supporting an instance of the scheme which enables the cooperation of symbolic Herbrand constraints, finite domain integer constraints, and real arithmetic constraints. We provide a theoretical result and an analysis of benchmarks showing a good performance with respect to the closest related approach we are aware of
本文提出了一种基于通用约束函数逻辑规划(CFLP)方案的约束域协作计算模型,该模型旨在支持具有函数、谓词的声明式编程以及具有各自求解器的不同约束域之间的协作。我们在CFLP系统TOY中开发了一个实现,支持该方案的一个实例,该方案能够实现符号Herbrand约束、有限域整数约束和实算术约束的协作。我们提供了一个理论结果和对基准的分析,显示了与我们所知道的最接近的相关方法相关的良好性能
{"title":"Cooperation of constraint domains in the TOY system","authors":"Sonia Estévez Martín, Antonio J. Fernández, Maria Teresa Hortalá-González, M. Rodríguez-Artalejo, F. Sáenz-Pérez, Rafael del Vado Vírseda","doi":"10.1145/1389449.1389481","DOIUrl":"https://doi.org/10.1145/1389449.1389481","url":null,"abstract":"This paper presents a computational model for the cooperation of constraint domains, based on a generic Constraint Functional Logic Programming (CFLP) Scheme and designed to support declarative programming with functions, predicates and the cooperation of different constraint domains equipped with their respective solvers. We have developed an implementation in the CFLP system TOY, supporting an instance of the scheme which enables the cooperation of symbolic Herbrand constraints, finite domain integer constraints, and real arithmetic constraints. We provide a theoretical result and an analysis of benchmarks showing a good performance with respect to the closest related approach we are aware of","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132902717","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
Model-driven constraint programming 模型驱动约束规划
R. Chenouard, Laurent Granvilliers, Ricardo Soto
Constraint programming can definitely be seen as a model-driven paradigm. The users write programs for modeling problems. These programs are mapped to executable models to calculate the solutions. This paper focuses on efficient model management (definition and transformation). From this point of view, we propose to revisit the design of constraint-programming systems. A model-driven architecture is introduced to map solving-independent constraint models to solving-dependent decision models. Several important questions are examined, such as the need for a visual highlevel modeling language, and the quality of metamodeling techniques to implement the transformations. A main result is the s-COMMA platform that efficiently implements the chain from modeling to solving constraint problems
约束编程绝对可以看作是一种模型驱动的范例。用户为建模问题编写程序。这些程序被映射到可执行模型来计算解。本文的重点是有效的模型管理(定义和转换)。从这个角度来看,我们建议重新审视约束编程系统的设计。引入模型驱动的体系结构,将求解无关的约束模型映射到求解依赖的决策模型。研究了几个重要的问题,例如对可视化高级建模语言的需求,以及实现转换的元建模技术的质量。一个主要成果是s-COMMA平台,它有效地实现了从建模到求解约束问题的链
{"title":"Model-driven constraint programming","authors":"R. Chenouard, Laurent Granvilliers, Ricardo Soto","doi":"10.1145/1389449.1389479","DOIUrl":"https://doi.org/10.1145/1389449.1389479","url":null,"abstract":"Constraint programming can definitely be seen as a model-driven paradigm. The users write programs for modeling problems. These programs are mapped to executable models to calculate the solutions. This paper focuses on efficient model management (definition and transformation). From this point of view, we propose to revisit the design of constraint-programming systems. A model-driven architecture is introduced to map solving-independent constraint models to solving-dependent decision models. Several important questions are examined, such as the need for a visual highlevel modeling language, and the quality of metamodeling techniques to implement the transformations. A main result is the s-COMMA platform that efficiently implements the chain from modeling to solving constraint problems","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133662449","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}
引用次数: 31
Classifying integrity checking methods with regard to inconsistency tolerance 基于不一致容忍度的完整性检查方法分类
H. Decker, D. Martinenghi
We define and examine six classes of methods for integrity checking: case-based, compositional, relevance-based, simplification-based, total-integrity-dependent, and measure-based ones. Each, except the penultimate, corresponds to a particular form of inconsistency tolerance. Inconsistency measures provide a new approach to integrity checking and inconsistency tolerance. For many methods, proofs or disproofs of their inconsistency tolerance become easier and more transparent by our classification. In general, a better understanding of inconsistency-tolerant integrity checking is achieved
我们定义并研究了六类完整性检查方法:基于案例的、组合的、基于相关性的、基于简化的、依赖于整体完整性的和基于度量的。除了倒数第二项之外,每一项都对应于一种特定形式的不一致容忍。不一致度量为完整性检查和不一致容忍度提供了一种新的方法。对于许多方法,通过我们的分类,它们的不一致容忍度的证明或反证变得更加容易和透明。一般来说,可以更好地理解不一致容忍完整性检查
{"title":"Classifying integrity checking methods with regard to inconsistency tolerance","authors":"H. Decker, D. Martinenghi","doi":"10.1145/1389449.1389474","DOIUrl":"https://doi.org/10.1145/1389449.1389474","url":null,"abstract":"We define and examine six classes of methods for integrity checking: case-based, compositional, relevance-based, simplification-based, total-integrity-dependent, and measure-based ones. Each, except the penultimate, corresponds to a particular form of inconsistency tolerance. Inconsistency measures provide a new approach to integrity checking and inconsistency tolerance. For many methods, proofs or disproofs of their inconsistency tolerance become easier and more transparent by our classification. In general, a better understanding of inconsistency-tolerant integrity checking is achieved","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123450231","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}
引用次数: 32
The expressivity of universal timed CCP: undecidability of Monadic FLTL and closure operators for security 通用定时CCP的表达性:一元FLTL和安全闭包算子的不可判定性
C. Olarte, F. Valencia
The timed concurrent constraint programing model (tcc) is a declarative framework, closely related to First-Order Linear Temporal Logic (FLTL), for modeling reactive systems. The universal tcc formalism (utcc) is an extension of tcc with the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. This paper is devoted to the study of 1) the expressiveness of utcc and 2) its semantic foundations. As applications of this study, we also state 3) a noteworthy decidability result for the wellestablished framework of FLTL and 4) bring new semantic insights into the modeling of security protocols. More precisely, we show that in contrast to tcc, utcc is Turingpowerful by encoding Minsky machines. The encoding uses a monadic constraint system allowing us to prove a new result for a fragment of FLTL: The undecidability of the validity problem for monadic FLTL without equality and function symbols. This result refutes a decidability conjecture for FLTL from a previous paper. It also justifies the restriction imposed in previous decidability results on the quantification of flexible-variables. We shall also show that as in tcc, utcc processes can be semantically represented as partial closure operators. The representation is fully abstract wrt the input-output behavior of processes for a meaningful fragment of the utcc. This shows that mobility can be captured as closure operators over an underlying constraint system. As an application we identify a language for security protocols that can be represented as closure operators over a cryptographic constraint system.
时间并发约束编程模型(tcc)是一个声明性框架,与一阶线性时间逻辑(FLTL)密切相关,用于对响应系统进行建模。通用tcc形式主义(universal tcc formalism, utcc)是tcc的延伸,具有表达流动性的能力。在这里,移动性被理解为私有名称的通信,通常用于移动系统和安全协议。本文主要研究utcc的可表达性及其语义基础。作为本研究的应用,我们还陈述了3)为建立良好的FLTL框架提供了值得注意的可判定性结果;4)为安全协议的建模带来了新的语义见解。更准确地说,我们表明与tcc相比,utcc通过编码明斯基机具有图灵功能。该编码采用一元约束系统,证明了FLTL片段的一个新结果:无等式和函数符号的一元FLTL有效性问题的不可判定性。这一结果驳斥了前人关于FLTL的一个可决性猜想。这也证明了在以前的可判定性结果中对灵活变量的量化施加的限制。我们还将说明,与tcc一样,utcc进程可以在语义上表示为部分闭包操作符。该表示是完全抽象的,表示utcc中有意义片段的进程的输入-输出行为。这表明移动性可以被捕获为底层约束系统上的闭包操作符。作为一个应用程序,我们为安全协议确定了一种语言,这种语言可以表示为加密约束系统上的闭包操作符。
{"title":"The expressivity of universal timed CCP: undecidability of Monadic FLTL and closure operators for security","authors":"C. Olarte, F. Valencia","doi":"10.1145/1389449.1389452","DOIUrl":"https://doi.org/10.1145/1389449.1389452","url":null,"abstract":"The timed concurrent constraint programing model (tcc) is a declarative framework, closely related to First-Order Linear Temporal Logic (FLTL), for modeling reactive systems. The universal tcc formalism (utcc) is an extension of tcc with the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. This paper is devoted to the study of 1) the expressiveness of utcc and 2) its semantic foundations. As applications of this study, we also state 3) a noteworthy decidability result for the wellestablished framework of FLTL and 4) bring new semantic insights into the modeling of security protocols. More precisely, we show that in contrast to tcc, utcc is Turingpowerful by encoding Minsky machines. The encoding uses a monadic constraint system allowing us to prove a new result for a fragment of FLTL: The undecidability of the validity problem for monadic FLTL without equality and function symbols. This result refutes a decidability conjecture for FLTL from a previous paper. It also justifies the restriction imposed in previous decidability results on the quantification of flexible-variables. We shall also show that as in tcc, utcc processes can be semantically represented as partial closure operators. The representation is fully abstract wrt the input-output behavior of processes for a meaningful fragment of the utcc. This shows that mobility can be captured as closure operators over an underlying constraint system. As an application we identify a language for security protocols that can be represented as closure operators over a cryptographic constraint system.","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123477398","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}
引用次数: 30
Fixed point semantics and partial recursion in Coq Coq中的不动点语义和部分递归
Yves Bertot, Vladimir Komendantsky
We propose to use the Knaster-Tarski least fixed point theorem as a basis to define recursive functions in the Calculus of Inductive Constructions. This widens the class of functions that can be modelled in type-theory based theorem proving tools to potentially nonterminating functions. This is only possible if we extend the logical framework by adding some axioms of classical logic.We claim that the extended framework makes it possible to reason about terminating or non-terminating computations and we show that extraction can also be extended to handle the new functions
本文提出利用Knaster-Tarski最小不动点定理来定义归纳构造演算中的递归函数。这扩大了可以在基于类型论的定理证明工具中建模的函数类到潜在的非终止函数。这只有在我们通过添加一些经典逻辑公理来扩展逻辑框架时才有可能。我们声称,扩展的框架使得对终止或非终止计算的推理成为可能,并且我们表明提取也可以扩展以处理新函数
{"title":"Fixed point semantics and partial recursion in Coq","authors":"Yves Bertot, Vladimir Komendantsky","doi":"10.1145/1389449.1389461","DOIUrl":"https://doi.org/10.1145/1389449.1389461","url":null,"abstract":"We propose to use the Knaster-Tarski least fixed point theorem as a basis to define recursive functions in the Calculus of Inductive Constructions. This widens the class of functions that can be modelled in type-theory based theorem proving tools to potentially nonterminating functions. This is only possible if we extend the logical framework by adding some axioms of classical logic.We claim that the extended framework makes it possible to reason about terminating or non-terminating computations and we show that extraction can also be extended to handle the new functions","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128263811","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}
引用次数: 25
A type system for safe memory management and its proof of correctness 一种用于安全内存管理的类型系统及其正确性证明
Manuel Montenegro, Ricardo Peña-Marí, Clara Segura
We present a destruction-aware type system for the functional language Safe, which is a first-order eager language with facilities for programmer controlled destruction and copying of data structures. It provides also regions, i.e. disjoint parts of the heap, where the program allocates data structures. The runtime system does not need a garbage collector and all allocation/deallocation actions are done in constant time. The language is equipped with several analyses and inference algorithms so that regions, sharing information and types are automatically inferred by the compiler. Here, we concentrate on the correctness of the type system with respect to the operational semantics of the language. In particular, we prove that, in spite of sharing and of the use of implicit and explicit memory deallocation operations, all well-typed programs will be free of dangling pointers at runtime. The paper ends up with some examples of well-typed programs.
我们为函数式语言Safe提出了一种破坏感知类型系统,它是一种一阶渴望语言,具有程序员控制的数据结构的破坏和复制功能。它还提供了区域,即堆的不相交部分,程序在其中分配数据结构。运行时系统不需要垃圾收集器,所有的分配/回收操作都在固定时间内完成。该语言配备了多种分析和推理算法,以便编译器自动推断区域,共享信息和类型。在这里,我们主要关注类型系统相对于语言的操作语义的正确性。特别地,我们证明了,尽管共享和使用隐式和显式内存释放操作,所有类型良好的程序在运行时都没有悬空指针。文章最后给出了一些类型良好的程序的例子。
{"title":"A type system for safe memory management and its proof of correctness","authors":"Manuel Montenegro, Ricardo Peña-Marí, Clara Segura","doi":"10.1145/1389449.1389468","DOIUrl":"https://doi.org/10.1145/1389449.1389468","url":null,"abstract":"We present a destruction-aware type system for the functional language Safe, which is a first-order eager language with facilities for programmer controlled destruction and copying of data structures. It provides also regions, i.e. disjoint parts of the heap, where the program allocates data structures. The runtime system does not need a garbage collector and all allocation/deallocation actions are done in constant time. The language is equipped with several analyses and inference algorithms so that regions, sharing information and types are automatically inferred by the compiler. Here, we concentrate on the correctness of the type system with respect to the operational semantics of the language. In particular, we prove that, in spite of sharing and of the use of implicit and explicit memory deallocation operations, all well-typed programs will be free of dangling pointers at runtime. The paper ends up with some examples of well-typed programs.","PeriodicalId":248980,"journal":{"name":"Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133463090","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}
引用次数: 23
期刊
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
全部 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