Network


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

Hotspot


Dive into the research topics where Wanja Hofer is active.

Publication


Featured researches published by Wanja Hofer.


real-time systems symposium | 2009

Sloth: Threads as Interrupts

Wanja Hofer; Daniel Lohmann; Fabian Scheler

Traditional operating systems differentiate between threads, which are managed by the kernel scheduler, and interrupt handlers, which are scheduled by the hardware. This approach is not only asymmetrical in its nature, but also introduces problems relevant to real-time systems because low-priority interrupt handlers can interrupt high-priority threads. We propose to internally design all threads as interrupts, thereby simplifying the managed control-flow abstractions and letting the hardware interrupt subsystem do most of the scheduling work. The resulting design of our very light-weight Sloth system is suitable for the implementation of a wide class of embedded real-time systems, which we describe with the example of the OSEK-OS specification. We show that the design conciseness has a positive impact on the system performance, its memory footprint, and its overall maintainability.


real-time systems symposium | 2011

Sleepy Sloth: Threads as Interrupts as Threads

Wanja Hofer; Daniel Lohmann

Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the Sloth kernel, we suggested treating threads as ISRs -- executing all application code in an interrupt context -- and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, Sloth does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present Sleepy Sloth, an extension of Sloth that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. Sleepy Sloth abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our Sleepy Sloth implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. Sleepy Sloth runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.


compilers, architecture, and synthesis for embedded systems | 2009

Parallel, hardware-supported interrupt handling in an event-triggered real-time operating system

Fabian Scheler; Wanja Hofer; Benjamin Oechslein; Rudi Pfister; Daniel Lohmann

A common problem in event-triggered real-time systems is caused by low-priority tasks that are implemented as interrupt handlers interrupting and disturbing high-priority tasks that are implemented as threads. This problem is termed rate-monotonic priority inversion, and current software-based solutions are restricted in terms of more sophisticated scheduler features as demanded for instance by the AUTOSAR embedded-operating-system specification. We propose a hardware-based approach that makes use of a coprocessor to eliminate the potential priority inversion. By evaluating a prototypical implementation, we show that our approach both overcomes the restrictions of software approaches and introduces only a slight processing overhead in exchange for increased predictability.


real time technology and applications symposium | 2014

SAFER SLOTH: Efficient, hardware-tailored memory protection

Daniel Danner; Rainer Müller; Wanja Hofer; Daniel Lohmann

The goal of the SLOTH family of operating system kernels is to provide a unified priority space to the real-time applications. By automated mapping of tasks to interrupts, we eliminate rate-monotonic priority inversion and increase execution determinism. In its standard implementation, however, SLOTH has been criticized for being unsafe, since interrupt service routines are executed in supervisor mode. SAFER SLOTH mitigates this shortcoming-while keeping the favorable properties of SLOTH-and provides a safe and isolated execution environment for application tasks. Adopting the SLOTH philosophy of embracing and exploiting hardware particularities, its generative approach automatically tailors the system to both the application and the target architecture. We achieve efficient MPU-based memory protection at reduced latency and low performance overhead by leveraging code inlining and compiler optimizations. In comparison to a commercial AUTOSAR OS, SAFER SLOTH achieves speedups between 8x (worst case) and 23x (best case) on kernel latencies while retaining the SLOTH advantages of strict priority obedience, excellent determinism and small memory footprints.


aspect oriented software development | 2012

The aspect-aware design and implementation of the CiAO operating-system family

Daniel Lohmann; Olaf Spinczyk; Wanja Hofer

CiAO is the first operating-system family that has been developed with AOP concepts from the very beginning. By its aspect-aware design and implementation, CiAO reaches excellent configurability, separation of concerns, and low footprints in the resulting systems that outperform leading commercial implementations. CiAO implements the automotive operating-system standard OSEK/AUTOSAR OS and provides configurability of all fundamental system properties by means of AOP. We describe the aspect-aware design approach and implementation idioms that led to this efficiency and flexibility. On the example of three larger case studies from CiAO, we demonstrate how AOP can be employed in this respect on different levels of complexity: From highly configurable, yet efficient low-level hardware abstractions over the implementation of central kernel policies up to the decomposition of a complete operating-system specification. Our results show that by a consequent application of the aspect-aware approach, AOP becomes a promising technology to reach configurability, separation of concerns, and runtime/memory efficiency on all levels of operating-system development.


real-time systems symposium | 2012

Sloth on Time: Efficient Hardware-Based Scheduling for Time-Triggered RTOS

Wanja Hofer; Daniel Danner; Rainer Müller; Fabian Scheler; Daniel Lohmann

Traditional time-triggered operating systems are implemented by multiplexing a single hardware timer - the system timer - in software, having the kernel maintain dispatcher tables at run time. Our Sloth on Time approach proposes to make use of multiple timer cells as available on modern micro controller platforms to encapsulate dispatcher tables in the timer configuration, yielding low scheduling and dispatching latencies at run time. Sloth on Time instruments available timer cells in different roles to implement time-triggered task activation, deadline monitoring, and time synchronization, amongst others. By comparing the Sloth on Time kernel implementation to two commercial kernels, we show that our concept significantly reduces the overhead of time-triggered operating systems. The speed-ups in task dispatching that it achieves range up to a factor of 171x, and its dispatch latencies go as low as 14 clock cycles. Additionally, we demonstrate that Sloth on Time minimizes jitter and increases schedulability for its real-time applications, and that it avoids situations of priority inversion where traditional kernels fail by design.


software product lines | 2010

Leviathan: SPL support on filesystem level

Wanja Hofer; Christoph Elsner; Frank Blendinger; Daniel Lohmann

A lot of configurable software, especially in the domain of embedded and operating systems, is configured with a source preprocessor, mostly to avoid run-time overhead. However, developers then have to face a myriad of preprocessor directives and the corresponding complexity in the source code, even when they might only be working on the implementation of a single feature at a time. Thus, it has long been recognized that tool support is needed to cope with this ‘#ifdef hell’. Current approaches, which assist the software developer by providing preprocessed views, are all bound to a special integrated development environment. This eliminates them from being used both in industry settings (where domain-specific toolchains are often mandated) and in open-source projects (where diverse sets of editors and tools are being used).


usenix annual technical conference | 2009

CiAO: an aspect-oriented operating-system family for resource-constrained embedded systems

Daniel Lohmann; Wanja Hofer; Jochen Streicher; Olaf Spinczyk


aspect-oriented software development | 2011

Aspect-aware operating system development

Daniel Lohmann; Wanja Hofer; Olaf Spinczyk


programming languages and operating systems | 2007

Configurable memory protection by aspects

Daniel Lohmann; Jochen Streicher; Wanja Hofer; Olaf Spinczyk

Collaboration


Dive into the Wanja Hofer's collaboration.

Top Co-Authors

Avatar

Daniel Lohmann

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Olaf Spinczyk

Technical University of Dortmund

View shared research outputs
Top Co-Authors

Avatar

Fabian Scheler

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Daniel Danner

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Jochen Streicher

Technical University of Dortmund

View shared research outputs
Top Co-Authors

Avatar

Rainer Müller

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Benjamin Oechslein

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Julio Sincero

University of Erlangen-Nuremberg

View shared research outputs
Researchain Logo
Decentralizing Knowledge