Which is better software engineering or CA.
(Application) projects SE in the summer semester 2021
The projects offered in summer semester 2021 are briefly described on this page. No distinction is made between Bachelor and Master projects, as we allow mixed groups.
If you would like to take one of the projects listed below in the next semester, please send an email to Alexander Raschke by February 24th, 21st with your priorities.
Since we have a lot of projects this time, I've given them letters to make them easier to identify. Please also include this in the mail!
If you have any questions about the projects, please also contact Alexander Raschke.
Further information for the software engineering course
A gallery of previous projects can be found here: Previous SE projects
A: Development of Eclipse Plug-Ins (FeatureIDE)
FeatureIDE is an Eclipse-based IDE for feature-oriented software development, which is used worldwide in research and industry. As part of the project, your FeatureIDE is expanding and is based on the existing code base of around 500,000 lines. You can find more information on the project website. On the Youtube channel for the project you can take a look at some functions, some of which were developed in team projects. You can find the result of the last SE project here.
- Knowledge of modern, advanced programming paradigms with a focus on creating customized systems
- Experience in developing plug-ins for Eclipse
- Participation in an open source project used worldwide
- Agile software development in pair programming style
- Version management with Git in practice
- Tobias Heß, Inst. For software technology and programming languages
- Chico Sundermann, Inst. For software technology and programming languages
- Prof. Dr. Thomas Thüm, Inst. For software technology and programming languages
In science, it is common to begin a new project, thesis or publication with an extensive literature research in order to get an overview of the research field and related work. This research can be done either unsystematically or systematically. The systematic approach is commonly referred to as Systematic Literature Review, or SLR for short. There are various methods, such as Systematic Database Query or Snowballing, which are often combined. In the case of snowballing, starting with an initial set of papers, cited and referencing papers are recorded in several iterations. The papers found are rated with regard to the topics they dealt with, whether they stay in the crowd or not.
So far, this process has involved a lot of manual work, as all the necessary data has to be compiled by hand. As part of this project, a freely accessible application is to be created that supports researchers (but also students) in collaboratively carrying out an SLR using snowballing. Various freely accessible literature databases, such as CrossRef, OCI or SemanticScholar, should be queried and the data obtained should be merged. The manual input of papers or their metadata should also be possible. Finally, all persons involved should have the opportunity to evaluate and / or discuss the recorded papers.
So far, initial experience has already been gained with a research prototype for the automatic recording of references and citations from publications.
- Good programming skills in current web technologies for developing a client-server application.
C: App for the University of Ulm
In this project, the existing app for the University of Ulm is to be further developed. Various information / applications can be integrated into it, e.g .:
- Room search
- Indoor navigation
The last point in particular includes many aspects that need to be clarified: Which sensors can be used (WLAN, image recognition, QR codes, position sensor ...), which cards can be used? What additional information can be attached where via QR codes and / or image recognition? (Timetables, office hours, e-mail addresses, etc.)
The backend is written in PHP / Laravel, the Android app in Java / Kotlin and iOS in Swift 4.
In the next semester, the navigation in particular will be improved.
(see also: http://uniapp.informatik.uni-ulm.de)
Probably everyone has had to create graphic models as part of their studies. Class diagrams, ER diagrams, state machines or sequence diagrams are popular. There are also a large number of modeling tools for this, whereby the usability usually "takes getting used to". One of the reasons for this is that many modeling tools only allow the creation of correct models. This means that e.g. arrows must always be connected to a start and end node. However, this type of modeling often restricts or makes the operation more cumbersome.
This restriction does not exist in graphic drawing tools such as Illustrator, Inkscape but also Powerpoint. However, the drawn shapes cannot be recognized as model elements and, if necessary, further processed. One idea to counter this problem is so-called "Relaxed Conformance Editing", which, as the name suggests, does not always require meta-model-compliant graphic representations.
As part of a master's thesis, an implementation of the concepts of Relaxed Conformance Editing was created. This implementation, called CouchEdit, consists of a backend, which implements the basic concepts, and a prototypical frontend, which is used to demonstrate the functions of the backend. This backend takes any graphic elements and tries to abstract or parse the model from them, e.g. by considering spatial positions to each other.
In this project, the development of CouchEdit, especially the graphical front end, is to be continued. It should be implemented as a web application using appropriate open source frameworks (e.g. https://github.com/jgraph/drawio).
- Good programming skills in a JVM-based language, preferably Kotlin (for connection to the backend)
E: Constraint Handling Rules for Python
Constraint Handling Rules (CHR) is a declarative programming language that was originally developed for the implementation of constraint solvers (programs that simplify and process information in the form of logical statements). CHR is not an independent programming language, but is always embedded in another language. The best-known example of this is Prolog, although CHR is also available for Java, C or Haskell. With a CHR implementation for a language, constraint programming can be operated with this very easily, and many problems can thus be solved in the most elegant way.
The good thing about CHR: the language is very simple and can be implemented comparatively easily for another language.
As part of the project, CHR is therefore to be implemented for the popular Python scripting language. For this purpose, a runtime environment for CHR must be implemented in Python, and CHR as (Embedded) Domain Specific Language ((E) DSL) either directly embedded in Python or translated to Python code.
- Deep insights into how declarative programming languages work
- Practical experience in the design of programming languages and (E) DSLs
- Practical experience in agile software development
- As a finished artifact: CHR (Python) as a useful tool for everyday programming
- Lecture "Paradigms of Programming"
- Good programming skills in Python
- Interest in declarative programming languages
Q: Performance dashboard
In computer science there are many areas in which models are used, for example to describe complex software systems in an abstract way. If these models are to be updated, for example because a software component has been renamed, the affected models do not have to be updated manually, but can be updated automatically using so-called transformations. To describe the task of a transformation, model transformation languages are used that contain special language concepts in order to be able to describe changes to models as comfortably as possible.
Unfortunately, transformations, similar to programs in Java, can lead to performance problems. Currently available profilers for model transformation languages provide information that is difficult to interpret for users without expert knowledge of language details.
As part of the project, a performance dashboard is to be developed for the model transformation language ATL, which also helps users without expert knowledge to identify the causes of performance problems. This includes a backend that collects information about the execution of a transformation at runtime and a frontend that makes the collected information available in a processed form.
There is an Eclipse plug-in for the model transformation language ATL, which is to be expanded with the help of the Kieker monitoring framework. The project participants are free to choose the front-end technology, with the restriction that a user can start the dashboard from Eclipse.
- Good programming skills in Java, especially in the context of developing Eclipse plugins
- ATL: https://www.eclipse.org/atl/
- ATL Profiler: https://wiki.eclipse.org/ATL_3.1.0_New_and_Noteworthy#profiler
- Kieker: http://kieker-monitoring.net/
- Isaacs, K. E., Giménez, A., Jusufi, I., Gamblin, T., Bhatele, A., Schulz, M., Hamann, B., & Bremer, P. T. (2014, June). State of the Art of Performance Visualization. In EuroVis (STARs).
G: Hybrid app for construction site documentation
With the 3D showroom, immersight is developing a cloud solution for virtual exhibitions. This can be used via the native 3D showroom apps on Win, iOS and Android.
Immersight has also been developing the 3D workroom for a year. There is currently no app for this application. The projects in the 3D workroom are used for construction site documentation and communication. This means that different employees of a construction company take photos of the construction progress with their smartphones at different times and then load these recordings into the project via the web browser.
Now an app is to be developed for the 3D workroom. This should be implemented as a hybrid application, possibly as a progressive web app. The goal is an app that authenticates itself on the server using a user account and then synchronizes all projects (photos) available to the user. The app should contain as little logic as possible so that the maintenance effort required is as low as possible. Ideally it is a kind of cache of the web server. The user can use the app to create recordings with the camera of his smartphone and assign them to a project. The new information is loaded implicitly on the server and the current project status is updated.
The focus is on developing an app for iOS and Android which, using the latest technologies for hybrid implementation, with minimal logic and data storage, enables full use of the projects stored on the server, as well as the addition of new recordings. The server for the app (s) is already available and can be addressed via the web API.
H: Conception and implementation of a digital visitor list
External visitors who visit a location of eXXcellent solutions GmbH must enter themselves in a paper list on their arrival. This is now to be digitized as part of this project.
The new "digital visitor list" should be accessible via a tablet and can be easily integrated into the overall system of eXXcelllent solutions. The application must be GDPR compliant, the entered data should be automatically deleted after a certain period of time. A user administration should also be able to restrict the visibility of the entered data to certain people or groups of people.
Specifically, this means:
- Conduct interviews and collect requirements
- Set up architecture
- Select suitable technologies and frameworks (some framework conditions are specified)
- Implement and test the application
I: Web front end for Labgrid
Labgrid is a Python-based, distributed framework for test & development in the embedded environment. We are currently introducing this framework for laboratory automation at MLE. Currently there is only one client for the command line. A dashboard-like web front end is therefore to be developed, which clearly shows all exported hardware resources and laboratory workstations assigned to them. In particular, the user should be able to find out about the occupancy status of hardware resources such as evaluation boards or switchable sockets, whereby the current system should be supplemented or completely replaced by rather static labsheets in paper form. In the next step, resources such as serial consoles, video streams or PDUs (switchable sockets) could be made accessible via the browser.
Basic knowledge of Python is helpful. No electrical engineering knowledge is required for this project.
The open source idea is in the foreground: The requirements should not only be developed internally, but also in cooperation with the community on GitHub. Upstreaming the results is one of the goals of the project, along with functionality.
J: Detection of status LEDs on video streams
On embedded boards, important status information (e.g. link available, boot successful) is often only accessible via LEDs; Laboratory setups are therefore occasionally monitored remotely with cameras. It would be very helpful if status information were not only available visually via the video stream, but also in machine-readable form, e.g. to better control automated tests or to log status changes. Often it is not only of interest whether an LED is switched on or off; other properties such as color or blink rate can also be relevant.
This project represents a partial aspect of a more comprehensive Board State Distribution System (BoSS), for which a concept paper is available on GitHub.
Previous knowledge of computer vision and Python is helpful. No electrical engineering knowledge is required for this project. We can provide an evaluation board and a camera for the duration of the project.
A first prototype with which the status of status LEDs on an embedded board can be recognized under realistic conditions (e.g. vibrations, light reflections). The integration into a future Board State Distribution System (BoSS) should be taken into account during the development.
K: Compatibility database for FMC host and expansion cards
At MLE, we use various FPGA evaluation boards and expansion cards for prototypes and development platforms. These are connected with the help of a standardized interface, FPGA Mezzanine Card (FMC). Since the standard allows many variants, the compatibility of the host and expansion cards (mezzanine cards) must always be checked. In addition, there is now a further development (FMC +) of the standard, which is largely backwards compatible.
A database that provides an overview of the compatibility of expansion and host cards or an automated compatibility check with the help of a machine-readable description of the implemented interface parameters (e.g. pin assignment, available vs. requested voltage ranges, mechanical or other special features) would therefore be very helpful.
Previous knowledge of modeling databases is helpful. Knowledge of electrical engineering is not required, but can be helpful in understanding the problem.
A suitable database model and a web front end are to be developed with which FMC host and expansion cards can be checked for compatibility. This project is intended to provide the basis for a publicly usable infrastructure, which supports the FPGA community in assembling prototype platforms from commercially available (commercial off-the-shelf, COTS) evaluation cards efficiently and with less risk.
L: Tr @ vel Buddy
Adesso AG wants its employees to have the greatest possible
offer possible comfort. Due to the project situation, employees are often accommodated in a hotel in other cities several times a month. At the same time, other adesso employees may be staying in the same hotel or the same city without knowing each other. With the adesso Tr @ vel Buddy App, adesso would like to give its employees the opportunity to make new contacts or refresh old ones and make their stay away from home more pleasant.
The aim of this project is the realization of a prototype in the form of a mobile app. The
The project is holistic within the framework of agile software development according to Scrum, starting
with the requirements analysis, through the design and implementation to testing and
Wait to perform.
Among other things, the following functions should be available to employees in the app
- Search for a travel partner: When booking a trip, the employee should be able to find out whether other employees have booked a hotel / train ride in the same period. To this end, integration into adesso's internal travel booking tool is desirable.
- Profile management: Each employee can independently manage their profile and current status.
- Contact and exchange opportunities: With a suitable match, the employee should be able to get in touch with his travel partner.
- Find & Meet: Employees have the option of storing their location or stay information (hotel, etc.) on Tr @ vel Buddy. Joint meetings can also be proposed and planned.
- POI management: The Travel Buddy offers the option of adding POIs to a map (Google Maps). Other adessi can visit these points and submit a rating.
- Planning of events: Adessi can create and plan events and invite other adessi and add them to the event.
- Integrated chat: The exchange with other adessi and the planning of a stay together should be possible at any time.
Expected requirements / professional skills
- Software lifecycle & agile software development
- MobileApp programming iOS & Android
M: Augmented Reality Supported Calligraphy
Calligraphy training is an activity performed by many adults. It is a creative activity and provides the benefit to improve handwriting. Writing training apps for tablets exist which provide valuable instant and automated feedback, but they have the Limitation that no typical calligraphy brushes can be used.
The institute of media informatics has created a prototype that targets this by putting physical paper on a tablet and augmenting it with the tablet display. The calligraphy is then scanned by a smartphone capturing the tablet. A. video of the current prototype (targeting children) can be seen here: https://cloudstore.uni-ulm.de/s/aJ5yYbSHJsFpHZY
The goal this project is to extend the existing prototype by implementing the following requirements:
- Implement a tutorial for adult calligraphy training.
- Implement a machine learning approach for calligraphy detection.
- Evaluate the prototype regarding calligraphy recognition accuracy and regarding usability by conducting a user study.
N: Virtual Reality Remote Study Framework
During COVID-19 it is quite challenging to conduct user studies and evaluate prototypes. One possible approach to overcome this challenge is to conduct online studies, but this is challenging as the participants need to get a standalone software that provides everything necessary for the study conduction (instructions, group randomization, data logging, cloud storage ...). This will help to make online studies more relevant even after COVID-19.
The goal this project is to create a framework for remote virtual reality studies by implementing the following requirements:
- Implement a framework based on Unity that works with Quest 2 and the www.sidequestvr.com store.
- Implement questionnaire functionality (basic functionality exists).
- Implement data logging and cloud storage (basic functionality exists).
- Implement study design support e.g., group randomization.
- Implement study tutorial support by providing basic tutorial functionalities.
O: Feature Visualization
Feature Visualization has become an important technique in the domain of explainable AI for neural networks operating on image data. There have been efforts to translate this technique to other domains, such as modern language models. Sadly, this has not been successful so far. In this project, we want to look at the methods that have been applied, and investigate further why they fail, and how they could be improved to make feature visualization work for language models.
For further information and the background story, see:
P: Visualization of Imperfect Data
In the area of parallel coordinates usually every data dimension has a value assigned. However, real-world applications, not every data point necessarily has a value assigned for every data dimension. The goal is to take this into account in PC design. To give an example when comparing different real estate listings, they might not all have the same information available. Maybe some have different numbers of bathrooms reported in their listing, while others have only one and therefore report the size of the bathroom. Many of the current data visualization techniques do not have an account for this discrepancy.
We want to investigate how visualization can better handle such imperfect data and develop visualizations that are able to cope with this kind of data. At the same time, these visualizations should communicate the aforementioned differences between the data sets. As a first chart to investigate with regard to this problem, we thought of a parallel coordinates vis. Here, different ways of displaying such discrepancies between data sets can be studied, and within those, the arrangement of axes can be investigated. The attached image shows a rough sketch of the idea.
Q: Investigating Macroscopic Effects of eHMIs on Traffic
External communication of autonomous vehicles is researched as a way for pedestrians to understand intentions of these vehicles. Numerous studies evaluated these effects already. However, city planners need to look at the big picture of traffic. Therefore, a macroscopic evaluation of different scenarios including mixed (manual and automated) traffic, pedestrians, cyclists, etc. is necessary for future city development. In this project, the necessary hypotheses will be determined, missing information will be elicited via a user study, and the macroscopic effects will be determined via SUMO (https://www.eclipse.org/sumo/), a simulation software used by governments and researchers with a connection to Unity.
R: Further development of a simulator for researching driver-pedestrian interactions made in Unity
Autonomous vehicles can, by definition, drive without human passengers. Therefore, in situations in which pedestrians and cyclists rely on eye contact and gestures today, it may be necessary for the vehicle to communicate via displays or loudspeakers, for example. This research is still in its early stages. This also applies to the passenger of an autonomous vehicle.
A first project, which enables different approaches to research this topic, was presented by Mr. Bazilinskyy from the TU Delft (https://github.com/bazilinskyy/coupled-sim). In this simulation, the position of a driver, a passenger and a passer-by can be assumed. This project is also actively used and developed within the framework of several researches.
However, only a few hardware configurations and a low variability of parameters for scenario definition are supported.
This project is to be further developed as part of the SE project.
The functionality to be implemented includes (can be changed if necessary, also according to group size, priorities in descending order):
A large number of assets are available for the required tasks.
S: Detection of Risk of Falling via Eye-Gaze
Within the scope of the AktiSmart-KI project, the goal is to identify complex activity patterns through smart sensor technology in geriatric rehabilitation. This helps to focus care and resources while still maintaining an independent life.
The goal of this project is to develop a prototype which identifies the risk of falling via eye movement.
The first step is to gather relevant data via a Pupil-Labs eye-tracker. Then, a neural net will be trained which determines the level of risk. This prototype should then be demonstrated.
T: Development and testing of a web application according to medical device standards
Patients fill out questionnaires online, which are used to create reports for employees.
The students are integrated into the already existing developer team and are given defined areas for their project.
In terms of both planning and development, the tasks lie in the following areas:
- Programming of functionalities or subsystems (approx. 2 students)
- Testing of legacy code and, if necessary, development according to test-driven design (approx. 2 students)
- Deployment / Automation / Dev-Ops (approx. 1 student: r)
Due to the field of application with real patients, the project offers the possibility of gaining realistic and practical experience with safety-critical software, from planning through development / testing to documentation / delivery.
- Sandro Eiler, Institute for Clinical Psychology and Psychotherapy
U: eSano - Internet and mobile based interventions
- Are you afraid to live
- Lobsters were once a common food
- Why doesn't God seem to be helping
- Creativity can be innate
- How do you say none in German
- What is the derivative of 50x
- Runs on 24 7 in Sunnyvale
- What is the most effective kill technique
- Do physicists believe in flat earth theory
- What are some homemade sambuca recipes
- Why is my Savannah cat so aggressive
- The Russian word Baba is offensive
- Is there a Wayfair store
- Use the Signal app
- What are the characteristics of cnidarians
- Who is your favorite sociologist
- What should happen to Cliven Bundy
- What is an OCA laminating machine
- What are the best ways to use OpenDNS
- Do I need help 4
- Why is Cadence virtuoso needed
- What are the main cities in Norway
- What is a unitary process
- How do I get cheap equipment
- What is Worker Comp Scam
- Has Mercedes ever built a convertible model
- What are the characteristics of a good advisor
- How many hours can cycling reduce weight
- What is the market size for 3D sensors
- Why was the Apple company founded?
- What is information gathering
- Would CoinBase support Bitcoin Gold
- How do infrastructure funds make money
- What is social capital good for?