咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Incremental Forest: A DSL for ... 收藏

Incremental Forest: A DSL for Efficiently Managing Filestores

作     者:DiLorenzo, Jonathan Zhang, Richard Menzies, Erin Fisher, Kathleen Foster, Nate 

作者机构:Cornell Univ Ithaca NY 14853 USA Univ Penn Philadelphia PA 19104 USA Tufts Univ Medford MA 02155 USA 

出 版 物:《ACM SIGPLAN NOTICES》 (ACM SIGPLAN Not.)

年 卷 期:2016年第51卷第10期

页      面:252-271页

核心收录:

学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

基  金:National Science Foundation [CCF-1253165  CNS-CNS-1413972] 

主  题:Data description languages file systems file-stores domain-specific languages ad hoc data laziness 

摘      要:File systems are often used to store persistent application data, but manipulating file systems using standard APIs can be difficult for programmers. Forest is a domain-specific language that bridges the gap between the on-disk and in-memory representations of file system data. Given a high-level specification of the structure, contents, and properties of a collection of directories, files, and symbolic links, the Forest compiler generates tools for loading, storing, and validating that data. Unfortunately, the initial implementation of Forest offered few mechanisms for controlling cost-e.g., the run-time system could load gigabytes of data, even if only a few bytes were needed. This paper introduces Incremental Forest (iForest), an extension to Forest with an explicit delay construct that programmers can use to precisely control costs. We describe the design of iForest using a series of running examples, present a formal semantics in a core calculus, and define a simple cost model that accurately characterizes the resources needed to use a given specification. We propose skins, which allow programmers to modify the delay structure of a specification in a compositional way, and develop a static type system for ensuring compatibility between specifications and skins. We prove the soundness and completeness of the type system and a variety of algebraic properties of skins. We describe an OCaml implementation and evaluate its performance on applications developed in collaboration with watershed hydrologists.

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分