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]
25.4.2018
Motivation
Today’s software developers have to deal with a tremendous increase in the complexity and context-dependence of modern software applications. Above all, future software systems must adapt themselves to changes in their immediate context and able to interact with other components in unforeseen ways (Piechnick et al. 2012). An established approach to model such changes is to implement the application with roles, because they allow for dynamically adapting parts of the system in response to context changes (Kühn et al. 2014). Due to the fact that object-oriented programming languages lack the notion of roles (Kühn et al. 2014), several researchers introduced special role-oriented programming languages (RPLs). Unfortunately, Recent analysis indicate, e.g., (Schütze and Castrillon 2017; Morgenstern 2018), that RPLs are still slow compared to an implementation with the Role Object Pattern (Bäumer et al. 1998) using only forwarding. More recently, the RoleVM
(Morgenstern 2018) showcased the benefits of invokedynamic
for fast true delegation (Lieberman 1986) for RPLs. However, this prototype had several limitations, most importantly, limiting the number of roles per player to one. Additionally, previous analysis either utilized coarse-grained benchmarks (Schütze and Castrillon 2017) or micro-benchmarks (Rahne 2014; Morgenstern 2018), yet neither respected best practices for rigorous performance evaluation (Georges, Buytaert, and Eeckhout 2007). This significantly limits the reliability of previous results.
Problem Definition
Currently, there exists no virtual machine (VM) for RPLs that supports crucial features of RPLs, such as, permiting objects to play multiple roles of multiple types simultaneously. Thus, this thesis will improve the RoleVM
wrt. the supported features of roles (Kühn et al. 2014) and the performance of the underlying dynamic method dispatch. In order to evaluate its performance, a fair benchmark must be performed. Yet, there exists no benchmark suite for evaluating RPL implementations. Consequently, this work will develop a benchmark suite that encompasses both macro- and micro-benchmarks following the best practices for benchmarks (Georges, Buytaert, and Eeckhout 2007). In conclusion, this will enable reproducible, reliable, and rigorous evaluations of RPL performance, as well as the analysis of the causes of the observed performance overhead (Schütze and Castrillon 2017).
Goals of This Thesis
To achieve these goals, this thesis will perform the following tasks:
- Survey role-oriented programming languages and their representation of roles at runtime and, in particular, in virtual machines,
- Identify the requirements for the native execution of roles within virtual machines,
- Develop a role-oriented virtual machine fulfilling these requirements,
- Develop an advanced benchmarking suite for role-oriented virtual machines including macro- and micro-benchmarks utilizing the Java Benchmarking Harness, and
- Evaluate the suitability and performance of the developed role-oriented virtual machine by applying the requirements and the established benchmarking suite, respectively.
Bäumer, Dirk, Dirk Riehle, Wolf Siberski, and Martina Wulf. 1998. The Role Object Pattern.” In Washington University Dept. of Computer Science. Citeseer.
Georges, Andy, Dries Buytaert, and Lieven Eeckhout. 2007. Adding Rigorous Statistics to the Java Benchmarker’s Toolbox.” In Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, 79394. ACM.
Kühn, Thomas, Max Leuthäuser, Sebastian Götz, Christoph Seidl, and Uwe Aßmann. 2014. A Metamodel Family for Role-Based Modeling and Programming Languages.” In Software Language Engineering, 8706:14160. Lecture Notes in Computer Science. Springer.
Lieberman, Henry. 1986. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems.” ACM Sigplan Notices 21 (11). ACM: 21423.
Morgenstern, Martin. 2018. Analysis of the Representation of Roles In Virtual Machines Establishing Roles at Runtime.” Major Thesis, Faculty for Computer Science: Technische Universität Dresden.
Piechnick, Christian, Sebastian Richly, Sebastian Götz, Claas Wilke, and Uwe Aßmann. 2012. Using Role-Based Composition to Support Unanticipated, Dynamic Adaptation-Smart Application Grids.” In ADAPTIVE 2012, The Fourth International Conference on Adaptive and Self-Adaptive Systems and Applications, 93102.
Rahne, Matthias. 2014. Untersuchung Paralleler Rollenbasierter Programmierung.” Bechalor thesis, Faculty of Computer Science: Technische Universität Dresden.
Schütze, Lars, and Jeronimo Castrillon. 2017. Analyzing State-of-the-Art Role-Based Programming Languages.” In Companion to the First International Conference on the Art, Science and Engineering of Programming, 9. ACM.
Student: Martin Morgenstern
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 →