Description

The objective is to design the command set for an interactive shell for using the dlvhex software, and then implement the shell in python. The shell shall provide basic functionality of managing programs and plugins, obtaining models and querying. Interaction could be similar as, e.g., in the python interactive shell (by using python as a shell, the shell itself could be scriptable with python). Reasoning and parsing task related to HEX programs are all accomplished by the...

Description

The objective is to design and implement a network protocol for using the dlvhex software as a server. This server shall allow for loading programs via network and controlling the solver on the server, for example asking for one, some, or all valid answers to a query, or extending the knowledge base and re-evaluating a program. The task of parsing programs and solving them is accomplished by the existing dlvhex C++ libraries. We envision an implementation in python using existing...

Description

Based on an existing driver (OPC DataHub/Gamma scripting), which is used to connect to building networks (KNX, BACnet, etc.) and building management systems (BMS) using OPC DA, an open-source alternative should be implemented using Java. Access to building systems is possible by using the open-source OPC DA client JEasyOPC. In addition, building information should be imported using JDBC compatible databases and files. A simple user interface should be implemented on top. The...

Description

Based on ifcwebserver or BIMsurfer (open-source "IFC" 3D web-viewer) a 3D building visualization should be integrated into the MOST web-interface (GWT). Possible interaction/"communication" (callbacks from JavaScript into GWT, etc.) between the 3D Viewer and the GWT framework (MOST) should be analyzed. Based on technical possibilities, different use cases (data visualization within the 3D model, drag and drop from 3D model into GWT, etc.) should be implemented. An IFC building...

Description

Using the GWT based web-visualization framework of MOST, a building data exporter should be implemented. The MOST web-visualization provides a module based concept. Each use case is a independent module which has its own main menu entry in the web-visualization. Implementation is simplified by extending a generic module. The MOST framework provides various GWT widgets (DragWidget, etc.), data abstraction objects (Datapoint, etc.) and GWT enhancements (DndController, etc.). The...

Description

Based on the MOST Java framework an OPC Unified Architecture (OPC UA) Server interface should be implemented. An OPC UA Server toolkit will be provided to simplify implementation. Supporting OPC UA allows various processing (Matlab, Excel, etc.) applications to easily access building data stored with MOST. The OPC UA information model (kind of tree structure to desired information) should be based on the datapoint and zone definitions in the MOST database. For example, the OPC UA...

Description

To map raw sensor values to proper input data for further processing, the calibration of Motion Controllers is very important. The controller sends its raw calibration data as HID input report, but the detailed data format is now fully known. Also, an utility should be written to calibrate the controller (tumble test) manually on a PC if the calibration data is off. Another task in this project is to develop a tool to collect and analyze calibration data blobs from different...

Description

The Playstation Move Motion Controller provides 9 buttons (including 1 analog trigger) and three different sensors (accelerometer, gyroscope, magnetometer). In order to make use of the PS Move Motion Controller as input device for legacy applications, and to provide an easy way for developers to add support for the PS Move to their applications, a utility should be developed that will map the buttons to keyboard events for all major OSes (Mac OS X, Windows and Linux). Similarly...

Description

