calmero osgiDescription

Within this project you will make Calimero OSGI (Open Services Gateway Initiative) ready. OSGI provides a framework and service platform for deploying modular Java components, so called bundles. OSGI is a platform that can be used to create home automation gateways. Bundles have a lifecycle within an OSGI container and provide only a defined scope of their classes to other bundles within the container, which eases and enforces proper modularization of large Java projects. The goal...

eclipse arraysDescription

Eclipse Array Explorer allows developers to explore large arrays efficiently. The tabular view provided by this tool offers an overview of the values of all fields in all elements in the array. Specific values in this table can be spot using interaction or by means of additional views (such as bar charts).

More details: http://www.cvast.tuwien.ac.at/projects/visualdebugging/ArrayExplorer

Public Source code with BSD license: https://github.com/bilalsal/ArrayExplorer

Short...

eclipse tracerDescription

EclipseTracer allows developers to adapt selected Eclipse break-points and watch-points into trace-points while debugging Java programs. Instead of stopping the execution, trace-points only record information about the current state when they are hit and store them in per-instance traces. The "silent" hits can be visualized over a time-line for post-mortem examination of the recorded information.

More details:...

gdal-geoidDescription

GDAL/OGR is widely used in open source and closed source applications. The OGRSpatialReference in conjunction with the PROJ.4 library is quasi standard for 2D coordinate transformation. Although, 3D transformations are - to some extend - supported within the library, the implemented solution is unsatisfactory from a geodetic point of view. The objective is to establish a rigorous 3D transformation chain, to support Vertical Datum definitions in a generic way.

Benefit for the...

IoTSySDecription

The gateway currently keeps all oBIX objects and data point histories in memory. If the gateway is restarted all previous data points are lost. Within this project you will create a persistence layer based on a ORM framework (e.g. JPA) and allow the storage of oBIX objects in a database. Due to the aim of deploying the gateway on constrained devices (e.g. Raspberry PI) a light-weight database concept should be developed and implemented.

Benefit for the Student

Dive into latest...

IoTSySDescription

IoTSyS is currently based on a simple oBIX object container, where most of the dependency between different components and services is wired hardcoded together. This design should be refactored to use the Inversion of Control or Dependency Injection pattern in order to increase the maintainability and extensibility of the oBIX server. Currently the protocol handlers, the message encoders/decoders and the oBIX server are hard-wired together. There is a great potential to refactor...

IoTSySDescription

IoTSyS uses a simple oBIX serve for the gateway that partly implements the oBIX 1.1 WD 06 specifications. Within this project you will complete the implementation and add additional features to the gateway. This includes the full support of oBIX watches, histories and alarming. Furthermore, automated unit testing should be introduced in order to test the compliance with the standard specification.

Benefit for the Student

Dive into latest technologies and emerging protocols for...

IoTSySDescription

The IoTSyS gateway provides an oBIX Web service interface to access heterogeneous existing building automation technologies and smart meters (e.g. KNX, BACnet, ZigBee, Wireless M-Bus). The gateway provides a Web service protocol binding to SOAP and RESTful HTTP and CoAP Web service endpoints. Furthermore, virtual IPv6 endpoints are provided for all devices behind the gateway making them globally accessible in the Internet. Within this project state of the art Web service security...

Description

The student migrates the current MOST (most.bpi.tuwien.ac.at) MySQL database schema to a relational/ NoSQL hybrid solution using MariaDB and Cassandra. The current implementation heavily depends on stored procedures for data preprocessing. The student implements a Java-based framework for database independent data preprocessing.

Benefit for the Student

The student works with state of the art database technologies and learns how to use highly scalable data storages. Additionally...

Description

The student implements a Java-based gateway that runs on the Raspberry Pi to enable a plug and play mechanism for building sensors. New sensors are recognized and registered automatically in the MOST framework. The final parameter setting is done via an application, that will either be an Android or cross-platform web application.

Benefit for the Student

The student will participate in a real world home automation scenario. This includes the opportunity to work with technologies...

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...

nomacs cropDescription

crop toolnomacs basically supports cropping. This includes a simple-to-edit rectangle that allows for rotating/cropping the current image. We want to improve the user experience by adding a crop toolbar with tools such as zoom/crop and units preview. In addition a Hough Transform based snapping to lines present in an image will be implemented that allows for an exact cropping of lines. Cropping and rotating images may result in image regions that are not defined. Currently, these...

nomacs pluginDescription

fake miniatur of bejingThe goal of this project is to design a plug-in system for nomacs. The basic idea of nomacs was to develop a fast and stable image viewer with synchronizing capabilities. On user requests features like supporting HDR images, RAW images, etc. have been implemented to the basic viewer. The plug-in system should allow to extend nomacs with such features while keeping the basic image viewer small. The student should define the interface of the plug-in system and...

 

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...

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...

