|
OSM movies The research activity of our group is concerned with paradigms, design patterns and implementation techniques for enhancing middleware technology for predictable computing. One central issue concerns the open research question how far middleware technology can be pushed into the domain of embedded computing, thus linking embedded control systems with standard middleware. We have currently project videos available ![]() Lego Mindstorm Robots
At the start of the DCL project a first version of the Lego Mindstorm Robots had been integrated into the lab. A user can write C-style programs in order to drive the robot in a predefined operation area. We use the freely available brickOS operating system. We have developed a experiment specific control language for robot control. Within this language we have restricted the usage of pointers and recursion, because of possible damage to robots control software component. Currently we are going to make Microsofts .NET environment availabe for the Lego Mindstorm Robots. We are implementing a front-end for the GNU compiler collection (gcc). Using this approach we are able to generate native platform code for a lot of processor architecture. Our runtime for small embedded devices makes some restrictions to the available functions of .NET. ![]() The Higher Striker Experiment
The Higher Striker is a hard real-time control experiment. In this experiment, a user can write control programs, which accelerate an iron cylinder in a tube of glass, using seven electro magnets, which have been placed along the tube. Six light barriers between the magnets provide position information of the cylinder. The experiment consists of a custom control hardware connected via the parallel port interface to a control computer, and the physical installation, with electro magnets, light barriers and the described tube. Data from the light barriers and to the electro magnets are sampled with a frequency of 38,4 kHz. A special hardware ensures that the electro magnets cannot be activated for longer than 500 ms to avoid heat problems. Data received from the light barriers and sent to the magnets can be buffered before they are read or written via the computer's parallel port. The user control program can define what amount of buffer memory (up to 256 bytes) should be used. The smaller the buffer size, the faster a control program has to read or write the data. Smaller buffers guarantee faster reaction times onto light barrier events, but demand stricter timing constraints on the control program. ![]() The Dynamic Software Update Platform - PaintDotNet Demo
The complexity of modern software increases the number of bugs that are delivered with the software. We have implemented a platform for dynamically updating software during its runtime in order to reduce the downtime cause by installing updates. We applied our tools to the open source application PaintDotNet, which has over 133.000 lines of code. Within the demo a bug in PaintDotNet is fixed, while the application is still running. ![]() Using ASG Services from Telematic Environments
The European research project Adaptive Services Grid works on an open development platform for the automated and adaptive creation of complex service workflows, based on semantic service descriptions. Our group developed the service infrastructure component, which provides a uniform and standards-based access to stateful service instances on dynamically allocated execution resources. This includes functionalities for deployment, instantiation, invocation, and monitoring of internal or proxy services. Our current implementation is based on a combination of commercial-of-the-shelf middleware products with established standards from both the Web and the grid service community. It acts as foundation for semantic service composition in the ASG project, but works also in other service-driven research projects as unification layer for atomic services.
![]() The Lego.Net Project
In the Lego.NET project we are focusing on making the .NET run-time available for the Lego Mindstorm platform. We develop a GCC front-end, which is able to translate Microsoft/ECMA intermediate language into native machine code of the target processor (Renesas H8/300). The video gives a short introcution how to use Lego.NET. ![]() Märklin Model Railway
In coordination with the Institute of Computer Science at University of Potsdam we are integrating a Märklin Model Railway into our lab. Within a lab experiment an user can pratice the implementation of parallel and fault tolerant control applications. ![]() Distributed Programming with Grid-Occam
One of our primary aims in the project is the introduction of OCCAM to current distributed computing environments. In this context, we want to cover different distribution concepts and hardware types while minimizing the customization requirements for the programmer. The video shows our .NET implementation of a Grid-Occam compiler and MPI runtime library. The current version on grid-occam.org relies on a feature-complete Occam2Java compiler. ![]() Industrial Control in the Distributed Control Lab - The Fischertechnik Assembly Line
Within a bachelor project we focuses on the integration of an industrial control scenario into our lab infrastructure. We used a Fischertechnik model of an industrial control line. In cooperation with our industrial partner Beckhoff Electronics we connect the model plant to a programmable logic controller (PLC). The Fischertechnik assembly line is used in our lectures embedded systems. ![]() Windows Research Kernel
The Windows Research Kernel (WRK) packages core Microsoft Windows XP x64/Server 2003 SP1 kernel source code with an environment for building and testing experimental versions of the Windows kernel for use in teaching and research. The WRK includes source for processes, threads, LPC, virtual memory, scheduler, object manager, I/O manager, synchronization, worker threads, kernel heap manager, and other core NTOS functionality. The WRK is useful in design projects that allow your students to explore operating system (OS) principles using the Windows kernel sources. It enables advanced teaching and research by facilitating building experiments and projects based on modifying the Windows kernel, as well as by promoting better understanding of the Windows architecture and implementation. ![]() Micro.NET
Bytecode-based Middleware and virtual execution environments have become popular in development for embedded systems. As Microsoft's CLI implementation the .NET Micro Framework was built for high-end embedded devices. Often CLI applications use a small subset of the CLI class library, but the whole memory footprint is basically determined by the class library. For application in low-end embedded systems the memory footprint should be minimal. To overcome memory requirements of the class library, an minimal application format that includes all essential class library features is reasonable. Self-contained CLI assemblies as an approach for size-optimized deployment format for low-end embedded systems, are presented in this video. ![]() OSIRIS
The Operating System Internals Research and Information Service (OSIRIS) allows access to arbitrary kernel data structures of a running operating system via a Web browser interface. In contrast to kernel debuggers, the kernel is not halted and remains operational during the investigation. OSIRIS is complemented by our Windows Research Kernel (WRK) documentation. Both tools allow to really eXPerience the Windows OS kernel. ![]() Distributed Control Lab
The Distributed Control Lab is situated at the Operating Systems & Middleware Chair and deals with software paradigms and design patterns that allow an interconnection of middleware-based components and embedded mobile systems. The primary point of interest is how to reach predictable system behavior (regarding to timing behavior, fault tolerance or resource usage) in an unstable environment. The evaluation of the different approaches is done with the help of case studies; one example is a web-based control of mobile robots in the lab. ![]() Foucault's Pendulum
The Foucault's Pendulum experiment consists of a pendulum with an iron ball swinging over an electromagnet. Two orthogonal light barriers provide information about the balls movement. The goal of the experiment is to switch the magnet on or off at the correct moment in time in order to keep the pendulum swinging. Users can practice to find algorithms, optimized for minimum energy consumption or acceleration to maximum amplitude within a given time. In order to control the pendulum, a user can write C\# programs, which are executed by a commercial-off-the-shelf x86 PC running the Windows 2000 operating system. Because of real-time constraints of the experiment hardware, which samples the light barriers with a frequency of 23,4 kHz, a custom hardware buffer samples data, which can be transferred into the PC via the Universal Serial Bus interface. A device driver transforms the experiment data into a queue-based structure and is able to generate events for a user control program. The user program itself can switch the magnet by sending events to the device driver. ![]() Phoenix
More information soon. ![]() The Dynamic Software Update Platform
Shorter product cycles, the requirement for immediate reaction to cyber-attacks and the need for the adaptation to changing environmental conditions demand software reconfigurations to be performed at runtime, in order to reduce downtime. Especially long running applications, which have to provide continuous service should not be restarted for maintenance. They must be updated dynamically. The Dynamic Software Update Platform (DSUP) is a framework for executing software updates during the runtime of an application. We use Aspect-oriented programming (AOP) to bring applications into a reconfigurable state. Afterwards we use a graph-theoretical approach for updating all objects, which require an update. The video gives a short demonstration of DSUP. We introduce a small application - the HPI Picture Viewer - that is updated during its runtime. | ||
