Network


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

Hotspot


Dive into the research topics where Malte Appeltauer is active.

Publication


Featured researches published by Malte Appeltauer.


International Workshop on Context-Oriented Programming | 2009

A comparison of context-oriented programming languages

Malte Appeltauer; Robert Hirschfeld; Michael Haupt; Jens Lincke; Michael Perscheid

Context-oriented programming (COP) extensions have been implemented for several languages. Each concrete language design and implementation comes with different variations of the features of the COP paradigm. In this paper, we provide a comparison of eleven COP implementations, discuss their designs, and evaluate their performance.


Science of Computer Programming | 2011

An open implementation for context-oriented layer composition in ContextJS

Jens Lincke; Malte Appeltauer; Bastian Steinert; Robert Hirschfeld

Context-oriented programming (COP) provides dedicated support for defining and composing variations to a basic program behavior. A variation, which is defined within a layer, can be de-/activated for the dynamic extent of a code block. While this mechanism allows for control flow-specific scoping, expressing behavior adaptations can demand alternative scopes. For instance, adaptations can depend on dynamic object structure rather than control flow. We present scenarios for behavior adaptation and identify the need for new scoping mechanisms. The increasing number of scoping mechanisms calls for new language abstractions representing them. We suggest to open the implementation of scoping mechanisms so that developers can extend the COP language core according to their specific needs. Our open implementation moves layer composition into objects to be affected and with that closer to the method dispatch to be changed. We discuss the implementation of established COP scoping mechanisms using our approach and present new scoping mechanisms developed for our enhancements to Lively Kernel.


Soft Computing | 2010

Event-specific software composition in context-oriented programming

Malte Appeltauer; Robert Hirschfeld; Hidehiko Masuhara; Michael Haupt; Kazunori Kawauchi

Context-oriented programming (COP) introduces dedicated abstractions for the modularization and dynamic composition of crosscutting context-specific functionality. While existing COP languages offer constructs for control-flow specific composition, they do not yet consider the explicit representation of event-specific context-dependent behavior, for which we observe two distinguishing properties: First, context can affect several control flows. Second, events can establish new contexts asynchronously. In this paper, we propose new language constructs for event-specific composition and explicit context representation and introduce their implementation in JCop, our COP extension to Java.


International Workshop on Context-Oriented Programming | 2009

Improving the development of context-dependent Java applications with ContextJ

Malte Appeltauer; Robert Hirschfeld; Hidehiko Masuhara

Context-oriented programming languages ease the design and implementation of context-dependent applications. ContextJ is a context-oriented extension to the Java programming language. In this paper, we assess the applicability of ContextJ language abstractions for the development of a graphical user interface-based application. We present a text editor that has been implemented with ContextJ based on the Qt Jambi framework and discuss possible extensions to ContextJ to improve its applicability.


The Journal of Object Technology | 2013

Declarative Layer Composition with the JCop Programming Language

Malte Appeltauer; Robert Hirschfeld; Jens Lincke

Program behavior that relies on contextual information, such as physical location or network accessibility, is common in todays appli- cations, yet its representation at the source code level is not suciently supported by programming languages. With context-oriented program- ming (COP), context-dependent behavior can be explicitly modularized and dynamically activated. The available COP implementations oer lan- guage constructs that allow to describe context-dependent functionality and to specify for which control flows this functionality should be exe- cuted. Since these language constructs require modifications to the source code, the contemporary approaches limit the use of COP to program parts whose source code is accessible to the developer (the user code). The dy- namic control over context-dependent behavior in frameworks cannot be directly addressed by COP as this would imply changes to the source code. Instead, context-dependent behavior is addressed whenever a control flow from the framework code enters the user code. Context composition must be addressed at any of these control flow entry points, which may lead to a redundant specification of this functionality. As a result, dynamic control over layers emerges as a crosscutting concern that obstructs the separation of concerns. In this article, we discuss crosscutting layer composition in framework- based applications in detail. Moreover, we discuss limitations for the ex- pression of semantic relationships of layers that might lead to code du- plication. We present a framework-based application, a simple action ad- venture game that we implemented using a conventional COP language. Along this example, we show how our JCop language supports the decla- ration of layer composition and expression of layer relationships.