openpixi-idea1Description:

The aim of this project is to refine and improve the parallelization of routines used in the {OpenPixi simulator}[http://www.openpixi.org/]. The Particle-In-Cell simulations use a large number of particles within a fixed grid. The grid and the particles are 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 refine and improve the existing parallelization routines that use the IBIS...

Description

"Split" is an algorithm that compresses a given propositional resolution proof by first selecting a literal "L", then splitting the refutation into a proof of "L" and proof of "(not L)", and finally constructing a new refutation by resolving these two proofs. This process can be repeated until no further compression occurs. We have reasons to believe that the current heuristic for selecting the literal "L" is far from optimal. Furthermore, it seems to be possible to improve...

Description

There are a few proof compression algorithms that are not yet implemented in Skeptik, even though they have already been described in the literature and implemented elsewhere. We would like these algorithms to implemented, generalized and improved.

One of them is "RecycleUnits" which implements an efficient restricted kind of subsumption in which the subsuming clause is unit. Besides implementing the original "RecycleUnits", we would like to generalize it to larger non-unit...

viennacl stlDescription

The C++ Standard Template Library (STL) defines a set of basic algorithms such as sort().
Such functionality is, where reasonable, provided for NVIDIA GPUs with thrust, but there is no extensive and independent implementation available in OpenCL. Thus, the goal of this project is to implement some of the most popular algorithms from the C++ STL for GPUs in ViennaCL.

Benefit for the Student

Fame and glory! :-) Invaluable experience in programming a robust high-level interface for...

viennacl gemmDescription

Current vendor libraries for basic linear algebra operations (BLAS) use a C-style function interface. Even though a high-level approach such as ViennaCL requires much clearer and less error-prone code, the availability of a C-style interface for the various operations will aid potential users who are required to stick with C or Fortran. Also, this would be the first BLAS library with portable high performance on hardware from different vendors.

Benefit for the Student

The student...

viennacl pythonDescription

ViennaCL currently allows users to conveniently code linear algebra operations for GPU inside C++. On the other hand, the script language Python is very popular for high-level programming approaches.
The aim of the project is to bridge the gap between these two approaches, making the functionality in ViennaCL also available within Python.

Benefit for the Student

The student will work on the boundary between C++ and Python, thus learning a lot about the strengths and limits of both...

Description

GPUs are able to provide high performance for the operation C = A * B for dense matrices A, B, and C. However, if A and B are both sparse matrices, a lot of additional tricks are required to get reasonable performance. The aim of this project is to implement a toolkit of algorithms analyzing the sparsity patterns, which are then composed to yield a fast sparse matrix-matrix multiplication.
Moreover, the implementations should be tuned to GPUs from NVIDIA and AMD as well as Intel's...

viennamesh doctorDescription

Simulation meshes generated by CAD application often are of bad quality, sometimes even broken. For example the hull of an object isn't fully closed, duplicate elements exist or elements intersect each other. All of those (and many more) errorsare fatal for most meshing algorithms and following simulations.

The student should check, if there is any open source library, capable of fixing broken meshes. If available, an interface to ViennaMesh should be written. Otherwise a...

viennamesh optimizationDescription

In scientific computing, many mesh related algorithms have a great need for meshes with high quality. Although the type of quality of a mesh depends on the algorithm operating on it, most requirements are similar. Especially size and shape of mesh elements is a central topic when speaking of mesh quality. Mesh generators often struggle with constraints and tend to produce low quality mesh elements. To compensate this, mesh optimizer are invented. These algorithms take a mesh and...

viennamesh pythonDescription

ViennaMesh provides a solid C++ interface for meshing 2D and 3D geometries. Using C++ templates, the runtime of ViennaMesh is reduced while holding a good level of flexibility. But C++ templates have an unpopular side effect: hight compilation times. To compensate this problem and allow easy-to-use mesh scripting, a Python interface should be implemented which wraps the ViennaMesh interface.

ViennaMesh is currently completly reimplemented from scratch. The current source code...

Description

A vital part of computational science is the step of visualization. In this project, the student should extend the current visualization layer based on the VTK library. The goal is to utilize various visualization algorithms to provide advanced visualization capabilities to be used by ViennaMOS to visualize the simulation results. Different algorithms can be investigated based on the students interests, such as the visualization of iso-surfaces and vector fields, clipping...

Description

Almost every data set include missing information but methods for analyzing data almost always needs complete information.

Visualization of incomplete data allows to simultaneously explore the data
and the structure of missing values. This is helpful for learning about the distribution
of the incomplete information in the data, and to identify possible structures of the
missing values and their relation to the available information that can be used for better imputation of missing...