The pairing of PS Move Motion Controllers with Linux-based systems currently requires some workaround (manual modification of Bluez' internal data structures or disabling HID support in Bluez and communicating over raw L2CAP sockets). Ideally, the PS Move Motion Controller should be detected and paired with Bluez without problems, and then be exposed as HID device to the rest of the system.

Benefit for the Student

Getting involved in two very wide-spread open source project...

Description

The goal of this project is to write a library that can be used to get the 3D positions of multiple PS Move Motion Controllers in space. The camera to be used is a PS Eye camera, but the library should be made so that another camera can be used after calibration (FoV, etc..). The library can make use of underlying libraries (such as PS Move API) to determine the perfect sphere color in the current setting. At least two spheres should be detected and correctly mapped to 3D...

Description

The PS3 Sixaxis controller (also the DualShock 3 controller) also has sensors built-in. Right now, the library does not support these controllers. Moreover, the PS Move Navigation Controller is basically a subset of the Sixaxis that is marketed together with the PS Move Motion Controller. For some use cases, the Navigation Controller can be used in combination with the PS Move Motion Controller for more input/control for a given application. This project will be about adding...

Description

Currently, nomacs supports simple file and directory access such as read, write, update or thumbnail preview. However, simple batch processing would improve nomacs file management. The task is to implement a GUI for file filtering and batch processing. The filtering should be applicable for file names, extensions and exif tags. In addition a batch editing tool should be implemented that allows for editing exif tags of multiple files, renaming multiple files or converting files to...

Description

nomacs is currently able to load RAW files from Nikon, Canon and Sony cameras. LibRaw is used for the RAW development which provides easy access to the data itself and important metadata such as the gamma coefficient. The demosaicing is currently based on the OpenCV Bayer pattern interpolation which is a fast, but simple method. No color correction, etc. is done at the moment as further steps. The student should investigate an improved raw loader, comprising a demosaicing method...

Description

Currently nomacs loads stereo image containers such as JPEG stereo (*.jps) and Multi Picture Objects (*.mpo). For JPEG stereo images, both frames are loaded and displayed next to each other. Loading Multi Picture Objects results in the main frame being displayed. This is nice for a fast preview of the images. However, rendering these images as chromatic anaglyphs would improve the visual experience. The student should implement a method that renders anaglyphs with reduced...

Description

The next version of nomacs includes a crop function for images. Cropping and rotating images may result in image regions that are not defined. Currently, these image regions are not filled at all (transparent) or they are filled with a default color. Filling these regions with parts that are replicated from the original image improves the visual appearance. The student should investigate state-of-the-art texture synthesis methods such as Kwatra et al. for a best possible visual...

Description

Engineering workflows reflect process steps facilitating the integration of engineering tools and describe operations at project level. Described engineering workflow rules encapsulate knowledge on the sequence of work tasks across tools in the engineering team and allow the flexible coordination of automated process steps. The focus is on the collection and observation of log entries and framework specific events for the purpose of validating executed processes with designed...

Description

Based on the explicit data models of the different heterogeneous tools/data sources, a generic approach for the definition of queries should be implemented. Based on this generic approach, the queries then need to be transformed into a query language the target data source can understand and handle - first of all we target at supporting data sources capable of dealing with the SQL syntax. For testing purposes, data from different projects will be provided.

Benefit for the...

Description

Software testing is a very important part in the software engineering process, like in the context of remote (distributed) component types in component-based systems which provide/use services over the network via RPC/RMI communication calls or messaging. Based on explicit data models of the different heterogeneous software tools taking part in the integration process, a generic approach for the generation of test cases has to be implemented. Tools connected to the OpenEngSB...

Description

The aim of this project is to create a cross-platform interface in Java based on Java OpenGL (JOGL) for the real-time visualization and interaction of the OpenPixi simulator. The Particle-In-Cell simulation consists of a large number of particles that are simulated on a fixed background grid. The OpenGL simulation should be able to visualize a three-dimensional setting from any perspective, including particles, meshes, and vectors on top of the meshes in a visually attractive...

Description

The aim of this project is to parallelize existing routines used in the OpenPixi simulator. The Particle-In-Cell simulations use a large number of particles within a fixed grid. The grid and the particles should be split so that they can run on different cores of a CPU, or even on different computers. The first step of the project, which is written in Java, is to implement a reference parallel implementation using Threads. The next step could be (depending on the interest of the...

Description

pi3diamond is a collaboration between the University of Stuttgart and TU Vienna with the aim of developing open source hard- and software to control quantum physics experiments. In particular we investigate single quantum defects in diamond. The fast hardware is based on configurable digital logic consisting of FPGAs (field programmable gate arrays). The software for the data preparation and readout is programmed in Python. Currently a high-speed digital pulse generator with a...

Description

Statistical Agencies and organisations have restrictions due to laws on privacy to give their data into the hand of researchers and the public. In general these laws aim to avoid re-identification of individuals. Using the developed free and open-source R package sdcMicro it is possible to perturbate the original data by minimising the information loss at the same time. Since the package is in use by subject matter specialists that are often not trained in command line coding, a...

Description

RecyclePivotsWithIntersection (RPI) and LowerUnits (LU) (described by the mentor in detail in a 2011 paper in CADE, the Conference on Automated Deduction) are currently among the most powerful algorithms for the compression of propositional resolution proofs. We have already empirically determined that it is beneficial to combine RPI and LU sequentially, but the optimal order for the sequential combination is unknown. Therefore, we would like to implement a tighter non-sequential...

Description

RecyclePivotsWithIntersection (RPI) and LowerUnits (LU) have been developed for propositional resolution proofs only. This means that, so far they can only compress proofs generated by sat-solvers and smt-solvers, but not by first-order automated theorem provers. We would like to generalize our proof data-structures and these algorithms to the first-order case, and to evaluate them on the benchmarks provided by the TSTP library.

Benefit for the Student

The student will acquire...

Description

The Splitting algorithm (proposed in the 2010 paper "Two Techniques for Minimizing Resolution Proofs" by Scott Cotton in the SAT conference) and the ReduceAndReconstruct algorithm (proposed in the 2010 paper "An Efficient and Flexible Approach to Resolution Proof Reduction" by Simone, Brutomesso and Sarygina in the Haifa Verification Conference) are two alternative algorithms for propositional resolution proof compression. Splitting consists of dividing a refutation into a proof...