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

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. In the GSoC 2013 project, the functionality was extended to support 3D transformations, especially focussing the transition from ellipsoidal to othometric height systems via geoid undulation models, and additionally considering anomalies of the national height systems via height correction models...

IoTSySDescription

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

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

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 simple HTML5 user interface based on AngularJS and jsPlumb  that directly uses the RESTful Web service endpoints. The user interface allows a direct control interaction with the devices attached to the gateway, but further provides a simple mechanism to create control...

most-logoDescription

Handling building data on an urban level sometimes requires new concepts and out of the box thinking. The so-called virtual sensors offer access to various data sources (e.g. building sensor data, simulation program results, on demand calculation of values which are not directly measured by physical sensors, etc…) via standardized interfaces that are communicating through the MOST services. Virtual sensors/datapoints should use the NoSQL storage modules for caching previous...

most-hadoop

Description

The student is integrating high performance, parallel data processing routines into the MOST framework. Based on the MOST NoSQL modules (Cassandra, neo4j), the available data processing routines (e.g. periodic data calculation) were moved to an independent Java module. Based on this, the student includes hadoop support to distribute these calculations.

Benefit for the student

The student works with state of the art database technologies. He/she gains expertise in the...

Description

A plug-in system was implemented in the last GSoC by Tim Jerman which will be released in spring 2014. In this project an image stitching plug-in shall be developed. Image stitching allows users to combine their panorama shots or to create a high resolution image from multiple images. The stitching method should adopt a robust method such as the one presented by J. Zaragoza et al.

Benefit for the Student

The student will deepen knowledge in software and plug-in architecture. In...

Description

A plug-in system was implemented in the last GSoC by Tim Jerman which will be released in spring 2014. In this project an image transform plug-in shall be developed. It should include these features:

    Affine Image Transform
    Image Rotation

The affine image transform will bring-up simple controls in the viewport which allow the user to manually transform an image. The image rotation will on the one hand allow users to rotate images arbitrarily...

nomacs socialmediaDescription

image filters for social media plugin A plug-in system was implemented in the last GSoC by Tim Jerman which will be released in spring 2014. This project shall add social media capability to nomacs by means of two plug-ins. The first plug-in will add a share button that allows users to sign-in at their preferred social media platform (e.g. facebook, twitter, google+). Then, share buttons appear for the respective platforms which allow for one-click image uploads. The plug-in must...

Description

Ontologies are used to capture the tool and domain specific knowledge as well as relations between different data models inside the OpenEngSB. This knowledge is used later for transformation, querying and validation of heterogeneous data. Having in mind the complexity and size of a typical automation system it is very important to choose an optimal architecture for the ontological system and proper querying techniques, so that the final implementation will fit for the OpenEngSB...

Description

Currently the OpenEngSB only provide RDB as back-end data storage, which in some case make it difficult to extend it further. Therefore, an initial version of Ontology back-end have been implemented in experimental version. However, this year we wanted to fully integrate an ontology back-end, e.g., Jena TDB, to OpenEngSB. One important assignment will be to evaluate the currently available ontology data storage, to choose the best one available. This implementation of the chosen...

Description

In todays software development the usage of versioning systems like Git or SVN is almost essential. The aim of the OpenEngSB is to integrate engineering tools and thus to support various engineering disciplines in their cooperation. The current capabilities of versioning systems, like branching, merging, is however missing in the OpenEngSB. A backend based on an ontology storage supporting full versioning capabilities would increase collaboration and development efficiency and...

openpixi-idea1Description

The aim of this project is to implement, test, and compare a standard benchmark for the OpenPixi simulator. Currently a Java version of the simulation exists, with optional parallel implementation using the IBIS framework, and a parallel version using OpenCL. For comparison purposes, parts of the code have been rewritten in C++. Also, for a WebGL version parts of the code will be reimplemented in JavaScript. The aim of this project is to define a core set of routines that should...

openpixi-idea1Description

The aim of this project is to refine and improve the parallelization of 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 are split so that they can run on different cores of a CPU, or even on different computers. There already exists a parallel implemenation which uses the IBIS framework for internode communication. Apart from this, a basic OpenCL implementation exists which...

openpixi-idea1Description

The aim of this project is to improve and extend a cross-platform interface using WebGL for the real-time visualization and interaction of the OpenPixi simulator. Currently, a Java web version exists, but it is desired to implement a version of the application that can run in any browser without the need for a Java plugin. Preliminary work on a WebGL version has started. The Particle-In-Cell simulation consists of a large number of particles that are simulated on a background...

quantumdove-200pxDescription

QuantumDove currently only supports one-dimensional heterostructures, but the underlying libraries also allow for higher-dimensional simulations without redesigning the whole application. The task of the student is to extend the existing code appropriately to two (and possibly three) spatial dimensions.

Benefit for the Student

The student will gather a lot of experience in quantum mechanical simulations and learn how to build software in a library-centric manner. Also, since...

skeptik idea1Descirption

Skeptik has so far focused on the compression of propositional proofs generated by sat- and SMT-solvers. Now we would like to extend some of its algorithms to first-order proofs generated by resolution-based first-order automated theorem provers (ATPs). Skeptik’s data structures are already general enough to handle first- and even higher-order formulas. There are general abstract data structures for proofs, but they will have to be specialised (via inheritance) to deal with...

viennacl gemmDescription

ViennaCL has a couple of benchmarking codes to optimize its compute kernels to the underlying hardware (CPUs, GPUs, Intel MIC). Within this project the student should merge these codes in a standalone, cross-platform graphical user interface (GUI) for benchmarking purposes similar to e.g. LuxMark or CompuBench. Users of the GUI should get a detailed view of the benchmark results, not only a single global point score. Also, users should have a simple one-click mechanism to submit...

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

Description

During GSoC 2013 the Python-wrapper PyViennaCL for the linear algebra library ViennaCL was created. Still, there is plenty room for further improvement as well as an integration of recently added functionality in ViennaCL. The aim of the project is to make PyViennaCL very robust and feature-complete.

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

Benefit for the...

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

Description

ViennaCL has three computing backends: One based on CUDA, one based on OpenCL, and one based on OpenMP. While the CUDA and OpenCL backends provide high performance, this is not yet the case with the OpenMP backend. Although the OpenMP-backend was initially introduced as a fall-back mechanism for CPU-only systems, it is now mature enough to be tuned for high performance. The student will tune the individual linear algebra kernels (vector operations, matrix-vector products, etc.) for...

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 voxelDescription

3D image data (CT voxel data) are commonly used in biomedical applications as basis for simulation models. One challenge is how to get a mesh directly from segmented data. CGAL provides a solution to this problem. But such a mesh do not has a perfect quality which is needed for simulation models.

The task for this GSoC project is to develop a mesh improvement algorithm which is volume preserving (no shrinkage of the model). The new algorithm will be tested on several biomedical...

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

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

shinyRDescription

The compositions and the robCompositions packages are software extension of the free and open-source statistical environment R. They include multivariate methods for the analysis of compositional data. However, subject matter specialists in, for example, geosciences or geochemistry often do not have any knowledge in programming or R. Thus, the aim is to provide the main facilities of both packages within a point and click interactive environment. For this task, the package Shiny...