Courses
Courses of the current semester (SS 24)
- Component-based Software Engineering (Lecture with exercise)
- Softwaremanagement (Lecture with exercise)
- Future-Proof Software Systems (Lecture with exercise)
- Academic Skills in Software Engineering (Lecture with exercise)
- Softwaretechnologie (Lecture with exercise)
- Automotive Software Engineering (AutoSOFT) (Lecture)
- Adaptive, Mobile Information Provision in Digital Health (Main seminar)
Courses of the next semester (WS 24/25)
Permanent courses
- University, where you visited the courses
- URLs of these courses or other information
- Translation to ECTS credit points
- Which courses of ST you want to substitute
- The exams, for which the acknowledged courses shall be used
Student Theses
Here you can find information to currently offered topics for minor and major theses, as well as on currently running or finished theses. Please click on "more", to get more information. Hints on how to write a thesis exist as pdf. For theses, a LaTeX package is offered, which helps in adhering to the required layout.[back] [Proposals of topics] [finished topics] [RSS-Feed Proposals of topics]
Introduction
Today's software developers have to deal with a tremendous increase in the complexity and distribution of modern software applications. He not only has to take multiple heterogeneous target platforms into account, but must also deal with concurrent execution and asynchronous communication between the software components. Above all future software systems must adapt themselves to changes in their immediate context and able to interact with other components in unforeseen ways.
An established approach to model such changes is to implement the application with roles, because they allow the dynamic reconfiguration of parts of the system. Due to the fact that Object-Oriented Programming Languages lack the notion of roles several applications implement them with the Role Object Pattern. While this allows dynamic changes of the systems structure and behaviour, it does not take concurrent and distributed executions of the roles and the core objects into account. More recently, however, several Object Oriented Programming Languages have introduced new means to foster concurrent execution for future applications without the tedious specification of threads. Consequently these languages may be appropriate to design a parallel incarnation of the Role Object Pattern. This, in turn, would give future software developers an important construct for the development of flexible, complex, and distributed applications.
Problem Definition
Current role-based applications are hard to parallelize due to the fluctuating nature of roles. Consequently, this thesis should determine which constructs of parallel programming languages permit the parallel execution of role-based applications.
Goal of the Thesis
As a result this thesis should strive for the following research goals:
- Investigating whether the Role Object Pattern can be executed in parallel by running different roles concurrently
- Gather the constraints for parallel execution of the Role Object Pattern preventing race conditions and aliasing
- Compare different parallel Object-Oriented Programming Languages on their applicability for the development of concurrent role-based applications, consider for instance:
- Go from Google Cooperation,
- Akka Toolkit from Typesafe Inc., as well as
- Task Parallel Library from Microsoft.
- Show the results of your comparison by implementing a small rolebased application with a parallel implementation of the Role Object Pattern using the most suitable implementation language (e.g. a Banking Application like in )
Student: Matthias Rahne
Courses of the previous semester
In this overview you can find all over the course of the Chair. In addition to those of the previous semesters can be found here and those that are held in current and upcoming semester.[back] [to tabular view]
You may select this summary also in tabular view.
Overview of courses
Course | SWS | WS/SS | INF | MINF | IST | DSE | CL | INF | FAK | MATH | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BA | MA | DIPL | BA | MA | DIPL | DIPL | MA | MA | LE | BA | MA | ||||
Academic Skills in Computer Science (ASiCS) | 2/2/0 | WS/SS | B-510 B-520 | VERT3 | 04-FG-SWT B-520 VERT3 | B-530 B-540 | AQUA | INF-B-540 | PCS | ||||||
Automotive Software Engineering & Functional Safety | 4/0/0 | SS | B-510 B-520 | VERT3 | 04-FG-SWT B-520 BAS3 | B-530 B-540 | BI-4 | INF-B-540 MINF-04-FG-EMW | 05-FG-SWT | ||||||
Component-Based Software Engineering | 2/2/0 | SS | B-520 | VERT3 | 04-FG-SWT B-520 | B-540 | BI-4 | MINF-04-FG-EMW INF-B-540 | 05-FG-SWT | 10-E5 14-E4 | CSE | ||||
Design Patterns and Frameworks | 2/2/0 | WS | VERT3 | 04-FG-SWT BAS3 VERT3 B-520 | BI-4 | MINF-04-FG-EMW | 10-M4 | CSE | MA | INFSEN | |||||
Enterprise Software - Applications, Technologies and Programming | 2/0/0 | WS | VERT3 | 04-FG-SWT BAS3 VERT3 | INF-BI-5 MINF-04-FG-EMW | ||||||||||
Future-Proof Software Systems | 2/0/0 | WS | VERT3 | 04-FG-SWT VERT3 | BI-4 | MINF-04-FG-EMW | 10-E5 14-E4 | ||||||||
Hauptseminar Softwaretechnologie | 0/2/0 | WS/SS | VERT3 | 04-HS BAS3 VERT3 | AQUA | ||||||||||
Komplexpraktikum Softwaretechnologie | 0/0/4 | WS/SS | MA-PR VERT3 | 04-KP PM-FPA VERT3 | E-4 | 05-KP | |||||||||
MINF-BI-5 | 2/2/0 | SS | |||||||||||||
Model-Driven Software Development in Technical Spaces | 2/2/0 | WS | BAS3 VERT3 04-FG-SWT | BI-4 | INF-BI-5 MINF-04-FG-SE | ||||||||||
Praktikum Softwaretechnologie in der industriellen Praxis | 0/0/2 | WS | 04-P | ||||||||||||
Proseminar Softwaretechnologie | 0/2/0 | SS | B-510 B-520 | 04-PS B-520 D-520 | B-530 B-540 | INF-B-540 | |||||||||
Requirements Engineering und Testen | 2/2/0 | WS | B-510 | VERT3 | 04-FG-SWT BAS3 VERT3 | B-530 | MINF-04-FG-EMW | ||||||||
Role-based Software Infrastructures | 2/0/0 | WS | B-510 B-520 | BAS4 VERT3 VERT4 | B-520 BAS3 VERT3 | BI-2 BI-4 | |||||||||
Selected International Research in SE | 1/0/0 | WS | VERT3 | 04-FG-SWT VERT3 | INF-BI-5 | ||||||||||
Seminar Modellierung und Architektur von Softwaresystemen | 0/2/0 | WS/SS | VERT3 | 04-FG-SWT | 05-FG-SWT | INF-FF | |||||||||
Software Reengineering | 2/2/0 | SS | VERT3 BAS3 | 04-FG-SWT VERT3 BAS3 | BI-4 | MINF-04-FG-EMW | 05-FG-SWT | 10-M4 | |||||||
Software Reengineering and Software Measurement | 2/2/0 | SS | |||||||||||||
Software-Entwicklungswerkzeuge | 2/2/0 | WS | VERT3 | 04-FG-SWT BAS3 VERT3 | INF-BI-5 MINF-04-FG-EMW | ||||||||||
Softwarearchitektur (Ausgewählte Kapitel der Softwaretechnologie) | 2/0/0 | SS | B-520 | BAS3 04-FG-SWT VERT3 B-520 | B-540 | BI-4 | INF-BI-5 MINF-04-FG-EMW INF-B-540 | 05-FG-SWT | 10-M4 | MA | INFSEN | ||||
Softwareentwicklung in der industriellen Praxis | 2/0/0 | WS | B-510 B-520 | VERT3 | 04-FG-SWT B-520 BAS3 VERT3 | B-530 B-540 | BI-4 | INF-B-540 MINF-04-FG-EMW | MA | INFSEN | |||||
Softwaremanagement | 2/2/0 | SS | B-510 B-520 | 04-FG-SWT B-520 BAS3 | B-530 B-540 | BI-4 | INF-B-540 INF-BI-5 MINF-04-FG-EMW | 05-FG-SWT | MA | INFSEN | |||||
Softwaretechnologie | 2/2/0 | SS | D-240 | B-310 | 05-PF-GS | EUI MA PHY WW | INFC | INFSEN | |||||||
Softwaretechnologie II | 2/2/0 | WS | B-510 B-520 | BAS3 | 04-FG-SWT B-520 BAS3 | B-530 B-540 | INF-B-540 MINF-04-FG-EMW | ||||||||
Softwaretechnologie-Projekt | 0/0/4 | WS | B-320 B-321 | B-320 B-321 | MA | INFD | INFSEN |
- INF-BA → Bachelor Informatik
- INF-MA → Master Informatik
- INF-DIPL → Diplom Informatik
- MINF-BA → Bachelor Medieninformatik
- MINF-MA → Master Medieninformatik
- MINF-DIPL → Diplom Medieninformatik
- IST-DIPL →
- DSE-MA → Master Distributed Systems Engineering
- CL-MA → Master Computional Logic
- INF-LE →
- FAK →
- MATH-BA →
- MATH-MA →