![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
A Clear Picture of Lens Laws
A lens is an optical device which refracts light. Properly adjusted, it can be used to project sharp images of objects onto a screen—a principle underlying photography as well as human vision. Striving for cla...
-
Chapter and Conference Paper
Validity Checking of Putback Transformations in Bidirectional Programming
A bidirectional transformation consists of pairs of transformations —a forward transformation get produces a target view from a source, while a putback transformation put puts back modifications on the view to th...
-
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
Swap** Arguments and Results of Recursive Functions
Many useful calculation rules, such as fusion and tupling, rely on well-structured functions, especially in terms of inputs and outputs. For instance, fusion requires that well-produced outputs should be conne...
-
Chapter and Conference Paper
Maximum Marking Problems with Accumulative Weight Functions
We present a new derivation of efficient algorithms for a class of optimization problems called maximum marking problems. We extend the class of weight functions used in the specification to allow for weight f...
-
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 Injective Language for Reversible Computation
Erasure of information incurs an increase in entropy and dissipates heat. Therefore, information-preserving computation is essential for constructing computers that use energy more effectively. A more recent m...
-
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