ubiquitous computing systems | 2008

Dedicated Programming Support for Context-Aware Ubiquitous Applications

Malte Appeltauer; Robert Hirschfeld; Tobias Rho

Ubiquitous mobile applications often require dynamic context information for user-specific computation. However, state-of-the-art platforms, frameworks, and programming languages used for developing such applications do not directly support context-dependent behavior with first class entities. Instead, context-aware functionality is tangled with the applications core concerns, which increases complexity, and hinders separation of concerns and further software evolution. This paper motivates Context-oriented Programming (COP) for ubiquitous computing. It presents an overview of our COP extension to the Java programming language and a scenario of a context-oriented mobile application.


acm symposium on applied computing | 2010

Dynamic contract layers

Robert Hirschfeld; Michael Perscheid; Christian Schubert; Malte Appeltauer

Design by Contract (DBC) is a programming technique to separate contract enforcement from application code. DBC provides information about the applicability of methods and helps to narrow down the search space in case of a software failure. However, most DBC implementations suffer from inflexibility: Contract enforcement can only be activated or deactivated at compile-time or start-up, contracts are checked globally and cannot be restricted in their scope such as to the current thread of execution, and contracts cannot be grouped according to the concerns they relate to. In this paper, we present dynamic contract layers (DCL) for fine-grained and flexible contract management. Based on ideas from context-oriented programming, we extend DBC by a grouping mechanism for contracts, thread-local activation and deactivation of such groups, and selective contract enforcement at run-time. PyDCL, our proof-of-concept implementation of DCL, is built onto ContextPy, our COP extension for the Python programming language. We evaluate our approach by applying PyDCL contracts to the Moin-Moin Wiki framework.


Proceedings of the 2nd International Workshop on Context-Oriented Programming | 2010

Layered method dispatch with INVOKEDYNAMIC: an implementation study

Malte Appeltauer; Michael Haupt; Robert Hirschfeld

This paper describes an implementation study in which we use the upcoming INVOKEDYNAMIC bytecode instruction---to be supported by the standard Java virtual machine starting with the release of Java 7---to implement layered method dispatch. We compare the resulting implementation approach with that of the existing JCop compiler, and present preliminary results of comparative benchmarks. In spite of the as of now not optimized INVOKEDYAMIC implementation in the Java virtual machine, performance characteristics of the INVOKEDYNAMIC-based JCop implementation are promising.


Proceedings of the 3rd International Workshop on Context-Oriented Programming | 2011

A context management infrastructure with language integration support

Tobias Rho; Malte Appeltauer; Stephan Lerche; Armin B. Cremers; Robert Hirschfeld

A range of context-management systems in the past have motivated the need for development support of context-aware applications. They typically provide APIs and query languages for context analysis. Reacting to context changes, however, is either not at all or only to a limited extend supported by adhering to constraints of a framework. In this paper, we present a context-management system that combines context reasoning with context-dependent behavior by taking advantage of language approaches to dynamic adaptation, such as aspect- and context-oriented programming. Our framework is open for different levels of integration with programming language extensions and offers a dynamic, strategy-based aggregation of local and distributed context sources. As a first step, we implemented a query library for the JCop language. We present its API and show the implementation of an example application.


Proceedings of 6th International Workshop on Context-Oriented Programming | 2014

Towards Type-Safe JCop: A type system for layer inheritance and first-class layers

Hiroaki Inoue; Atsushi Igarashi; Malte Appeltauer; Robert Hirschfeld

This paper describes a type system for JCop, which is an extension of Java with language mechanisms for context-oriented programming. A simple type system as in Java, however, is not sufficient to prevent errors due to the absence of invoked methods because interfaces of objects can change at run time by dynamic layer composition, a characteristic feature of context-oriented programming. Igarashi, Hirschfeld, and Masuhara have studied a type system for dynamic layer composition, but their type system is not directly applicable to JCop due to JCop-specific features such as layer inheritance, first-class layers, and declarative layer composition. We discuss how their type system can be extended to these language features.

Collaboration


Dive into the Malte Appeltauer's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jens Lincke

Hasso Plattner Institute

View shared research outputs
Top Co-Authors

Avatar

Hidehiko Masuhara

Tokyo Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge