94 research outputs found
OPTIMIX language report for OPTIMIX 7.0
This is the language manual for OPTIMIX, the optimizer generator.
It can be used generate program analyses and transformations.
Its input language is based on DATALOG and graph rewriting.
Especially two new classes of graph rewrite systems are used:
edge addition rewrite systems (EARS) and stratified graph rewrite
systems are used: edge addition rewrite systems (EARS) and stratified
graph rewrite systems (stratified GRS).
OPTIMIX has been developed in the Esprit project COMPARE (NO. 5399).
It is currently not free and can be used only in the context of the
CoSy compiler framework.
For a licence, contact the author or [email protected]
A tutorial for Optimix
OPTIMIX is a tool for generating algorithms which construct and
transform directed relational graphs.
In particular, it facilitates many tasks in program compilation and
optimization. OPTIMIX\u27s input language allows to specify graph queries
which localize analysis information as well as graph rewrite systems
which describem transformations.
The generator type-checks the rewrite systems with a graph data model
and tests whether they fulfil a termination criterion.
This report explains the advantages of the OPTIMIX specification
language for compiler writers and demonstrates that OPTIMIX can be
applied to three major problem classes of program rewriting: graph
reachability problems, context-sensitive pattern match problems, and
mark/transform problems
Meta-programming composers in 2nd generation component systems
Future component systems will require that components can be composed
flexibly. In contrast to current systems which only support a fixed set of
composition mechanisms, the component system should provide a composition
language in which users can define their own specific composers. It is
argued for an object-oriented setting that this will be possible by
meta-programming the class-graph.
Composers will be based on two important elements. First, they will express
coupling by graph-based operators which transform parts of the class-graph
(coupling design patterns). Second, during these transformations, elementary
meta-operators will be used to transform data and code, rearranging slots and
methods of parameter-components. Thus during their reuse, components are
queried by introspection and transformed by meta-programming.
Composers that use meta-programming generalize connectors in architectural
languages. Hence they encapsulate context-dependent aspects of a system, and
make components independent of their embedding context. Since
meta-programming composers may change behavior of components transparently,
meta-programming composers will lead to a nice form of grey-box reuse, which
supports embedding of components (and classes) into application contexts in a
new and flexible way
OPTIMIX language manual (version 2.5)
This is the language manual for OPTIMIX version 2.5, the
optimizer generator. OPTIMIX can be used to generate program
analyses and transformations. Its input language is based on
Datalog and graph rewriting.
Especially two new classes of graph rewrite systems are used: edge
addition rewrite systems (EARS) and exhaustive graph rewrite systems
(XGRS)
Using Cloud Technologies to Optimize Data-Intensive Service Applications
The role of data analytics increases in several application domains to cope with the large amount of captured data. Generally, data analytics are data-intensive processes, whose efficient execution is a challenging task. Each process consists of a collection of related structured activities, where huge data sets have to be exchanged between several loosely coupled services. The implementation of such processes in a service-oriented environment offers some advantages, but the efficient realization of data flows is difficult. Therefore, we use this paper to propose a novel SOA-aware approach with a special focus on the data flow. The tight interaction of new cloud technologies with SOA technologies enables us to optimize the execution of data-intensive service applications by reducing the data exchange tasks to a minimum. Fundamentally, our core concept to optimize the data flows is found in data clouds. Moreover, we can exploit our approach to derive efficient process execution strategies regarding different optimization objectives for the data flows
Prototypical composition ontology for rule-based languages
This paper presents an ontology for the composition of rule-based ontology languages. Since typing compositions is an important issue, the ontology consists of components: two upperlevel ontologies, the metamodel of the ontology language, and a metamodel of reuse constructs that play an important role in composition. With the interplay of these components, type-safe composition of ontology components can be achieved.peer-reviewe
Language concepts and design patterns
Programming languages aim at the construction of simple but
expressive programs. To achieve this, plenty of language
concepts have arisen over time. Design patterns aim at the
solution of common design problems. To achieve this, plenty
of approved design concepts have been collected.
We claim that language concepts and design patterns are
essentially the same. Indeed, a language may offer a design
pattern as a language concept; we call such patterns "language
patterns".
A design pattern can be implemented in terms of other design or
language patterns. Since a concrete programming language only
supports a subset of language patterns, every other pattern must
be expressed in terms of this subset. We call such
an implementation a "workaround". The specification of a
workaround imposes proof obligations: it must be shown that a
workaround simulates the pattern. Once proved correct, we can
collect patterns and their workarounds in a trustworthy
catalogue. This helps software developers to correctly apply
patterns in any language and helps the language designer to
decide which patterns to put into the language core.
We demonstrate this pattern integration process with
well-known design patterns and concepts of object-oriented
languages. Additionally, we list important language patterns
together with their workarounds
A Novel Optical Beam Concept for Producing Coherent Synchrotron Radiation with Large Energy Spread Beams
Up to now two FEL concepts are known in conventional accelerators: 1.) In THz lasers an off-crest cavity adds a chirp to the bunch followed by a bunch compressor. Particles with different energies travel on different trajectories to the radiator. 2.) For EUV and X-ray FELs the beam enters an undulator which produces microbunches which then radiate. In this paper it is proposed to copy the THz laser scheme for EUV lasers. The incoming beam is chirped and a dogleg forces afterwards the particles with different energies to move on different parallel trajectories. Considering a detector plane perpendicular to the trajectories the particles with different energies arrive in general at different times. When in this plane for instance a TGU (Transverse Gradient Undulator) is positioned the emitted radiation in the TGU is monochromatic. If in addition chirp and dogleg are selected in such a way that the particles with different energies arrive at the same time at the entrance of the TGU the radiation is monochromatic and coherent similar to the THz laser concept
- …