Theses

Die Forschungsgruppe Software Architecture bietet Themen für Bachelorarbeiten (Praktikum mit Bachelorarbeit) bzw. Masterarbeiten in den folgenden Gebieten an: Softwaredesign, Softwaretechnologien, Software Architektur und Softwareentwicklung. Die unten angeführte Liste enthält Themenvorschläge für Bachelor- und Masterarbeiten – falls Sie bereits selbst eine Idee haben, können Sie jederzeit gerne mit uns Kontakt aufnehmen.

The Software Architecture Group offers topics for bachelor’s (Practical Course with Bachelor’s Paper) and master’s theses in the areas of software design, software technologies, software architecture and software development. The following list contains a number of suggestions for topics. If you already have an idea do not hesitate to contact us.

Visualizing Event-based Systems

Introduction

In event-based systems loosely coupled actors communicate with each other by sending events via message bus. The control flow of an event-based system can be calculated at design time by introspecting the actors’ interfaces. Due to the loose coupled characteristic of event-based system, the control flow can be changed during runtime.

Aim

  • Extract control flow information for event-based systems described by a DSL and/or by java code.
  • Visualize control flow information using graphs.
  • Support changes of the control flow during runtime.
  • Create documentation, tutorials and examples of the developed system

Knowledge

Java, Graphs, Visualization (GUI)

Tools and Technology

Java, DERA, Eclipse Modeling Framework (EMF), XText

Level

Bachelor, Master

 


Constraint-Based Consistency Checking in Adaptive Case Management

Introduction

In contrast to rigid business processes where the processes can be verified at design time and are left unchanged during execution, consistency with certain constraints (e.g., compliance rules) is harder to maintain in knowledge-intensive, flexible environments. Knowledge workers can make changes to a process or even create processes from scratch during runtime.

Aim

  • Define test cases that cover realistic scenarios (e.g., account opening at a bank, resolving a complaint, performing medical treatment, …)
  • Find out which constraints are useful and how they can be formalized
  • Implement your test cases using an existing Adaptive Case Management (ACM) solution

Previous Knowledge

  • Programming skills – at least one mainstream language (e.g., Java, C++)
  • Domain specific knowledge in various fields (work experience) could be an advantage

Level

Bachelor, Master

 


Recommendation of Best Next Actions in Adaptive Case Management

Introduction

Knowledge workers might require at some point during case execution a guidance mechanism to help planning what to do next. They don’t follow a strict prescribed workflow but rather decide their next action based on the current circumstances.

Aim

  • Find out which data must be included for clear quality indicators
  • Avoid next actions that violate consistency constraints (e.g., compliance rules)
  • Help recovering from consistency constraint violations
  • The confidence ranking shall reflect how a task contributed to reach a certain business goal
  • Enhance the recommendation tool of an existing Adaptive Case Management (ACM) solution

Previous Knowledge

  • Programming skills – at least one mainstream language (e.g., Java, C++)

Level

Bachelor, Master

 


Model Checking of Adaptive Case Management Definitions

Introduction

The creation or adaption of business process definitions is an error-prone task. Wrongly placed elements might lead to deadlocks or adapted processes might be in conflict with laws, standards, or internal regulations of a company. By using model checking, we can find out whether a model satisfies certain requirements.

Aim

  • Translate case models to Promela (input language of the SPIN model checker)
  • Evaluate the correctness of your translation

Previous Knowledge

  • Programming skills – at least one mainstream language (e.g., Java, C++)

Level

Bachelor, Master