01 Projects PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 90

Software Engineering 2012 – All Projects

Donnerstag, 19. April 12


Cognitive Load: Data composition
Organization: CoLi
Contact: Asad Sayeed, Vera Demberg

Our overall agenda is to study the influence of language on cognitive overload: if the mind
has finite resources, how much does language take up under what circumstances? In
order to do this, we are designing car-simulator experiments in which subjects must
"drive" using a game console while performing a language- related task (automatic flight
booking using a dialogue system, listening to emails, and so on).

While the task is being performed, we will collect a variety of performance metrics,
including physiological ones such as pupil dilation measurement and skin conductance.

Our need: we require the composition of this data into a single time- synchronized
resource that is easy to analyze statistically, visualize, and distribute. This has a number of
software challenges including data format design, UI design, and data stream
composition.

Donnerstag, 19. April 12


Data organization for driving/language experimentation

Who we are: Research group in M2CI and computational


linguistics. Psycholinguistics and computer science.
What we’re doing: investigating the relationship between
language complexity and mental workload.
Spoken dialogue systems for multitasking while driving
(email checking, scheduling, talking GPS . . . )
Safety, efficiency: Can we create systems that adapt the
complexity of the language to the driving environment?
But: to answer this question, we have to know how to
measure the effect of language complexity.

Asad Sayeed Experimental data management 1


Donnerstag, 19. April 12
Data organization for driving/language experimentation

How we’re doing it: biometrics and performance analysis


in simulated driving.
Linguistic analysis: complex vs. simple.
Driving simulator: easy or difficult courses, game console
steering wheel.
Biometrics and psychometrics: pupil dilation, skin
conductance.
Secondary task performance: flight booking, restaurant
reservation. . .
What we need: connecting, synchronizing,
visualizing/analysing these data streams.
Many disparate devices and pieces of software to
synchronize.
Corpus to publish: need all recorded data searchable,
usable by researchers.

Asad Sayeed Experimental data management 2


Donnerstag, 19. April 12
Saarland University App (iPhone + Android)
Organization: CISPA
Contact: Christian Hammer and Sebastian Gerling

We would like to have a CISPA and Saarland University iPhone and Android app that
provides guidance on campus and presents all information required by visitors, students,
and employees. In particular, the app should

• show the menus of mensa and other campus restaurant (also as widget),
• have an interactive campus map showing the current position and providing
• additional information on all facilities (e.g. parking),
• have a campus event calendar providing schedules for current events,
• have a news section on hot topics about CISPA and Saarland University.

Donnerstag, 19. April 12


CISPA Researchers
Reliably Secure Systems
Accountability

Privacy
Software Engineering Project
Donnerstag, 19. April 12
The CISPA / Saarland University Android App

 Core functionality:
- shows menus of mensa and other campus restaurant (also as
widget),
- interactive campus map showing the current position and providing
additional information on all facilities (e.g. parking),
- campus event calendar providing schedules for current events,
- news section on hot topics about CISPA and Saarland University.

Customer: Philipp von Styp-Rekowsky


Sebastian Gerling

Software Engineering Project


Donnerstag, 19. April 12
The CISPA / Saarland University iPhone App

 Core functionality:
- shows menus of mensa and other campus restaurant (also as
widget),
- interactive campus map showing the current position and providing
additional information on all facilities (e.g. parking),
- campus event calendar providing schedules for current events,
- news section on hot topics about CISPA and Saarland University.

Customer: Christian Hammer

Software Engineering Project


Donnerstag, 19. April 12
Automated Testing with Pex:
Reports and Visualization
Organization: Software Engineering Chair
Contact: Konrad Jamrozik

APex is a prototype build on top of Pex, a tool for automated unit testing, developed by
Microsoft Research, Redmond. Pex leverages Dynamic Symbolic Execution (DSA) to
automatically and efficiently generate unit test suite achieving near-100% coverage of
tested code.

The goal of the project will be to provide a rich format/visualization of the dumped data.
Some ideas: dumping directly into compilable LaTeX tables, outputting gnuplot charts,
outputting as XML and then transforming into HTML with XSLT, etc.

Donnerstag, 19. April 12


Donnerstag, 19. April 12
Donnerstag, 19. April 12
Mining Software Archives with DiffCat and Moskito
Organization: Software Engineering Chair
Contact: Kim Herzig

DiffCat is a tool to detect non-essential changes in version histories. Non-essential


changes are refactorings that leave the source code semantics unchanged (e.g. renaming
a class variable).

Your job, if you accept it, is to transform the functionality of DiffCat into a Java library that
can be easily integrated into non Eclipse applications---more precise we want to integrate
DiffCat's functionlality in our Chair's mining framework called Moskito. A solution might be
to transform DiffCat into some kind of service providing API interfaces to use this service.
You are free to reuse the DiffCat tool as it is. DiffCat and their underlying frameworks are
open source and can be adapted. So, this job is more about finding a clever solution to
integrate an Eclipse product into a non-Eclipse application.

Donnerstag, 19. April 12


Non-Essential Changes
http://www.cs.mcgill.ca/~swevo/diffcat/

