TU München - Fakultät für
Es sprechen Studenten über ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.
Am Montag, 23.01.17, ab 14:00 Uhr, im Raum Neumann(00.11.038):
Model-Checking Patterns for Dynamic Architectures
In dynamic architectures patterns are used to design reusable architecture solutions. When implementing a pattern, it is important to ensure the correct functionality thereof and therefore a possibility to verify the pattern implementation is needed. Our approach to solve this issue, is to apply model checking to verify a patterns functionality. Therefore, we apply a six step approach, consisting of reading literature about the pattern at first. Secondly, we specify the component interfaces, then we model each component in terms of an abstract state machine and specify the conditions that need to hold for the pattern. In the last step the verification is conducted. We implemented the approach in NuSMV and applied it to investigate three selected patterns: Singleton, MVC, and Broker. Thereby we found that the approach is feasible and we detected that patterns are sometimes imprecisely specified and that the approach helps to find these points.
Understanding Architecturally Significant Requirements and their Impact on Practitioners’ Design Decisions
The architecture of a system is sometimes defined as the set of principal Design Decisions (ADDs) about a system. Requirements influencing these decisions are usually called Architecturally Significant Requirements (ASRs). Having a clear understanding about the general nature of ASRs and their relationship to ADDs is important for an architect in order to take the right decisions when designing an architecture. However, only little is known in literature about the concrete nature of these requirements and how they affect the corresponding design decisions. Thus, in the following we apply the Grounded Theory approach to investigate the nature of ASRs and corresponding ADDs. Therefore, we perform an interview study with architects from various domains with long experience. We found, that functional and non-functional requirements are considered equally important by architects. However, we also found that non-functional requirements are usually not as well documented as functional requirements and that different terminology is used to specify functional and non-functional requirements. Therefore, we conclude, that one of the major task of an architect is the functionalization of non-functional requirements and we provide a set of guidelines tosupport them in this task.
Development of a Software Fault Handler for the fortiss Smart Energy Living Lab Middleware
Integrating intelligent software into our traditional power grid to build the future smart grid brings great advantages with it. Renewable energy can be integrated efficiently and small energy producers can use intelligent energy management, home automation and have the ability to trade with other nodes. However, integrating more software into the grid introduces the danger of software faults. Smart Grids and their software systems need to be robust to deal with occurring faults. The objective of this thesis is to design and implement a software fault handler that is able to detect, isolate and recover faults for the Smart Energy Living Lab, which deploys the Smart Micro Grid (SMG) system at the fortiss office space. With the help of fault scenarios which describe faults, how they are detected and which recovery action is used, a conceptual fault handler is designed. The conceptual fault handler then is implemented and the result is evaluated on the basis of the scenarios.