- Logic, programming, and type systems
- Parallel Computing and Optimization Techniques
- Advanced Database Systems and Queries
- Formal Methods in Verification
- Semantic Web and Ontologies
- Service-Oriented Architecture and Web Services
- Distributed and Parallel Computing Systems
- Algorithms and Data Compression
- Model-Driven Software Engineering Techniques
- Software Engineering Research
- Distributed systems and fault tolerance
- semigroups and automata theory
- Constraint Satisfaction and Optimization
- Advanced Software Engineering Methodologies
- Software Testing and Debugging Techniques
- Logic, Reasoning, and Knowledge
- Advanced Graph Theory Research
- Web Data Mining and Analysis
- Natural Language Processing Techniques
- Data Management and Algorithms
- Peer-to-Peer Network Technologies
- Data Mining Algorithms and Applications
- Complexity and Algorithms in Graphs
- Computability, Logic, AI Algorithms
- Evolutionary Algorithms and Applications
Mútua Terrassa
2025
The University of Tokyo
2005-2022
Association for Computing Machinery
2021
National Institution for Academic Degrees and Quality Enhancement of Higher Education
2012
University of Electro-Communications
1986-2005
Japan Science and Technology Agency
2002
Tokyo University of Information Sciences
1996-2000
National University of Singapore
2000
Bunkyo University
1999
The metamodel techniques and model transformation provide a standard way to represent transform data, especially the software artifacts in development. However, after is applied, source target usually co-exist evolve independently. How propagate modifications across models different formats still remains as an open problem.
Bidirectional transformation is a pair of transformations: view function and backward transformation. A maps one data structure called source onto another view. The corresponding reflects changes in the to source. Its practically useful applications include replicated synchronization, presentation-oriented editor development, tracing software updating database community. However, developing bidirectional hard, because has give two mappings that satisfy properties for system consistency.
This paper presents a novel editor supporting interactive refinement in the development of structured documents. The user performs sequence editing operations on document view, and automatically derives an efficient reliable source transformation that produces view. is unique its programmability, sense can be obtained through operations. main tricks behind are utilization view-updating technique developed database community, new bidirectional language cannot only describe relationship...
Modern development environments often involve models with complex consistency relations. Some of the relations can be automatically established through "fixing procedures". When users update some parts model and cause inconsistency, a fixing procedure dynamically propagates to other fix inconsistency. Existing procedures are manually implemented, which requires lot efforts correctness is not guaranteed.
Tupling is a well-known transformation tactic to obtain new efficient recursive functions by grouping some into tuple. It may be applied eliminate multiple traversals over the common data structure. The major difficulty in tupling find what are tupled and how transform function an one. Previous approaches essentially based on fold/unfold transformation. Though general, they suffer from high cost of keeping track calls avoid infinite unfolding, which prevents them being used compiler.To...
Divide-and-conquer algorithms are suitable for modern parallel machines, tending to have large amounts of inherent parallelism and working well with caches deep memory hierarchies. Among others, list homomorphisms a class recursive functions on lists, which match very the divide-and-conquer paradigm. However, direct programming is challenge many programmers. In this paper, we propose implement novel systemthat can automatically derive cost-optimal from pair sequential programs, based third...
In functional programming, small programs are often glued together to construct a complex program. Program fusion is an optimizing process whereby these fused into single one and intermediate data structures removed. Recent work has made it clear that this especially successful if the recursive definitions expressed in terms of hylomorphisms. paper, we propose algorithm which can automatically turn all practical structural hylomorphisms making program be easily applied.
The problems involved in developing efficient parallel programs have proved harder than those sequential ones, both for programmers and compilers. Although program calculation has been found to be a promising way solve these the world, we believe that it needs much more effort study its effective use world. In this paper, propose calculational framework derivation of with two main innovations:. -We novel inductive synthesis lemma based on which an elementary but powerful parallelization...
Parallel programs on lists have been intensively studied. It is well known that associativity provides a good characterization for divide-and-conquer parallel programs. In particular, the third homomorphism theorem not only useful systematic development of lists, but it also suitable automatic parallelization. The states if two sequential iterate same list leftward and rightward, respectively, compute value, then there exists program computes value as programs.While many studies few done...
This paper presents the design of a text-entry device that requires only four buttons. Such is applicable as text interface portable machines and an for disabled people. The system predictive; basis this adaptive language model. Our evaluation showed at least efficient entry free systems current-generation mobile phones. fewer keystrokes than full keyboard. After adaptation, one user reached maximum speed 23 wpm.
XQuery is a powerful functional language to query XML data. This paper gives bidirectional interpretation of address the problem updating data through materialized views. We first design an expressive transformation language, and then translate expressions into code this language. As result, expression can execute in two directions: forward direction, it generates view from source data; while backward updates by putting back on view. we have implemented our approach applied some use cases...
In this paper we propose a new method for deriving practical linear-time algorithm from the specification of maximum-weightsum problem: From elements data structure x, find subset which satisfies certain property p and whose weightsum is maximum. Previously proposed methods automatically generating algorithms are theoretically appealing, but generated hardly useful in practice due to huge constant factor space time. The key points our approach express by recursive boolean function over x...
Tree contraction algorithms, whose idea was first proposed by Miller and Reif, are important parallel algorithms to implement efficient programs manipulating trees. Despite their efficiency, the tree have not been widely used due difficulties in deriving contracting operations. In particular, derivation of operations is much difficult when multiple values referred updated each step contractions. Such computations often appear dynamic programming problems on this paper, we propose an...