3 public class C {
4 public C() {
5 List<String> list = new List<String>();
...
8 if(list.size() < 1){
if(list.isEmty()){

...
20 } Program semantics unchanged!
21 }

DiffCat tool detects such non-essential changes.

Donnerstag, 19. April 12


Non-Essential Changes
as Mozkito module

• Diffcat is an Eclipse product requiring many


other plugins
• Design and implement a standalone tool that
can detect non-essential changes.
• Design and implement a Diffcat-module for
our mining framework that runs your
standalone tool.
moskito
mining | mapping | more

Donnerstag, 19. April 12


Partial Program Analysis for C/C++
Organization: Software Engineering Chair
Contact: Kim Herzig

Analyzing source code changes and their dependencies requires accurate type
information about object instances involved in the applied source code changes. This task
is easy only if the source code is compilable.

Your task is to implement a partial program analysis tool for C/C++ using the LLVM
framework and it's C/C++ specific font-end: clang. The tool most be usable from Java
and should allow our mining framework written in Java to analyze C/C++ source code
changes by identifying full qualified C/C++ class, method, and functions definitions and
calls changed by each individual source code change.

Donnerstag, 19. April 12


Partial Program Analysis (PPA)
What if the
Easy! Compile and
current version is
lookup!
not compilable?

Not all type info


Fall back to AST!
available!

www.sable.mcgill.ca/ppa/
What type is A of?
A.foo(
- int A.foo(int)
File 1 + int A.foo(int)
+ float A.foo(float)

File 2 + void B.bar(int) +d = A.foo(5f)

-x = B.bar(5)
File 3 + x = B.bar(5)
+x = A.foo(5f)

File 4 +d = A.foo(d) + e = A.foo(-1f)

Change Set (CS1) Change Set (CS2) Change Set (CS3) Change Set (CS4) Change Set (CS5)

Project History: sequence of code changes


Donnerstag, 19. April 12
PPA For C++

• Design and Implement PPA tool for C/C++


• Use LLVM and Clang
• Given a source code change (Java Object)
your framework should identify full
qualified C/C++ classes, methods and
defintions.

moskito
mining | mapping | more

Donnerstag, 19. April 12


Automated Debugging in Eclipse
Organization: Software Engineering Chair
Contact: Jeremias Rößler

BugEx is an approach that aims at helping developers understand a failure. Starting from
a failing test case, many more test cases are
generated to narrow down important runtime aspects of the failure
(see http://www.st.cs.uni-saarland.de/bugex ).
To bring the approach as close to the developer as possible, BugEx should be available in
the form of an Eclipse Plugin. Some of the features include a progress monitor, a
configuration panel, and jumping to the appropriate code locations upon clicking.

Donnerstag, 19. April 12


BugExlipse
BugEx Eclipse Plugin

Donnerstag, 19. April 12


Donnerstag, 19. April 12
Text

TODO

Donnerstag, 19. April 12


Possible Features

• Progress Monitor
• Configuration Panel
• View for different types of Explanations
• Behavior on code change

Donnerstag, 19. April 12


Jeremias Rößler
http://www.st.cs.uni-saarland.de/~roessler/
roessler@cs.uni-sb.de

BugEx
http://www.st.cs.uni-saarland.de/bugex/

Donnerstag, 19. April 12


Automated Debugging for Everyone
Organization: Software Engineering Chair
Contact: Jeremias Rößler

BugEx is an approach that aims at helping developers understand a failure. Starting from
a failing test case, many more test cases are
generated to narrow down important runtime aspects of the failure
(see http://www.st.cs.uni-saarland.de/bugex ).
To allow for an easy online evaluation of the approach, we would need a WebApp/
WebGUI. Special challanges in that context are the time BugEx needs to produce a result
(up to one hour) as well as the size of the input: BugEx has a failing test case and a
program as input. That program can be of arbitrary size which is a challenge for
uploading.

Donnerstag, 19. April 12


BugEx Online

Donnerstag, 19. April 12


TODO

Donnerstag, 19. April 12


Challenges

• Upload-Size
• Analysis duration
• Displaying Results

Donnerstag, 19. April 12


Smart Reuse of Semantic Service Plans for
Business Process Modeling
Organization: DFKI
Contact: Matthias Klusch

Service-oriented realization of complex business processes (in service-oriented


architectures, SOA) in terms of their orchestration in service workflows still remains a
rather tedious hand-crafted work. Each business process which workflow is described in
BPMN (Business Process Modeling Notation) may be realized by one or more appropriate
Web services (REST or WSDL/SOAP-based).

This project designs and implements an approach for automatically integrating ("lifting") a
generated service plan in OWL-S into a service-oriented business process workflow in
BPMN. The service plan should be refinable by a business process modeller with the tool
according to given business requirements. The resulting new or modified process
including the semantic annotation shall be exported in a format which allows business
process modeling tools like Oryx/ SemOryx or, in particular, ARIS to import it. In other
words, the envisioned tool shall enable process modeller to efficiently reuse generated
service plans in OWL-S for process modeling in BPMN.

Donnerstag, 19. April 12


SEMANTIC SERVICE-ORIENTED REFINEMENT
OF BUSINESS PROCESSES

Business process model


Task
 Business process model in BPMN.
Task Task

SComp
 Service-oriented realisation of model
through planning of semantic
services with OWLS-Xplan 2.0.
Query Lifting

?
Semantic service plan
!  “Lifting” of generated service plan
to business process level for

BPMN model refinement.

Web Web Web


service service service

Donnerstag, 19. April 12


TASK

 Enhance a given business process modeling tool with planning support


for semantic services using OWLS-Xplan2 for process refinement

 Semantic annotation of BPMN process model elements


(BPMN tasks, subprocesses, gateways, etc.)

 Query formulation: Specify initial and goal state for the planner

 Lifting of generated plan sequence to business process model

 Refinement of lifted service sequence (plan) with modeling tool

 Export format of service plan for different BPMN tools (ARIS, Oryx)

 Summary: Tool shall enable reuse of generated semantic service plans


with OWLS-Xplan for process modeling in BPMN.

Donnerstag, 19. April 12


Increasing Software Quality:
High Quality Assertion Support in Eclipse
Organization: Software Engineering Chair
Contact: Sascha Just

By using pre- and postconditions, developers can specify the intended behavior of their
code in place. Having proper constraints on your inputs and output of a method makes
debugging a much easier task.

We developed a Java library called kanuni that comes with a large set of annotations for
parameters, variables and return values with predefined constraints (e.g. @NotNull or
even more complex things like @MinSize(min = 5) or @Directory(perm = { ACCESS,
READ, WRITE }) that can be used in Java source code.

Your task is to design and implement an Eclipse plugin that keeps track of the constraints
and comes with two features: Your plugin should warn if the use of a variable is potentially
invalid (e.g. due to a missing not-null constraint) and offer a quick-fix (like "Add @NotNull
to the parameter 'p'.). It will be sufficient if your plugin successfully achieves this task for
the @NotNull annotation and is designed in a flexible way to be extended to support
further checks (like array indexes).

Donnerstag, 19. April 12


specifications
annotations
assertions
exceptions

Library that provides access to a large variety


of pre- and postconditions.

Violations result in detailed failure descriptions.

Comes with support for annotations like:

@NotNull @Ascii
@MinSize(min = 5) @Positive
@ContainsKey(key = “foo”)

@WritableDirectory
Donnerstag, 19. April 12
08
09 /**
10 * @throws NullPointerException if parameter <code>a</code> is <code>null</code>.
11 *
12 */ specifications
13 public final @NotNull @Positive Integer bar(final @NotNull String a, final String b) { annotations
14 String s = a; assertions
exceptions
15
16 if (foo(a)) {
17 s = b;
18 }
19
20 return s.length();
21 } Potential null pointer access: the variable 's' may be null at this location.
22

Track potential violations.


23

08
09 /**
10 * @throws NullPointerException if parameter <code>a</code> is <code>null</code>.
11 *
12 */
13 public final @NotNull @Positive Integer bar(final @NotNull String a, final String b) {
14 String s = a;
15
16 if (foo(a)) {

Offer Quick Fix for


17 s = b;
18 }
19
20 return s.length();

missing checks.
21 }
22 @ Add @NotNull to parameter 'b'.
23 @ Add @NotNull to local variable 's'.
J!
@ Surround with null pointer check.
@
Add @SuppressWarnings 'null' to 'bar()'
08 /**
09 * @throws NullPointerException if parameter <code>a</code> is <code>null</code>
10 * or if parameter <code>b</code> is <code>null</code>.
11 *
12 */
13 public final @NotNull @Positive Integer bar(final @NotNull String a, final @NotNull String b) {
14 String s = a;
15
16 if (foo(a)) {
17 s = b;
18
19
20
}

return s.length();
Document Pre-/
Postconditions.
21 }
22
23

Donnerstag, 19. April 12


Markerless Motion Capture: Meta-data and more
Organization: MPI
Contact: Nils Hasler, Gaurav Bharaj

We are working on Markerless Motion Capture, Dynamic 3D Scene Reconstruction, and


Video Editing projects, to name just a few. All of these applications have in common that
tremendous amounts of video data are required as input. Storing, organising, and
processing the multi- view data is a challenge we are struggling with at the moment.

A flexible and extensible framework that would allow us to tag videos with meta data,
provide a search interface, and a way to automate as many of the preprocessing steps as
possible would greatly improve the productivity of the entire Vision, Video & Graphics
group at the MPI Informatik.

Donnerstag, 19. April 12


Donnerstag, 19. April 12
ThreeDeeCity:
3D Meshes from Android phone videos
Organization: MPI
Contact: Art Tevs

An app (running on Android of course :) ) which creates 3D meshes from videos you take
during a walk through the city. A user first makes a video of a short walk through the city.
This video is then analyzed with structure-from-motion algorithms in order to detect and
track feature points. Afterwards the textures are extracted from the video streams and
projected back to those planes, making the 3D approximation of the city environment
complete.

One important point here, is that the processing power of a phone might be not enough.
Students might think about (or better they should do this) to port the processing part of
the work to a server. Hence the phone just uploads the video to the server, which is then
processed there.

Donnerstag, 19. April 12


Approximated  3D  reconstruction  of  typical  city’s  streets

Common look of these streets


Your Job: develop an (Android) App,
which takes as input a video sequence
of such a street and computes planes
or  a  box  approximating  street’s    
geometry. Planes should be placed in a
global coordinate system (at least GPS
accuracy).
A straight street can be approximated
by three planes or a lengthy box.
Donnerstag, 19. April 12
Approximated  3D  reconstruction  of  typical  city’s  streets

Possible Applications

• Research interests
• Just to answer the question if and how well this is doable

• Augmented Reality
• Wear Google-Glasses and project ads directly onto
building facades

• Navigation of drones or quadrocopters in city


environment
• Maybe useful for surveillance, hence not sure if this is a
right thing to work on 

Donnerstag, 19. April 12


Approximated  3D  reconstruction  of  typical  city’s  streets

Requirements:
• The App must deal with limited hardware resources: cheap Android-Device or comparable
embedded hardware (max 1GHz 32bit CPU, 512MB RAM, limited network bandwidth)
• The resulting geometry must be delivered with at least GPS accuracy (better if you can improve the
accuracy to several centimeters)
• Try  to  be  as  robust  as  possible,  to  avoid  clutter  introduced  by  people,  cars,  trees,  obstacles,  …
• Implement a library layer with a nice API, so that the main algorithm is usable without the app
• Try to make it as real-time as possible
• Implement in C/C++ (Android-NDK) or Java (Android-SDK)

You would need to:


• Not be afraid of looking into research papers on corresponding computer vision topics
• Make familiar with structure from motion approaches and vision topics, i.e., Bundler, OpenCV
• Make familiar with programming on limited devices

Additional points to consider:


• Is it possible to compute finer geometry, rather then few planes?
• Can we extract from the video footage the corresponding texture for the geometry?
• What are other possible applications?

Donnerstag, 19. April 12


Pipelines for video processing
Organization: MPI
Contact: Miguel Granados

For speeding up our research in advanced video processing, we would like to develop an
user interface for performing common operations in video.

In our projects, we often make use of different tools for various image and video
processing tasks, but these tools are unaware of each other and we often spend a lot of
time connecting outputs to inputs and providing configuration parameters. We would like
to have an interface where we can draw a graph representing the work flow of a video
processing pipeline, where the nodes represent operations, and the edges represent
connections between inputs and outputs. The project would involve developing the user
interface for editing the graph, an specification for storing the graph, and an programming
interface specification for defining the interface between the external tools and the user
interface, and for defining the format of the inputs and outputs.

Donnerstag, 19. April 12


Pipeline editor for advanced video
processing
● Recurring problem in research
● Several command-line programs and libraries work on the same type
input (videos)
● Format of input, output, and options not standardized
● Thus, lots of research time wasted in performing I/O conversion
● Effect of using different input, algorithms or options not interactive
● Solution?
● A common plug-in interface where programs can connect to receive
input, output, and options
● A common interface to provide and receive inputs and outputs
● An interactive interface for connecting inputs to programs and
visualizing the result

Donnerstag, 19. April 12


Examples of similar software

LabView by Matworks KNIME Reporter by KNIME


For signal processing For data mining

Donnerstag, 19. April 12


Graph Editor for Syntactic and Semantic
Annotation of Natural Language
Organization: CoLi
Contact: Yi Zhang

We (computational linguists) are interested in the syntactic and semantic structures of


natural language. There are several graph-based representations for various levels of
linguistic structures, and plenty of existing annotated corpora. But we lack a GUI tool that
can not only visualize the existing annotations, but also allows incremental edits
(corrections) to be made onto multiple levels of the annotated structures.

An intuitive user interface will allow us to explain the annotations to the non-experts, while
a careful design of the data storage scheme will keep the necessary linguistic details.
Several existing pieces of software can already achieve bits and pieces of the
functionalities we want, and can serve as the starting points for this project. But an
integrated redesign of the editor architecture is desirable.

Donnerstag, 19. April 12


Salvaging @nnotate
Once upon a time . . .
I @nnotate was a
sophisticated tool
designed for syntactic
annotation of natural
language sentences
I One of the best
platform for
large-scale treebank
development

But . . .
I It no longer compiles out-of-box due to dependency on
deprecated libraries
I Software documentation is incomplete
I Maintainance and support have long stopped

Donnerstag, 19. April 12


Goals

I Evaluate the exact “code rot” situation


I Re-identify the core functionalities
I Produce a salvage plan
I Bringing basic functionalities back
I Software documentation

More info about @nnotate can be found at


http://www.coli.uni-saarland.de/projects/sfb378/
negra-corpus/annotate.html

Yi Zhang <yzhang@coli.uni-sb.de>

Donnerstag, 19. April 12


Shape analysis:
Exploring shape and posture variations
Organization: MMCI
Contact: Stefanie Wuhrer

We currently have access to a database of registered full human body scans. We are
interested in a graphical user interface that allows us to explore the shape and posture
variations present in the database. More specifically, the shape and posture variations
should be decoupled by modeling the transformation of each triangle as a transformation
related to shape followed by a transformation related to posture.

The shape and posture transformations can then be analyzed separately using principal
component analysis (we have C++ code available for this). Once these computations are
completed, we would like to be able to interactively explore the main components of the
shape and posture variations in a graphical user interface. Ideally, the code should be
written in C++ and compile using Microsoft Visual Studio 2010.

Donnerstag, 19. April 12


Stefanie Wuhrer, MMCI Independent Research Group “Non-Rigid Shape Analysis”

Project Idea for Software Engineering Course SS 2012

We are interested in analyzing non-rigid shapes


In this project, we are interested in computing and
visualizing statistical properties of human shapes
We have access to a parameterized database of 3D
human models

Donnerstag, 19. April 12


Open3dMap:
Crowd-sourced peer-to-peer 3D mapping
Organization: DFKI
Contact: Sebastian Wendland

OpenStreetMap has used CrowdSourcing to create some of the best 2D-maps of our
planet. We now plan to extend OSM into a 3D model that can easily be updated and
improved by anyone.

Challenge: Is it possible to combine the distributed, ad-hoc nature of P2P with the low-
latency, high-throughput capabilities of CDNs and the independence of mirrors, while
providing unique URLs, all in the spirit of CrowdSourcing?

Donnerstag, 19. April 12


3D Internet

OSM OSM-3D

Donnerstag, 19. April 12


Problem:
No existing storage system fulfills the requirements
of OSM-3D:
‣ Billions of objects totaling in the petabyte range
‣ Unique address for each object
‣ Open, free and community driven architecture

Challenge:
Develop a storage system that combines:
‣ The simplicity and ease of use of mirrors
‣ The ad-hoc nature of P2P networks
‣ With the speed of CDNs
Donnerstag, 19. April 12
Type-checks to enforce resource-aware policies on
cryptographic protocols
Organization: Cryptography Chair
Contact: Fabienne Eigner

Most online services rely on the use of cryptographic protocols: we all want to be assured
that credit card information sent to Amazon is 'safe' and that the card is only charged if
we actually buy something. We also want to be sure that if we buy a DVD, Amazon
charges our card only once.

These kind of security properties can be expressed using 'authorization policies'. Proving
that a protocol adheres to a specific policy by hand is a mess! Type systems (known from
programming languages) have been discovered to be useful tools to enforce authorization
policies.

The last of the previous examples ('buy one, pay one') has been out of the scope of
existing type systems. We have developed a new type system for this class of security
properties, and are looking for your help to implement the system as an automated type-
checker.

Donnerstag, 19. April 12


The Language-based Security Group:
About us
People:
Dr. Matteo Maffei (Head of the group)
Fabienne Eigner (PhD student and project advisor)
eigner@cs.uni-saarland.de
Research interests of LBS:
cryptographic protocols
formal methods
program analysis
semantics of programming languages
type theory
concurrency theory
security of distributed systems

Find us at http://www.lbs.cs.uni-saarland.de
anguage-based security group
Donnerstag, 19. April 12
Buy one, pay one: A type-checker to enforce
resource-aware policies on cryptographic protocols
Most online services rely on the use of cryptographic protocols:
imagine you want to buy a CD from Amazon
the cryptographic protocol should ensure that:
My credit card is charged
i t c a rd only when I buy something!
c r e d
My a fe '!
i s' s
in fo If I buy one cd, Amazon
charges my card only once!

Authorization policies can be used to express these kind of


security properties using logical formulas

WE: developed a new type system which can be used to


show that a protocol fulfills such an authorization policy
YOU: implement the system as an automated type-checker

anguage-based security group


Donnerstag, 19. April 12
Making statistical queries on databases safe:
Type-checking for differential privacy
Organization: Cryptography Chair
Contact: Fabienne Eigner

How many students in Programming 1 got an 'A' in their midterm? How many people in
Germany suffer from diabetes, and how many of them are members of your insurance?

Such statistical information about data collected in databases is often released to the
public. On the one hand, disclosing this kind of information is often desirable for analyzing
trends, performing marketing studies, or conducting research. On the other hand, this
information leakage may also seriously compromise the privacy of the entries in the
databases. For instance, releasing information about whether or not Peter got an 'A' in
the midterm would clearly not be considered as a 'safe' query.
The notion of differential privacy is a well-established concept to define the safety of such
statistical queries.

We have developed a type system that can be used to prove that a query is differentially
private and are now looking for a team that helps us implement the system as an
automated type-checker.

Donnerstag, 19. April 12


Making statistical queries on databases safe:
A type-checker for differential privacy
Databases are everywhere!
Releasing statistical information about their content is often
desirable:
How many people in Germany
How many suffer from diabetes?
students in Prog 1
got an 'A' in their
midterm? How many of them are
members of your insurance?

Differential privacy measures the safety of such a query


("how much information about a specific entry is leaked")

WE: developed a type system that can be used to enforce


that a query is differentially private
YOU: implement the system as an automated type-checker

anguage-based security group


Donnerstag, 19. April 12
Database
for Lipid Imaging Mass Spectrometry Data
Organization: Bioanalytical Chemistry
Contact: David Gode

Current databases such as the Human Metabolome database or Lipid Maps do provide
detailed information on target compounds such as molecular structure, exact mass,
PubChem or the Independent Chemical Identifier (InChI) etc. No information, however, is
available on the nature of the experimental determination of the compounds from
biological samples. A thorough literature search is essential for scientists in these cases –
a task that can be very challenging, additionally complicated by the rapidly growing
number of publications.
This challenge is easier accomplished for new scientific fields because of the limited
number of relevant papers. Imaging mass spectrometry is a relatively young discipline,
being an ideal test ground for a new database, which does not yet exist but is urgently
needed. This new field allows us to exhaustively cover the entire available literature and
develop a state-of-the-art database.
It is vital to implement an interface for automated searching and importation of citation
data based on the DOI (digital object identifier) system. The database should be rolled out
at first as an intranet version but should offer the flexibility to be adapted for web-based
use in the future.

Donnerstag, 19. April 12


Complexity of IMS and the resulting data
Anatomical structure
Spatially distinct changes in
correlation with a disease

Effect of matrix substance,


additives, organic solvent

PI(20:2/18:3)

Effect of coating technique

Effect of sample treatment

Structure identifiers,
systematic and common
names, exact mass,
category/main class/
sub class,  …

Donnerstag, 19. April 12


Project Proposal
Software Engineering SS 2012
 A database that contains and connects all available experimental and biological
information related to lipid species would greatly help the planning of experiments.

 Imaging mass spectrometry (IMS) is a young discipline, being an ideal test ground for
a new database.

Milestones:
• Discussion of reasonable relations of data and overall design aspects.

• Programming of a database that allows web-based use in the future.

• Implementation of the DOI system for automated import of citation data.

• Assessing the feasibility of implementing bioinformatics tools available from


lipidmaps.

• Implementation of an auto-complete function from database content.

Donnerstag, 19. April 12


Integration of Robotic Mapping
in the NIFTi project with Google maps
Organization: DFKI / Language Technology
Contact: Shanker Keshavdas

In our project NIFTi (www.nifti.eu), we use a robot to maneuver through Urban Search and
Rescue (USAR) environments to help firefighters find and rescue victims. We would like
the information to be gathered by the robot to be integrated with real-time geo-spatial
information from Google map services to get a better understanding of the rescue
scenario. We have a basic system that can be used to convert geo-referenced data from
the robot in ROS (a robot middleware), into the KLM format and Google Fusion tables
that can be displayed on Google Maps and Google Earth respectively.

We would like
1. To convert more data structures from ROS into either/both KLM data or/and Google
Fusion Tables.
2. To have a simple GUI that can display and modify this data.
3. To bring more autonomy in the system by considering problems in connection/data
loss etc.
4. If time permits, to make this into an android application. Perhaps even start by making
it an android application.

Donnerstag, 19. April 12


Integration of Robotic Mapping With Google Maps/Earth
Current System

ROS Google KML file / Google Google Earth


Robot ROS Server
Maps component Fusion tables / Maps

Mapping data

ROS : Robotic Operating System (www.ros.org)


• Open source meta-operating system used for communication between robots and related devices
and software
• Extensive documentation and start up tutorials available

• Only necessary to know the message subscription/publishing system

• Working language : C++

• “ROS Google maps component” is at an initial working stage

ROS Google maps component


• Reads relevant messages from ROS Server
• Writes output to KLM file / Google fusion tables

KML data / Google Fusion tables


• KML (Keyhole Markup Language) is a file format to display geographical data on geographical
browsers such as Google Maps, Google Earth and Open Street Maps
• Google Fusion tables is a data management tool used to visualize charts, graphs and even KML

data

Donnerstag, 19. April 12


Integration of Robotic Mapping With Google Maps/Earth
Proposed System

Google Maps/
ROS Google Earth /
Robot ROS Server
Maps component Open street maps
application
Mapping data Convert more
ROS messages
/ data structures
Improved
communication
Read and convert more ROS messages
• Read geographical messages in ROS and visualize them appropriately
• Example: Waypoints, Specific areas, Markers etc.

GUI that can display the geographical data


● You can use Google Maps/ Earth API or Open street maps API or any other Geographical
Information System
● Simple visualization options (hide/select etc.)

● Warning: These APIs may be in other languages (not C++), which means they may not be easily

configurable with the ROS component


Improve autonomy in communication
● Consider signal strength / loss in data etc.

Portability to android devices


● A solution with portability to android devices would be an added extra, but not a necessity.

Donnerstag, 19. April 12


HBKsaar: Visual Arts Scheduling Software
Organization: Academy of Fine Arts Saar / Digital Media
Contact: Prof. Dr. Burkhard Detzler

The media gallery of the Academy of Fine Arts Saar offers artists and researchers a
unique opportunity to explore the cultural constitution of (public) space. Designed as a
media facade as well as an interactive audio-visual environment, the screen serves as an
experimental site of projection as well as reflection, an instrument both to create and
conceptually explore new forms of aesthetic communication.

On a regular basis, artists and researchers are invited to create their own iteration of the
general curatorial perspective.

The goal of this project is to create a management software for scheduling what videos
are displayed on what video screens at what time.

Donnerstag, 19. April 12


HBKsaar: Visual Arts Scheduling Software

Donnerstag, 19. April 12


Dynamic MapReduce Cluster Management Tool

Organization: Information Systems Chair


Contact: Jorge Quiane

Our group is doing research on distributed database systems. For this, we need to run
experiments on a cluster of servers. Since we have only one cluster but multiple people
who want to run experiments for different projects, we need a way to schedule and
coordinate the usage of the cluster.

Additionally, setting up and configuring the cluster for experiments is currently very painful,
because one typically needs to write a certain number of scripts and edit many XML
configuration files for each node. We want a nice GUI that allows us to control and
configure the cluster.

The focus here is on Hadoop, but it should be generic enough to be extendable for other
distributed systems. In contrast to existing solutions, the tool you create should allow
multiple users to reserve nodes for a certain time slot and to see who currently holds a
reservation on a node.

Donnerstag, 19. April 12


Dynamic MapReduce Cluster Management
Present Hein men! When is
my turn?
Conf files
I will configure five
nodes this week
OK, I will free
those nodes as
But, I think have soon as possible
reserved those
nodes before

Scripts ISG Cluster

Jorge’s Cluster
Future
Jens’ Cluster
Free Nodes Configure
Stop Jorge’s conf

Reserve
Default conf
Add

Information System Group


Donnerstag, 19. April 12
Databases Benchmark Running Framework
Organization: Information Systems Chair
Contact: Jorge Quiane

Our group is doing research on distributed database systems. For this, we need to run
experiments on a cluster of servers. Since we have only one cluster but multiple people
who want to run experiments for different projects, we need a way to schedule and
coordinate the usage of the cluster.

Additionally, setting up and configuring the cluster for experiments is currently very painful,
because one typically needs to write a certain number of scripts and edit many XML
configuration files for each node. We want a nice GUI that allows us to control and
configure the cluster.

The focus here is on Hadoop, but it should be generic enough to be extendable for other
distributed systems. In contrast to existing solutions, the tool you create should allow
multiple users to reserve nodes for a certain time slot and to see who currently holds a
reservation on a node.

Donnerstag, 19. April 12


Benchmarking Running Framework
Present
We need to run log-
OMG, I have to
visualise all those • Several benchmarks
results in the paper!
processing and SSB
benchmarks for our project • Several systems
• Many possible setups
In that case, we also need
to run some TPC-H
benchmarks
Yes, but also for
Hadoop and Postgres Easily execute experiments
and produce graphs for each
possible experimental setup!

Future
2500
Hadoop Hadoop++(256MB)
HadoopDB Hadoop++(1GB)

2000

runtime [seconds]
1500

1000

500

0
10 nodes 50 nodes 100 nodes

benchmarks
Hadoop Hadoop++(256MB)
140 HadoopDB Hadoop++(1GB)
HadoopDB Chunks
120

systems

runtime [seconds]
100

80

60

schedule experiments 40

20

0
10 nodes 50 nodes 100 nodes

BenchFramework
Information System Group
Donnerstag, 19. April 12
Part 2 from Thursday, 18 April 2012

Donnerstag, 19. April 12


Tag It: Environmental tagging for Android phones
Organization: MPI
Contact: Art Tevs

Tag your environment (real world) with some text snippets or url links. This should be
implemented as an app running on Android. A user, who would like place a tag, starts the
app and aims with his phone on anything in his environment.

A second user, who would like to find such a tag, just need to go to the stored GPS
coordinates and use his phone to look around for the tags. The phone app should be
able in realtime to compare the feature points coming from the phone's camera with
those found in the online database. Whenever the match is found, the tag is displayed.

You can think on this idea as a modern "Schnitzeljagd".

Donnerstag, 19. April 12


A modern Schnitzeljagd-App

Upload to DB with Somebody else will


Shoot a picture (uncertain) localization look for it, by pointing
information the phone around

Your Job: develop an Android App, which takes a picture and put
all information required to describe that picture together with
uncertain localization information to a database. Another person
can point around with the phone in order to find the object taken
with the picture again.
You tag It - They look for It !

Donnerstag, 19. April 12


A modern Schnitzeljagd App

Requirements:
• The app must deal with limited hardware resources: cheap Android-Device phones
• The app must be as robust as possible, i.e., almost no false-positives !!!
• Try to make it as real-time as possible
• Implement in C/C++ (Android-NDK) or Java (Android-SDK)

You would need to:


• Not be afraid of looking into research papers on corresponding computer vision topics
• Make familiar with image registration, feature matching, bags of features, etc., (OpenCV)
• Make familiar with programming on limited devices

Additional points to consider:


• You might incorporate orientation sensors found on Android phones
• What are other possible applications?

Donnerstag, 19. April 12


Intelligent Road Sign
Organization: DFKI
Contact: M. Mehdi Moniri

We want to develop a road sing which enables the vehicles to compute their position and
orientation relative to it. The Vehicle then transmits this information to the road sign, so
that they both can reconstruct the road situation in real time.

This task can be divided into different work packages:

- calculation of the position and orientation in real time


(using available technologies like AR Tags)
- managing the communication between the road sign and the vehicle
- reconstructing the 3D road situation in real time

Donnerstag, 19. April 12


Intelligent Road Sign

  Organization: Automotive Intelligent User Interface, DFKI

A road sing which enables the vehicles to compute their


position and orientation relative to it. The Vehicle
transmits this information to the road sign, so that they
both can reconstruct the road situation in real time.

This task can be divided into different work packages:


- calculation of the position and orientation in real time
(using available technologies like AR Tags)
- managing the communication between the road sign
and the vehicle
- reconstructing the 3D road situation in real time
C. Müller

Donnerstag, 19. April 12


Intelligent Road Sign

Camera

3D reconstruction!

Tests on the Campus with our cars!

Contact: M. Mehdi Moniri


C. Müller

Donnerstag, 19. April 12


Extending I, Librarian
Organization: Compiler Construction Chair
Contact: Christoph Mallon

"I, Librarian" is an application to build an annotated library of PDFs. Its roots are in
bioinformations and we would like to have some extensions to make it more suitable for
us. One important feature is to hand it a PDF and have its meta-information extracted
automatically. There is some support to determine the DOI of a PDF, but I currently cannot
handle cases, which are important to us.

For example, it should detect that a PDF was published at ACM and make a query there
to determine its DOI and other meta-information to fill in information for its database. The
same should be done for IEEE, Springerlink and other sources.

Donnerstag, 19. April 12


What is I, Librarian?

I I, Librarian is a PDF organizer


I Hand it papers, annotate them
I It can automatically fetch them (given DOI) and extract
certain information, too
I Stored papers can be searched using di↵erent criteria
I A group of people can share their e↵orts to preprocess
literature

Donnerstag, 19. April 12


What needs to be done?
I Automatic extraction works well for PubMed, but we need
ACM, IEEE, Springerlink
I This includes fetching the paper given a DOI, extracting
metainformation. . .
I Some bugs need to be fixed
I RIS epxort works, BibTEX gives empty result
I Giving it a DOI works, a DOI-URL results in an exception
I Metainformation is not always correctly extracted (e.g. wrong
publishing date)
I Some features would be nice
I If paper has no keywords, check for occurance of known
keywords in the paper and make suggestions
I Show BibTEX entry on the page about the paper to ease
getting it (currently only download as file is available)
I Reimplement batch import for papers (currently only works for
localhost or needs Flash)

Donnerstag, 19. April 12


Advanced Automatic
Repository Creation for Redmine
Organization: Intel Visual Computing Institute
Contact: Frank Wassmuth

Redmine is a flexible project management web application using the Ruby on Rails
framework. It is cross-platform and cross-database. The Intel Visual Computing Institute
uses Redmine to keep track of its various software and documentation projects.

After creation of a new project Redmine can automatically create a version controlled
repository out of the box. However this automatic creation is rather inflexible. The type of
the repository (Subversion / Git / Mercurial / ...) is fixed by the system administrator
beforehand. Users cannot choose their desired flavor of version control. Your job is to
extend Redmine's functionality to enable users to choose their desired brand of version
control, as well as enable the backend scripts to create repositories according to the
user's choice.

Donnerstag, 19. April 12


Advanced  Automa-c  Repository  Crea-on  for  Redmine

Uses  Ruby  on  Rails  framework


Support  for  many  SCM  systems  out  of  the  box
Limited  support  for  automa-c  crea-on  of  repositories
SCM  Flavor  fixed  by  system  administrator
Some-mes  users  want  to  use  uncommon  SCMs
(e.g.  Darcs)

Donnerstag, 19. April 12


Your  Job  /  What  to  do

Enable  Redmine
to  retrieve  the  user‘s  desired  SCM  flavor
to  create  a  corresponding  repository

This  includes:
Update  graphical  user  interface
Extend  backend  database  schema
Extend  repository  crea-on  scripts
Enable  the  administrator  to  configure  certain  aspects  of  repository  
crea-on
...

Donnerstag, 19. April 12


You Don't Know Your Code:
Programming for Pupils
Organization: Computer Science Dept.
Contact: Karim Rezeg

We would like to create a community-oriented programming system. Pupils get


programming challenges over the web, can submit their programs, have them
automatically tested and get skill points for it or can review each other‘s programs.

Requirements include:

• Web frontend where pupils can upload their code, receive funny and motivating results,
see a high score and can compete with each other

• Backend which enables the tutor team to create challenges and change the text of the
test results in a way that the automatically generated feedback is funny and motivating
at the same time

• To adopt open source software system (Praktomat?) which receives source code for
different assignments and tests the code automatically on functionality and software
engineering criteria

Donnerstag, 19. April 12


Programming)for)pupils))

YOUR CODE

Donnerstag, 19. April 12


they competed
of early review
The students t
some students
their reviewers
ing the course
least one revie
of 275 reviews

6 Evaluatio
From the stude
success. In th
judge whether
ity of their pro

57.7% confi
(and an addi
61.5% confi
ing program
confirmed th
63.5% confi
grams read
Donnerstag, 19. April 12 Figure 2: Mutual reviewing in Praktomat
Programming)for)pupils)
We would like to create a community-oriented programming system. Pupils
get programming challenges over the web, can submit their programs, have
them automatically tested and get skill points for it or can review each
other‘s programs.
Organization:
•  Computer Science Department
•  Cluster of Excellence

