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)
The courses in the upcoming semester will be announced later.
Permanent courses
Consultation
Prof. Aßmann offers a official consultation on Thursdays 11:00-13:00. Please log your visit at the Secretary. (As Prof. Aßmann is usually overloaded with emails, he can direct emails often very late answer).
Internship in the main study "Software Engineering in Industrial Practice
This internship will take place in industry on an individual base. Students, working in industry, shall write a report of 10-15 pages and hands it in to Prof. A�mann for reviewing. If the report is good, the student get's a certificate
Research seminar
There is a research seminar for for PhD students, staff and interested master students. Appointments will be given on request.
PhD Seminar
There is a half-annual doctoral symposium for PhD students of the chair, where the current status of the thesis is reviewed and defense talks can be excercised.
Chair seminar
At the
chair's seminar, students writing bachlor, minor, master or diploma theses present their work either in semi-defenses or final defenses.
Recognition of courses from abroad
Please, first send the following information to our secretary:
- 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
Reading Group
The reading group of the Software Technology Group discusses important research papers. Every interested person, regardless of being student, PhD or professer, can be participate. Here is the list of papers.. More information can be requested using the EMail reading-group[at]mail-st.inf.tu-dresden .
Permanent courses
Hier finden Sie einen Index aller Vorlesungen, die regelmäßig vom Lehrstuhl angeboten werden.
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]
Handling Uncertainty in Cyber-Physical Systems
Traditionally, one of the first steps of each software engineering process is the requirements analysis. The software engineers determine stakeholders, uses cases and features. One important step is to ascertain all possible circumstances (uses, misuses, environmental factors etc.) that could influence the proper function of the software, in order to treat those circumstances during design and implementation. With the emergence of connected and autonomous embedded systems (Cyber-Physical Systems), software engineering faces some major challenges. Because those systems operate in the real world, they must adapt their behavior to the dynamically changing requirements demanded by current environmental situation. Software systems supporting this kind of context-aware dynamic behavior are called Self-Adaptive Systems”. Nevertheless, those systems are aware of the changing environment and the need to adapt their behavior accordingly, several crucial problems are still unsolved:
Problem 1: The system developer is uncertain about all the possible situations, the Self-Adaptive System has to cope with and still execute the desired task reliably. One example of such systems are service robots, which need to interact with humans - HRI: Human-Robot Interaction (HRI). Because communication is highly depended on the actors, requirement engineering for each possible interaction participant becomes impossible. One strategy is to use machine learning algorithms to constantly adapt the interaction behavior of a robot to a given situation without having to model all situations beforehand. This algorithms learn the success of their actions based on a growing knowledge base. However, a huge drawback of those mechanisms is that the conceptual model of the learning model is translated to program code and thus is indirectly hidden within the system. This low level of abstraction makes it hard for developers to predict, test and evolve those algorithms at design time, while runtime adaptation becomes almost impossible.
Problem 2: Self-Adaptive Systems cannot be certain about correctness and completeness of information about the environment.
Usually, sensors (e.g. camera, microphone) gather data (e.g. depth image). This data is then analyzed to derive environmental information (e.g. number of people involved in an interaction). Afterwards, the derived information is used to check whether an adaption of the system is necessary. In such scenarios a lot of problems can occur: On the one hand the sensor data as well as the inference process might be incorrect and thus, resulting in an erroneous knowledge base. On the other hand the set of knowledge about the environment might be incomplete because of missing sensors or inference rules.
These problems will lead to wrong adaptations and thus to wrong behavior of the Self-Adaptive System. HRI-System use sensor data and specialized interpretation mechanisms to derive a multi-facetted model of the human interacting with the robot. Because important information for the interaction (e.g. whether the human is angry etc.) cannot be sensed directly, the data of several sensors is fused to infer this information (e.g. loudness, speed, vocabulary etc.). When the Self-Adaptive System cannot deal with shades of certainty w.r.t. the integrity of the knowledge base, the system is likely to behave erroneously.
Role-Based-Design is a software design approach that uses role models to express dynamically varying services of one object as well as dynamically varying relationships between several objects. Roles are a perfect foundation to model dynamically varying behavior in Self-Adaptive Systems, since managing (attaching/detaching as well as activating/deactivating) roles change structure of the whole system and the behavior of individual objects.
An important aspect of Role-Based-Design for Self-Adaptive Systems is a model that describes circumstances under which roles are played by objects (Role Model Binding) and when they are activated or deactivated, respectively. Several approaches have been proposed (e.g. state charts, storyboards etc.), whereby none of them can treat potentially incorrect or incomplete knowledge. Thus, Role-Based Design is currently not capable of tackling Problem 1.
Traditionally the plays” relationship between a role and the player is discrete (i.e., an objects plays a role or does not). That is also true for the relationships between several roles within a Role Model. Self-Adaptive Systems that operate in the real world perform adaptation based on information inferred from potentially incorrect or incomplete sensor data. Because of imprecise or error-prone sensing, abstraction and reasoning, it is likely those information is partially incorrect. Consequently, changing the behavior of a system by roles, that change the behavior of an object discretely, may also lead to incorrect system behavior. Role-Based Design does currently not provide means to tackle Problem 2.
The aim of this work is to develop models to handle uncertainty using probabilistic models that can treat the correctness and completeness of information for role-based self-adaptation as a First-Class-Citizen. Therefor the task of is to:
a. Develop a probabilistic automaton that describes under which environmental circumstances role models are integrated into a base system and when they are activated. (PRoPAton: Probabilistic Role-Playing-Automaton)
b. Extend the traditional Role-Based-Design approach by continuous roles, whereby the plays” relationship is no longer binary but numeric (e.g. an object plays a role with a certainty of X%”). Those roles are called Soft Roles”.
The PRoPAton allows to model the role-playing relation based on uncertain and error-prone sensor data in a Cyber-Physical Self-Adaptive System. Such a mechanism would enable the developer to model the structure of software systems w.r.t. dynamically varying environments with uncertain sensor data tackling Problem 1. The model should describe the binding and activation of role models based on probabilities w.r.t. context information sensed by the application itself or external sensors. This automaton should be able to support parallelism in order to describe the states of the overall role-class-model under different perspectives.
The Soft Roles model allows to define how the original behavior of an object is changed, based on the probability that a certain set of roles is played. Such a model would enable the developer to model the behavior of software systems operating in varying environments with uncertain sensor information, tackling Problem 2. The model needs to describe how roles influence the behavior of an object w.r.t. the certainty it is played. This could be expressed using different implementations of the same role, whereby each implementation corresponds to a given range of certainty (e.g. 0-10%, 10-20% etc.). Another possibility is to use of mathematical models, describing how the default behavior of an object is changed in a continuous instead of discrete manner. Supervisor: Christian Piechnick
Student: Suleyman Suleymanzade
Student: Suleyman Suleymanzade
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]
Here you will find a Overview of all courses that have been held in the past semesters.
You may select this summary also in 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 →