![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter and Conference Paper
An Efficient Composition of Bidirectional Programs by Memoization and Lazy Update
Bidirectional transformations (BX) are a solution to the view update problem and widely used for synchronizing data. The semantics and correctness of bidirectional programs have been investigated intensively d...
-
Chapter and Conference Paper
Marker-Directed Optimization of UnCAL Graph Transformations
Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional graph transformations based on structural recursion, and we have recently applied to model transformations. The co...
-
Chapter and Conference Paper
Generate, Test, and Aggregate
MapReduce, being inspired by the map and reduce primitives available in many functional languages, is the de facto standard for large scale data-intensive parallel programming. Although it has succeeded in pop...
-
Chapter and Conference Paper
Toward Bidirectionalization of ATL with GRoundTram
ATL is a language for describing model transformations currently in uni-direction. In our previous work we have shown that transformations of graph structures given in some form can be bidirectionalized and ha...
-
Chapter and Conference Paper
Program Calculation in Coq
Program calculation, being a programming technique that derives programs from specification by means of formula manipulation, is a challenging activity. It requires human insights and creativity, and needs sys...
-
Chapter and Conference Paper
Gradual Refinement
Pattern matching is advantageous for understanding and reasoning about function definitions, but it tends to tightly couple the interface and implementation of a datatype. Significant effort has been invested ...
-
Chapter and Conference Paper
An Efficient Staging Algorithm for Binding-Time Analysis
Binding-Time Analysis (BTA) is one of the compile-time program analyses which is a general framework for program optimization and program generation [1]. The task of BTA is to divide a source program into two ...
-
Chapter and Conference Paper
PType System: A Featherweight Parallelizability Detector
Parallel programming is becoming an important cornerstone of general computing. In addition, type systems have significant impact on program analysis. In this paper, we demonstrate an automated type-based syst...
-
Chapter and Conference Paper
An Algebraic Approach to Bi-directional Updating
In many occasions would one encounter the task of maintaining the consistency of two pieces of structured data that are related by some transform — synchronising bookmarks in different web browsers, the source...
-
Chapter and Conference Paper
Deterministic Higher-Order Patterns for Program Transformation
Higher-order patterns, together with higher-order matching, enable concise specification of program transformation, and have been implemented in several program transformation systems. However,higher-order mat...
-
Chapter and Conference Paper
An Accumulative Parallel Skeleton for All
Parallel skeletons intend to encourage programmers to build a parallel program from ready-made components for which efficient implementations are known to exist, making the parallelization process simpler. How...
-
Chapter and Conference Paper
Generation of Efficient Programs for Solving Maximum Multi-marking Problems
Program generation has seen an important role in a wide range of software development processes, where effective calculation rules are critical. In this paper, we propose a more general calculation rule for ge...
-
Chapter and Conference Paper
Deriving Parallel Codes via Invariants
Systematic parallelization of sequential programs remains a major challenge in parallel computing. Traditional approaches using program schemes tend to be narrower in scope, as the properties which enable para...
-
Chapter and Conference Paper
Cheap tupling in calculational form