Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ralf Lämmel is active.

Publication


Featured researches published by Ralf Lämmel.


Science of Computer Programming | 2008

Google's MapReduce programming model – Revisited

Ralf Lämmel

Googles MapReduce programming model serves for processing large data sets in a massively parallel manner. We deliver the first rigorous description of the model including its advancement as Googles domain-specific language Sawzall. To this end, we reverse-engineer the seminal papers on MapReduce and Sawzall, and we capture our findings as an executable specification. We also identify and resolve some obscurities in the informal presentation given in the seminal papers. We use typed functional programming (specifically Haskell) as a tool for design recovery and executable specification. Our development comprises three components: (i) the basic program skeleton that underlies MapReduce computations; (ii) the opportunities for parallelism in executing MapReduce computations; (iii) the fundamental characteristics of Sawzalls aggregators as an advancement of the MapReduce approach. Our development does not formalize the more implementational aspects of an actual, distributed execution of MapReduce computations.


ACM Transactions on Software Engineering and Methodology | 2005

Toward an engineering discipline for grammarware

Paul Klint; Ralf Lämmel; C. Verhoef

Grammarware comprises grammars and all grammar-dependent software. The term grammar is meant here in the sense of all established grammar formalisms and grammar notations including context-free grammars, class dictionaries, and XML schemas as well as some forms of tree and graph grammars. The term grammar-dependent software refers to all software that involves grammar knowledge in an essential manner. Archetypal examples of grammar-dependent software are parsers, program converters, and XML document processors. Despite the pervasive role of grammars in software systems, the engineering aspects of grammarware are insufficiently understood. We lay out an agenda that is meant to promote research on increasing the productivity of grammarware development and on improving the quality of grammarware. To this end, we identify the problems with the current grammarware practices, the barriers that currently hamper research, and the promises of an engineering discipline for grammarware, its principles, and the research challenges that have to be addressed.


international conference on model transformation | 2009

Bidirectional Transformations: A Cross-Discipline Perspective

Krzysztof Czarnecki; J. Nathan Foster; Zhenjiang Hu; Ralf Lämmel; Andy Schürr; James F. Terwilliger

The GRACE International Meeting on Bidirectional Transformations was held in December 2008 near Tokyo, Japan. The meeting brought together researchers and practitioners from a variety of sub-disciplines of computer science to share research efforts and help create a new community. In this report, we survey the state of the art and summarize the technical presentations delivered at the meeting. We also describe some insights gathered from our discussions and introduce a new effort to establish a benchmark for bidirectional transformations.


Software - Practice and Experience | 2001

Semi-automatic grammar recovery

Ralf Lämmel; C. Verhoef

We propose an approach to the construction of grammars for existing languages. The main characteristic of the approach is that the grammars are not constructed from scratch but they are rather recovered by extracting them from language references, compilers and other artifacts. We provide a structured process to recover grammars including the adaptation of raw extracted grammars and the derivation of parsers. The process is applicable to possibly all existing languages for which business critical applications exist. We illustrate the approach with a non‐trivial case study. Using our process and some basic tools, we constructed in a few weeks a complete and correct VS COBOL II grammar specification for IBM mainframes. In addition, we constructed a parser for VS COBOL II, and were the first to publish a (Web‐enabled) grammar specification so that others can use this result to construct their own grammar‐based tools for VS COBOL II or derivatives. Copyright


symposium/workshop on haskell | 2004

Strongly typed heterogeneous collections

Oleg Kiselyov; Ralf Lämmel; Keean Schupke

A heterogeneous collection is a datatype that is capable of storing data of different types, while providing operations for look-up, update, iteration, and others. There are various kinds of heterogeneous collections, differing in representation, invariants, and access operations. We describe HLIST - a Haskell library for strongly typed heterogeneous collections including extensible records. We illustrate HLISTs benefits in the context of type-safe database access in Haskell. The HLIST library relies on common extensions of Haskell 98. Our exploration raises interesting issues regarding Haskells type system, in particular, avoidance of overlapping instances, and reification of type equality and type unification.


Lecture Notes in Computer Science | 2006

Controllable combinatorial coverage in grammar-based testing

Ralf Lämmel; Wolfram Schulte

Given a grammar (or other sorts of meta-data), one can trivially derive combinatorially exhaustive test-data sets up to a specified depth. Without further efforts, such test-data sets would be huge at the least and explosive most of the time. Fortunately, scenarios of grammar-based testing tend to admit non-explosive approximations of naive combinatorial coverage. In this paper, we describe the notion of controllable combinatorial coverage and a corresponding algorithm for test-data generation. The approach is based on a suite of control mechanisms to be used for the characterization of test-data sets as well-defined and understandable approximations of full combinatorial coverage. The approach has been implemented in the C#-based test-data generator Geno, which has been successfully used in projects that required differential testing, stress testing and conformance testing of grammar-driven functionality.


practical aspects of declarative languages | 2002

Typed Combinators for Generic Traversal

Ralf Lämmel; Joost Visser

textabstractLacking support for generic traversal, functional programming languages suffer from a scalability problem when applied to large-scale program transformation problems. As a solution, we introduce emph{functional strategies: typeful generic functions that not only can be applied to terms of any type, but which also allow generic traversal into subterms. We show how strategies are modelled inside a functional language, and we present a combinator library including generic traversal combinators. We illustrate our technique of programming with functional strategies by an implementation of the emph{extract method refactoring for Java.


IEEE Software | 2001

Cracking the 500-language problem

Ralf Lämmel; C. Verhoef

Constructing analysis and modification tools for software assets is laborious because you first need to implement the underlying parser for the softwares specific programming language. These implementations are generally not in the public domain. So, parser development for any of the 500+ languages in use today implies a major up-front investment. The authors propose a solution that will work for virtually all languages: the rapid development of renovation parsers by stealing the grammars. They also share lessons learned.


aspect-oriented software development | 2002

A semantical approach to method-call interception

Ralf Lämmel

We study a language construct superimpose for method-call interception (MCI). The construct enables a programmer to attach additional functionality to certain join points along the execution of specified method calls. This is done in a completely type-safe manner where the additional functionality shares its state with the registry location. We present the static and the dynamic semantics of MCI. We use a disciplined style of Natural semantics for an accessible specification of MCI. We organize the constructs in a design space so that we can add expressiveness to a simple object-oriented language core in a stepwise fashion. It is one simple extension to enable interactive MCI, that is, MCI code can interact with the objects involved in a method call. Another simple extension is to allow for collective MCI by using patterns for the calls to be intercepted.


rule based programming | 2002

Towards generic refactoring

Ralf Lämmel

We define a challenging and meaningful benchmark for genericity in language processing, namely the notion of generic program refactoring. We provide the first implementation of the benchmark based on functional strategic programming in Haskell. We use the basic refactoring of abstraction extraction as the running example. Our implementation comes as a functional programming framework with hot spots for the language-specific ingredients for refactoring, e.g., means for abstraction construction and destruction, and recognisers for name analysis. The language-parametric framework can be instantiated for various, rather different languages, e.g., Java, Prolog, Haskell, or XML schema.

Collaboration


Dive into the Ralf Lämmel's collaboration.

Top Co-Authors

Avatar

Joost Visser

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Andrei Varanovich

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar

Martin Leinberger

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Steffen Staab

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

C. Verhoef

VU University Amsterdam

View shared research outputs
Top Co-Authors

Avatar

Andreas Winter

University of Koblenz and Landau

View shared research outputs
Researchain Logo
Decentralizing Knowledge