|
|
Higher-Order Transformation and the Distributed Data Problem
Abstract:
The control mechanisms offered by strategic programming have been successfully
used to address a variety of problems relating to confluence and termination.
However, the application of strategic programming to problems of increasing
complexity has raised another issue, namely how auxiliary data fits within a
strategic framework. The distributed data problem characterizes the problem posed
by auxiliary data. This problem arises from a discord between the semantic association
of terms within a specification and the structural association of terms resulting from
the term language definition. My research is based on the premise that higher-order
rewriting provides a mechanism for dealing with auxiliary data conforming to the
tenets of rewriting. In a higher-order framework, the use of auxiliary data is expressed
as a rule. Instantiation of such rules can be done using standard (albeit higher-order)
mechanisms controlling rule application (e.g., traversal). Typically, a traversal-driven
application of a higher-order rule will result in a number of instantiations. If left
unstructured, these instantiations can be collectively seen as constituting a rule base
whose creation takes place dynamically. However, such rule bases again encounter difficulties
with respect to confluence and termination. In order to address this concern the notion of
strategy construction is lifted to the higher-order as well. That is, instantiations result
in rule bases that are structured to form strategies. Nevertheless, in many cases, simply
lifting first-order control mechanisms to the higher-order does not permit the construction
of strategies that are sufficiently refined. This difficulty is alleviated traditional control
mechanisms enables a variety of instances of the distributed data problem to be elegantly
solved in a higher-order setting. These ideas are formalized in a higher-order strategic
programming language called TL.
Why I want to be a Computer Scientist
-- or --
Do a job you love and you will never work a day in your life
Abstract:
Computer technology is the most rapidly advancing technology in the history of mankind.
This technology is advancing so rapidly that the boundary between science fiction and fact
has become blurred.
Languages, Models, Analysis, and Comprehension
Abstract:
This talk gives an overview of some of the work that I have done in the area
of language design and transformation. An overview of some of my research
relating to BART is also presented.
Languages and Transformation
Abstract:
This talk gives a technical overview of some of the work that I have done in the area
of language design and transformation. Topics discussed include: the theory underlying
program transformation, generic weaving, the BART case study, and model-based generation
of Java tests. Links to numerous papers are also provided.
|