ReconOS (http://github.com/EPiCS/reconos)
ReconOS is a programming model, an execution environment, an operating system extension, a hardware architecture, a research project, and a development playground.
Originally developed within the context of a university research project and a PhD thesis, ReconOS is a way to bring some of the convenience of a software-like programming model to the detail-ridden world of dynamically reconfigurable hardware design. With ReconOS, you can model a concurrent application for reconfigurable systems-on-chip (rSoC) using both software and hardware threads. The interactions between all threads are handled through common POSIX-like abstractions such as mailboxes, semaphores, or shared memory, hiding the complexities of bus access protocols, memory spaces, register files and interrupt handling.
ReconOS also includes a dynamic network protocol stack developed by ETH Zurich.
FPGA Heater Cores (http://epics.uni-paderborn.de/fpga-heater)
In the publication ``M. Happe, H. Hangmann, A. Agne, and C. Plessl. Eight ways to put your FPGA on fire – a systematic study of heat generators. In Proc. Int. Conf. on ReConFigurable Computing and FPGAs (ReConFig), pages 1–8. IEEE Computer Society, Dec. 2012.'', which won the best paper award at the ReConFig'2012 conference, University of Paderborn has presented a study on the systematic design and evaluation of circuits that are optimised for generating a maximum amount of heat on FPGAs. Such heater cores can be used for automatically generating and calibrating thermal models of FPGA devices. Also the heater cores can be used to expose distinct areas of the devices to high temperatures with the objective to induce soft-errors, due to an increase in switching time.
To make the heater cores available for other researchers for experimentation, we have released them as pcore modules, that can be integrated as components in Xilinx FPGA designs. The amount of heat that is generated can be adjusted in 32 levels.
Netsniff-NG (https://github.com/borkmann/netsniff-ng)
For development, performance testing and debugging purposes of the dynamic protocol stack that is part of ReconOS, ETH Zurich has developed a high-performance networking toolkit. The gain of the toolkit's performance is reached by zero-copy mechanisms, so that on packet reception and transmission the kernel does not need to copy packets from kernel space to user space and vice versa.
Besides others, netsniff-ng contains a protocol analyzer, network traffic generator and top-like statistic tools in order to facilitate the protocol stack's development.
OpenTLD (http://gnebehay.github.com/OpenTLD)
This software repository contains both an application and a library that can be used for tracking a single object in a video stream. The underlying algorithm assumes only a minimum amount of a priori information in the form of a user-provided bounding box and does not depend on any kind of training data. This implementation of OpenTLD is based solely on open source libraries, meaning that you do not need any commercial products to compile or run it. Supported platforms are Linux, Windows and Mac OS X.
CamSim (http://github.com/EPiCS/CamSim)
To test and evaluate different strategies for tracking coordination in distributed smart cameras, Klagenfurt University and University of Birmingham have developed a simulation environment. The environment allows to evaluate different strategies for handover using different communication approaches in various scenarios. Besides random and the predefined scenarios, user can create their own scenarios using XML, to test different strategies.
Results of our evaluation have been published in:
- L. Esterle, P.R. Lewis, B. Rinner, and X. Yao Improved Adaptivity and Robustness in Decentralised Multi-Camera Networks in Proc. Int. Conf. on Distributed Smart Cameras (ICDSC). ACM. Oct. 2012. and in
- L. Esterle, P.R. Lewis, M. Bogdanski, B. Rinner, and X. Yao A Socio-Economic Approach to Online Vision Graph Generation and Handover in Distributed Smart Camera Networks in Proc. Int. Conf. on Distributed Smart Cameras (ICDSC). Pages 1–6. IEEE. Aug. 2011.
Ella (http://ella.codeplex.com/)
Ella is a fully distributed publish/subscribe middleware written in pure C# and compatible with Mono. Ella handles all the communication needed to transfer data from a producer to a consumer with no need to care if both are on the same or on different nodes in your network. Automatic node discovery and node failure handling are part of the middleware.
Ella is based on the type-based pub/sub flavour because it is most intuitive to handle and does not require topic conventions (in topic-based pub/sub) or a dedicated query mechanism for properties (in case of content-based pub/sub).
ProprioSimEnv (http://github.com/EPiCS/ProprioSimEnv)
ProprioSimEnv is a modelling and simulation environment for proprioceptive computing nodes, computing nodes that have self-aware and self-expressive features. The general structure of a proprioceptive computing node realised by ProprioSimEnv is based on the EPiCS reference architecture and implemented in SystemC. Transaction Level Modelling (TLM) has been chosen as abstraction level for modelling and simulation to separate the details of the communication between modules, from the details of the implementation of the modules and the details of the overall communication structure.
All components of a proprioceptive node have been realised as dedicated SystemC modules to allow the user for composing their specific system to study self-awareness and self-expression.
Relevant publications:
- Tatiana Djaba Nya, Stephan C. Stilkerich, Peter R. Lewis A Modelling and Simulation Environment for Self-aware and Self-expressive Systems in Proc. Int. Conference on Self-Adaptive and Self-Organizing Systems (SASO). 2014.
- S. Parsons, R. Bahsoon, P.R. Lewis, and X. Yao Towards a Better Understanding of Self-Awareness and Self-Expression within software systems. Technical Report #CSR-11-03. University of Birmingham, School of Computer Science. UK. Apr. 2011.
SoundGates (http://epics.uni-paderborn.de/soundgates/)
The goal of the SoundGates project is to provide a framework that allows interactive music synthesis on x86 architectures and on modern FPGAs. Interactive means that several users can control the sound that is generated by means of advanced sensors, e.g. through motion and light sensors featured in todays smartphones. Music can be generated by creating a so called patch that is a network of sound components and executing this patch on a Sythesizer. An Editor for assembling the sound components together to an executable patch and a library of sound components such as frequency generators, envelope generators, modulators, mixers, filters and many more are provided. The Editor allows to simulate patches prior to executing it on the target platform. The Synthesizer either runs on a normal x86-based pc or on a FPGA platform. On FPGA platforms the Sythesizer might take advantage of hardware sound components that should reduce the load of the CPU that executes the patch.
SoundGates was developed as part of a student project group at University of Paderborn with support from UIO. The code is available under the MIT open-source license at the GitHub repository https://github.com/epics/soundgates.
CMT – Consensus-based Matching and Tracking of Keypoints (https://github.com/gnebehay/CMT)
CMT (Consensus-based Matching and Tracking of Keypoints for Object Tracking) is a novel keypoint-based method for long-term model-free object tracking in a combined matching-and-tracking framework. Detailed information about CMT is available on the CMT project website.
PheroMusic (download in iOS App Store)
PheroMusic lets a user listen to music and control music. In several predefined musical scenarios called "soundscapes", music is generated automatically. By tilting the iOS device, the user controls the intensity of the music. To navigate between soundscapes Pheromusic uses a nature-inspired algorithm to implement musical memory in an artificial agent. In nature, ants deposit pheromones when looking for food. The pheromone trails are used to locate the same food source in the future. In PheroMusic, an artificial agent navigates between a number of soundscapes. Users may make active choices and decide the next soundscape to which the agent moves. When a new soundscape is selected, an artificial pheromone trail is created, influencing the path taken by the user in the future.