Matthias Springer

Learn More
Class extensions are frequently used in programming languages such as Ruby and Smalltalk to add or change methods of a class that is defined in the same application or in a different one. They suffer from modularity issues if globally visible: Other applications using the same classes are then affected by the modifications. This paper presents a(More)
UDP-GlcNAc: Manα1-6R β(1-2)-N-acetylglucosaminyltransferase II (GlcNAc-T II; EC is a key enzyme in the synthesis of complexN-glycans. We have tested a series of synthetic analogues of the substrate Man‴α1-6(GlcNAc″β1-2Man′α1-3)Manβ-O-octyl as substrates and inhibitors for rat liver GlcNAc-T II. The enzyme attachesN-acetylglucosamine in β1-2(More)
We study a class of graph analytics SQL queries, which we call relationship queries. These queries involving aggregation, join, semijoin, intersection and selection are a wide superset of fixedlength graph reachability queries and of tree pattern queries. We present real-world OLAP scenarios, where efficient relationship queries are needed. However, row(More)
In this paper, we study relationship queries on graph databases with binary relationship. A relationship query is a graph reachability query bounded on primary-keys and foreign-keys with aggregation on single output attribute. Both row stores and column stores miss key opportunities towards the efficient execution of relationship queries, making them(More)
We present Matriona, a module system for Squeak, a Smalltalk dialect. It supports class nesting and parameterization and is based on a hierarchical name lookup mechanism. Matriona solves a range of modularity issues in Squeak. Instead of a flat class organization, it provides a hierarchical namespace, that avoids name clashes and allows for shorter local(More)
We present ContextAmber, a framework for context-oriented programming, in Amber Smalltalk, an implementation of the Smalltalk programming language that compiles to JavaScript. ContextAmber is implemented using metaprogramming facilities and supports global, object-wise, and scoped layer activation. Current COP implementations come at the expense of(More)
This paper presents implementation and optimization techniques to support objects in Ikra, an array-based parallel extension to Ruby with dynamic compilation. The high-level goal of Ikra is to allow developers to exploit GPU-based high-performance computing without paying much attention to intricate details of the underlying GPU infrastructure and CUDA.(More)
This paper analyzes and presents alternative implementations of three well-known Gang of Four design patterns: Decorator, Observer, and Visitor. These implementations are more than mere refactorings and take advantage of a variant of context-oriented programming that unifies classes and layers to overcome shortcomings in a conventional, object-oriented(More)
UDP-GlcNAc:Manα1-3R β1-2-N-acetylglucosaminyltransferase I (GlcNAc-T I; EC catalyses the conversion of [Manα1-6(Manα1-3)Manα1-6][Manα1-3]Manβ-O-R to [Manα1-6(Manα1-3)Manα1-6] [GlcNAcβ1-2Manα1-3]Manβ-O-R (R=1-4GlcNAcβ1-4GlcNAc-Asn-X) and thereby controls the conversion of oligomannose to complex and hybrid asparagine-linked glycans (N-glycans).(More)