Contact:
•  Karim Rezeg – responsible for MMCI Special Missions
<krezeg@mmci.uni-saarland.de>

Donnerstag, 19. April 12


Requirements)
!!
•  web$frontend!where!pupils!can!
upload!their!code,!receive!funny!and!
mo7va7ng!results,!see!a!high!score!and!
can!compete!with!each!other!
•  backend!which!enables!the!tutor!
team!to$create$challenges$and!change!
the!text!of!the!test!results!in!a!way!that!
the!automa7cally!generated!feedback!is!
funny!and!mo7va7ng!at!the!same!7me!
•  to$adopt$open$source$so4ware$
system$(Praktomat?)$which!receives!
source!code!for!different!assignments!
and!tests$the$code$automa;cally!on!
func7onality!and!so=ware!engineering!
criteria!
!
Donnerstag, 19. April 12
Visualization of an adaptive
hybrid error coding scheme
Organization: Telecommunications Lab.
Contact: Manuel Gorius

The telecommunications lab has developed media transport protocols operating an


Internet channel very near to its theoretical limits. To achieve this, the parameters of a
hybrid error coding scheme have to be continuously calculated and dynamically adapted.

Your task will be to design and implement a user interface for the calculation of the
parameter sets. It will comprise plausibility and eligibility checking of the input (which is
the channel state information), validity of the output and visualization of the output for
different channel states. The visualization (graphically or in tables) should include a sorting
so that similar inputs and or similar outputs can be grouped and potential correlations can
be detected.

