269,543 research outputs found
Mechanized semantics
The goal of this lecture is to show how modern theorem provers---in this
case, the Coq proof assistant---can be used to mechanize the specification of
programming languages and their semantics, and to reason over individual
programs and over generic program transformations, as typically found in
compilers. The topics covered include: operational semantics (small-step,
big-step, definitional interpreters); a simple form of denotational semantics;
axiomatic semantics and Hoare logic; generation of verification conditions,
with application to program proof; compilation to virtual machine code and its
proof of correctness; an example of an optimizing program transformation (dead
code elimination) and its proof of correctness
Fusing Logic And Control With Local Transformations: An Example Optimization
Programming supports the separation of logical concerns from issues of control in program construction. While this separation of concerns leads to reduced code size and increased reusability of code, its main disadvantage is the computational overhead it incurs. Fusion techniques can be used to combine the reusability of abstract programs with the efficiency of specialized programs. In this paper we illustrate some of the ways in which rewriting strategies can be used to separate the definition of program transformation rules from the strategies under which they are applied. Doing so supports the generic definition of program transformation components. Fusion techniques for strategies can then be used to specialize such generic components. We show how the generic innermost rewriting strategy can be optimized by fusing it with the rules to which it is applied. Both the optimization and the programs to which the optimization applies are specified in the strategy language Stratego. The optimization is based on small transformation rules that are applied locally under the control of strategies, using special knowledge about the contexts in which the rules are applied
High-precision calculation of multi-loop Feynman integrals by difference equations
We describe a new method of calculation of generic multi-loop master
integrals based on the numerical solution of systems of difference equations in
one variable. We show algorithms for the construction of the systems using
integration-by-parts identities and methods of solutions by means of expansions
in factorial series and Laplace's transformation. We also describe new
algorithms for the identification of master integrals and the reduction of
generic Feynman integrals to master integrals, and procedures for generating
and solving systems of differential equations in masses and momenta for master
integrals. We apply our method to the calculation of the master integrals of
massive vacuum and self-energy diagrams up to three loops and of massive vertex
and box diagrams up to two loops. Implementation in a computer program of our
approach is described. Important features of the implementation are: the
ability to deal with hundreds of master integrals and the ability to obtain
very high precision results expanded at will in the number of dimensions.Comment: 55 pages, 5 figures, LaTe
Solving the TTC 2011 Reengineering Case with MOLA and Higher-Order Transformations
The Reengineering Case of the Transformation Tool Contest 2011 deals with
automatic extraction of state machine from Java source code. The transformation
task involves complex, non-local matching of model elements. This paper
contains the solution of the task using model transformation language MOLA. The
MOLA solution uses higher-order transformations (HOT-s) to generate a part of
the required MOLA program. The described HOT approach allows creating reusable,
complex model transformation libraries for generic tasks without modifying an
implementation of a model transformation language. Thus model transformation
users who are not the developers of the language can achieve the desired
functionality more easily.Comment: In Proceedings TTC 2011, arXiv:1111.440
The suitability of MSP for engineering infrastructure
This paper arose from empirical investigations of practitioner views of both governance and program definitions together with investigations of practitioner reference documents. These investigations indicated that some confusion had arisen in infrastructure project management as a result of approaches used in IT. This paper contributes to the literature evaluating project standards and methodologies by conducting an examination of the suitability of one such source (MSP) for use in engineering infrastructure program management. A deductive definitional approach is taken to identify features that could cause difficulty. Eight features were examined, and six were found to have difficulty in application to engineering infrastructure. The remaining two were found to be terminology differences that are unlikely to cause too much difficulty. The features causing difficulty include an inappropriate definition of a program, use of a non-generic process flow unsuitable for rolling programs, confusion of transformation projects with programs, the presumption of a board governance model, and confusion of large projects with programs. The paper concludes that MSP is quite poorly suited to managing rolling programs, whether they are in engineering infrastructure or IT. Various changes to MSP and PMI publications are recommended
- …