Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- short-paperJuly 2024
Authoring Games with Tile Rewrite Rule Behavior Trees
FDG '24: Proceedings of the 19th International Conference on the Foundations of Digital GamesArticle No.: 47, Pages 1–4https://doi.org/10.1145/3649921.3656979Game authoring can be a difficult, technical process; exploring new ways to describe games and game mechanics may help make game authoring more accessible. In this work, we present Tile Rewrite Rule Behavior Trees (TRRBTs): a concept for a domain-...
Automatic Generation of Vectorizing Compilers for Customizable Digital Signal Processors
ASPLOS '24: Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1Pages 19–34https://doi.org/10.1145/3617232.3624873Embedded applications extract the best power-performance trade-off from digital signal processors (DSPs) by making extensive use of vectorized execution. Rather than handwriting the many customized kernels these applications use, DSP engineers rely on ...
- research-articleSeptember 2023
Let Coarse-Grained Resources Be Shared: Mapping Entire Neural Networks on FPGAs
ACM Transactions on Embedded Computing Systems (TECS), Volume 22, Issue 5sArticle No.: 114, Pages 1–23https://doi.org/10.1145/3609109Traditional High-Level Synthesis (HLS) provides rapid prototyping of hardware accelerators without coding with Hardware Description Languages (HDLs). However, such an approach does not well support allocating large applications like entire deep neural ...
- research-articleAugust 2023
The Verse Calculus: A Core Calculus for Deterministic Functional Logic Programming
- Lennart Augustsson,
- Joachim Breitner,
- Koen Claessen,
- Ranjit Jhala,
- Simon Peyton Jones,
- Olin Shivers,
- Guy L. Steele Jr.,
- Tim Sweeney
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue ICFPArticle No.: 203, Pages 417–447https://doi.org/10.1145/3607845Functional logic languages have a rich literature, but it is tricky to give them a satisfying semantics. In this paper we describe the Verse calculus, VC, a new core calculus for deterministic functional logic programming. Our main contribution is to ...
- research-articleJune 2022
Optimizing data reshaping operations in functional IRs for high-level synthesis
LCTES 2022: Proceedings of the 23rd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsPages 61–72https://doi.org/10.1145/3519941.3535069FPGAs (Field Programmable Gate Arrays) have become the substrate of choice to implement accelerators. They deliver high performance with low power consumption, while offering the flexibility of being re-programmable. But they are notoriously hard to ...
-
- research-articleOctober 2017
A Haskell compiler for signal transforms
GPCE 2017: Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesPages 219–232https://doi.org/10.1145/3136040.3136056Building a reusable, auto-tuning code generator from scratch is a challenging problem, requiring many careful design choices. We describe HSpiral, a Haskell compiler for signal transforms that builds on the foundational work of Spiral. Our design ...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 12 - research-articleAugust 2015
Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL code
ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional ProgrammingPages 205–217https://doi.org/10.1145/2784731.2784754Computers have become increasingly complex with the emergence of heterogeneous hardware combining multicore CPUs and GPUs. These parallel systems exhibit tremendous computational power at the cost of increased programming effort resulting in a tension ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 9 - research-articleJanuary 2014
Generating attribute grammar-based bidirectional transformations from rewrite rules
PEPM '14: Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program ManipulationPages 63–70https://doi.org/10.1145/2543728.2543745Higher order attribute grammars provide a convenient means for specifying uni-directional transformations, but they provide no direct support for bidirectional transformations. In this paper we show how rewrite rules (with non-linear right hand sides) ...
- posterOctober 2011
Rule-based construction of matching processes
CIKM '11: Proceedings of the 20th ACM international conference on Information and knowledge managementPages 2421–2424https://doi.org/10.1145/2063576.2063982Semi-automatic schema matching systems have been developed to compute mapping suggestions that can be corrected by a user. However, constructing and tuning match strategies still requires a high manual effort. We therefore propose a self-configuring ...
- ArticleJuly 2011
Rewrite based software requirement engineering for signaling systems safety
The objective of the paper is to propose a rewrite based software requirement engineering model focusing the safety specifications of a distributed signaling system. In safety critical applications, the fault tolerance features can be utilized in the ...
- research-articleSeptember 2010
Validating assertion language rewrite rules and semantics with automated theorem provers
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCADICS), Volume 29, Issue 9Pages 1436–1448https://doi.org/10.1109/TCAD.2010.2049150Modern assertion languages such as property specification language (PSL) and System Verilog assertions include many language constructs. By far, the most economical way to process the full languages in automated tools is to rewrite the majority of ...
- articleOctober 2009
Axiom-Based Transformations: Optimisation and Testing
Electronic Notes in Theoretical Computer Science (ENTCS) (ENTCS), Volume 238, Issue 5Pages 17–33https://doi.org/10.1016/j.entcs.2009.09.038Programmers typically have knowledge about properties of their programs that aren't explicitly expressed in the code - properties that may be very useful for, e.g., compiler optimisation and automated testing. Although such information is sometimes ...
- research-articleMarch 2009
TWEAST: a simple and effective technique to implement concrete-syntax AST rewriting using partial parsing
SAC '09: Proceedings of the 2009 ACM symposium on Applied ComputingPages 1924–1929https://doi.org/10.1145/1529282.1529710Abstract Syntax Trees (ASTs) are commonly used to represent an input/output program in compilers and language processing tools. Many of the tasks of these tools consist in generating and rewriting ASTs. Such an approach can become tedious and hard to ...
- research-articleAugust 2008
De-duping URLs via rewrite rules
KDD '08: Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data miningPages 186–194https://doi.org/10.1145/1401890.1401917A large fraction of the URLs on the web contain duplicate (or near-duplicate) content. De-duping URLs is an extremely important problem for search engines, since all the principal functions of a search engine, including crawling, indexing, ranking, and ...
- ArticleNovember 2005
Reengineering C++ Component Models via Automatic Program Transformation
WCRE '05: Proceedings of the 12th Working Conference on Reverse EngineeringPages 13–22https://doi.org/10.1109/WCRE.2005.25Automated program transformation holds promise for a variety of software life cycle endeavors, particularly where the size of legacy systems makes code analysis, re-engineering, and evolution difficult and expensive. But constructing highly scalable ...
- ArticleMarch 2005
Disentangling the implementation of local-to-global transformations in a rewrite rule transformation system
SAC '05: Proceedings of the 2005 ACM symposium on Applied computingPages 1398–1403https://doi.org/10.1145/1066677.1066994Transformation rules are often used to implement compilers for domain-specific languages. In an ideal situation, each transformation rule is a modular unit transforming one input element of the source program into a new element of the output program. ...
- ArticleOctober 2004
Program transformations for re-engineering C++ components [OOPSLA/GPCE]
OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applicationsPages 25–26https://doi.org/10.1145/1028664.1028679Component-based software engineering enables applications to be assembled from component parts that adhere to a component-style specific interface specification and protocol. Components available for one style are not available for another. Component ...
- ArticleAugust 2004
Invited application paper: re-engineering C++ components via automatic program transformation
PEPM '04: Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulationPages 51–55https://doi.org/10.1145/1014007.1014013Automated program transformation holds promise for a variety of software life cycle endeavors, particularly where the size of legacy systems makes code analysis, re-engineering, and evolution very difficult and expensive. But constructing transformation ...
- articleDecember 2001
Improving Federated Database Queries Using Declarative Rewrite Rules for Quantified Subqueries
Journal of Intelligent Information Systems (JIIS), Volume 17, Issue 2-3Pages 281–299https://doi.org/10.1023/A:1012866016118Transforming queries for efficient execution is particularly important in federated database systems since a more efficient execution plan can require many fewer data requests to be sent to the component databases. Also, it is important to do as much as ...
- ArticleNovember 1995
Domain-oriented software process re-engineering with software synthesis shell SOFTEX/S
The paper proposes a domain-oriented software process re-engineering method that allows for efficient software process modeling and cuts overall software development cost. This is achieved by use of a software synthesis shell that supports the ...