Donnerstag, 19. April 12


Predictable Reliability
Motivation
‣ IP media delivery: strict time
constraint but loss-tolerance
RTT Ts
‣ Spend application’s time budget
“predictably”
Dt
Timing Model

Predictably Reliable
Manuel Gorius
gorius@nt.uni- Protocol ... Pt Pres
saarland.de


Reliability Model
... meets delay constraint (Dt) ...
Thorsten Herfet
herfet@nt.uni-
saarland.de
‣ ... and reliability constraint
(Pt) ...
Pe Channel
Model

‣ ... under current RTT, packet


loss rate (Pe), packet interval Efficiency Model
RI
Telecommunicati
ons Lab (TS) ...


www.nt.uni-
saarland.de ... with minimum redundancy
information (RI) and residual
erasure rate (Pres)
87
Donnerstag, 19. April 12
Predictably Reliable Real-time

Parameter
Calculation NACK
Data Data
Source Sink

Manuel Gorius
gorius@nt.uni-
saarland.de k k

Thorsten Herfet
herfet@nt.uni-
saarland.de Packet-level Packet-level
Packet Loss
FEC Encoder FEC Decoder

Telecommunicati
ons Lab
Dtarget
www.nt.uni-
saarland.de

88
Donnerstag, 19. April 12
Visualization of Open Street Map Routing Services
Organization: MPI Informatics
Contact: Adrian Neumann

In the Algorithm Engineering lecture the students will write algorithms


to quickly find fastest paths in Open Street Map data. They are asked to
agree among themselves on a common API for their software.

Your job will be to use (and criticize!) this API to write a graphical
front-end that supports requests a la Google Maps. How exactly you
realize this, with a website, a desktop application or even something
for mobile devices, is mostly up to you. We believe the hard part will
be the coordination with the students from the Algorithm Engineering course.

It is strongly preferred that you *don't* participate in the Algorithm


Engineering lecture simultaneously.

Donnerstag, 19. April 12











Donnerstag, 19. April 12

You might also like