Learn More
In distributed object systems, one generates local surrogate objects to achieve transparent remote method invocations. These surrogates intercept method invocations, transfer the invocations to the actual (remote) object, and invoke the respective method by using so-called stub code. We describe a method which automatically generates surrogate and stub(More)
Most object-oriented languages offer a limited number of invocation semantics. At best, they define a default mode of synchronous invocation, plus some keywords to express additional semantic attributes, e.g. synchronization. The very few approaches that offer rich libraries of invocation abstractions introduce significant overhead and do not support the(More)
We present a novel approach to exception handling which is based on metaprogramming. Our mechanism does not require language support, imposes no run time overhead to error-free programs, and is easy to implement. Exception handlers are implemented as ordinary procedures. When an exception occurs, the corresponding handler is searched dynamically using the(More)
Oberon [WiGu89] is a modular, single-threaded operating system for single-user operation of stand-alone workstations. It is used in daily work as well as in programming courses. As a stand-alone system, most Oberon implementations lack network support. This report describes two modules, which extend Oberon with concurrency and network capabilities. Module(More)
The Oberon environment [Reis92] offers only limited possibilities for inspecting run time information, as well as for determining the cause for an exception. Only variables of basic types such as INTEGER or CHAR can be examined. This paper presents a post mortem debugger that allows also the inspection of structured types as RECORD or ARRAY. It supports(More)