Achtung:

Sie haben Javascript deaktiviert!
Sie haben versucht eine Funktion zu nutzen, die nur mit Javascript möglich ist. Um sämtliche Funktionalitäten unserer Internetseite zu nutzen, aktivieren Sie bitte Javascript in Ihrem Browser.

Bildinformationen anzeigen

Abgeschlossene Diplom-/Masterarbeiten

A Formal, Graph-Based Semantics for UML Activities

Aufgabenbereich: Dynamic Meta Modeling

Status: Abgeschlossen

Bearbeiter: Markus Hornkamp

Beschreibung: Das Verhalten von Aktivitäten ist in der UML-Spezifikation nur natürlichsprachlich beschrieben (wie das aller anderen Verhalten beschreibenden Sprachen auch). Dieses Manko lässt sich mit Hilfe des von der AG Engels entwickelten Dynamic Meta Modeling (DMM, siehe auch hier) beheben. Es soll also eine DMM-Spezifikation des Verhaltens von Activitäten entwickelt werden, und zwar auf Basis der UML-Spezifikation. Aufgabe: Analysieren des Verhaltens von Aktivitäten anhand der UML-Spezifikation sowie bereits vorhandener Semantikspezifikationsansätze. Implementieren einer DMM-Spezifikation für Aktivitäten mittels der vorhandenen Werkzeugumgebung. Dokumentieren der Ergebnisse.

Vorkenntnisse: Solide UML-Kenntnisse. Vorteilhaft sind Einblicke in Metamodellierung sowie Erfahrungen mit Graphtransformationen.

Kontakt: Christian Soltenborn

Anhang: Diploma_Thesis_Markus_Hornkamp.pdf

Analyse der SW-Architekturen FAT-Client und Smart-Client hinsichtlich Testbarkeit und Testautomatisierung

Aufgabenbereich: Testautomatisierung

Status: Abgeschlossen

Bearbeiter: Alexander Gretencord

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Analyse vorhandener Testfälle im automatisierten Softwaretest Schü-Cal+

Aufgabenbereich: Testautomatisierung, Effiziente Teststrategien und Testmanagement

Status: Abgeschlossen

Bearbeiter: Alexey Bondarenko

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Architekturdesign und Technologieauswahl für die flexible und automatisierte Ausführung von Business Rules

Aufgabenbereich: Qualität von Geschäftsprozessen

Status: Abgeschlossen

Bearbeiter: Jan Söhlke

Beschreibung:

Betriebswirtschaftliche Abläufe werden heute zunehmend durch den Einsatz spezieller Softwaresysteme unterstützt. Die betriebswirtschaftlichen Abläufe, sog. Geschäftsprozesse, die aus einzelnen Aktivitäten bestehen, werden hierzu genau identifiziert und anschließend in Software gegossen. Die Wiederverwendung und Erweiterung dieser Geschäftsprozesse wird dadurch sichergestellt, dass diese Prozesse oder einzelne Aktivitäten aus diesen Prozessen durch separate Softwaresysteme realisiert werden, die wie in einem Baukastensystem zu den benötigten Gesamtprozessen zusammengesteckt werden. Zur Umsetzung dieses Vorgehens wurden in der Vergangenheit passende Architekturstile und Technologien entwickelt.
Neben Geschäftsprozessen lassen sich sog. Geschäftsregeln (engl.: Business Rules) in Unternehmen finden. Der Aufschlag der Mehrwertsteuer auf alle Verkaufspreise im Einzelhandel ist ein Beispiel für eine Geschäftsregel, die in diesem Fall ihren Ursprung im Steuerrecht hat. Alle Geschäftsregeln haben gemeinsam, dass sie in einer Vielzahl von Geschäftsregeln berücksichtigt werden müssen und ihnen immer eine Motivation zu Grunde liegt, die zur Beachtung der Regel in den verschiedenen Geschäftsregeln führt. Im konkreten Beispiel ist also ein Mehrwertsteuer-pflichtiger Verkauf eines Produkts an einen Endverbraucher die auslösende Motivation für die Regel während die Umsetzung der Regel zum Aufschlag der Steuer auf den Verkaufspreis führt.
Gegenwärtig werden Geschäftsregeln fest in den Geschäftsprozessen verankert. Dies hat jedoch den Nachteil, dass bei einer Änderung einer Geschäftsregel eine Vielzahl betroffener Geschäftsprozesse angepasst werden muss. Aus diesem Grund wurde der sog. Business Rules Ansatz entwickelt, der die Geschäftsregeln getrennt von den Geschäftsprozessen verwaltet. Dieser Ansatz ist jedoch mit der Herausforderung verbunden geeignete Architekturen und Technologien zu entwerfen bzw. zu wählen, die die Ausführung der Regeln in den einzelnen Geschäftsprozessen sicherstellen.

Ziel der Arbeit ist es Erkenntnisse bezüglich der Wahl geeigneter Architekturen und Technologien für die Umsetzung von Business Rules zu erhalten. Hierbei sollen Risiken aufgezeigt werden, die durch die Wahl einer bestimmten Architektur bzw. Technologie entstehen können, um im Anschluss ein Hilfsmittel bereitzustellen, um die Erkenntnisse der Arbeit in der Praxis anwenden zu können.

 

 

 

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Jan-Christopher Bals

Anhang: noch kein Anhang

Automatisierungsmöglichkeiten von Usability Evaluationen im Kontext des Mobile Application Testings

Aufgabenbereich: Usability, UCD, Mobile Testing, Automatisierung

Status: Abgeschlossen

Bearbeiter: Alexander Barbula

Beschreibung:

Vorkenntnisse:

Kontakt: Björn Senft

Anhang: noch kein Anhang

Business Process Quality Assurance

Aufgabenbereich: Ensuring Quality of Business Process Models

Status: Abgeschlossen

Bearbeiter: Lial Khaluf

Beschreibung:

One of the most important factors of the success and reputation of any business is the quality of the products and services it provides. This means the degree to which the customer's needs and requirements are met. For this reason, the quality management has become an important competitive factor that must be considered on all levels including processes, people, tools, and other different resources. In this context, many standards were developed for total quality management, aiming at fulfilling the requirements of the customers and improving the quality of the products. For example, ISO 9001 regulations and constraints, that can be applied to any business. Quality constraints could also be defined by the organization itself or by the customers.

These constraints usually represent the logical and temporal relationships between the various actions of the business processes. For example, the temporal sequence of the actions, the possibility that an action or a sequence of actions could be or must be executed, and the logical structure of the actions execution.

No matter who defines the constraints, there must be a way to ensure that the business processes satisfy them. But since the constraints are usually documented as texts, it becomes so difficult to prove their correctness, especially when the business process is complicated or contains many other partial business processes. So one solution for this problem is by automating the verification of constraints on business processes.

An automated approach was developed at the University of Paderborn. This approach reduces the complexity and time needed for verifying the textual quality constraints on business processes. It models the business processes as UML Activity Diagrams, and the quality constraints as patterns using the Process Pattern Specification Language (PPSL). The business processes models are then transformed into transition systems. The quality patterns are transformed into temporal logic formulas. These formulas can then be verified on the transition systems using a model checking technique embedded within a tool developed for this purpose. In other words, this approach has provided the required automated verification of the quality constraints on the business processes.

The Process Pattern Specification Language (PPSL) considers only the linear temporal logic (LTL). It defines the stereotypes required to model quality constraints as patterns transformable only to LTL formulas.

But some quality constraints represent requirements that depend on the nondeterministic future. For example, if the business process model branches to several different sequences of actions at some point of time. A quality constraint on this business process must hold on at least one sequence of actions that follows the specified point of time. In this case, LTL will not be sufficient, because LTL formulas are correct for a system, if they are correct for all paths.

So if the quality constraint pattern, represented as an LTL formula, holds only for one sequence of actions after the specified point, then according to LTL, the business process does not satisfy the constraint. But the constraint actually holds on the business process, because it holds for one sequence of actions that follows the specified point.

Process Pattern Specification Language (PPSL) also does not consider all possible logical connectives and temporal operators of LTL. For example, the negation of an action to be executed (logical connective) is not representable by PPSL. Also the case where some action must continuously be executed until another action is triggered (temporal operator) is not representable by PPSL.

So the existing approach of the Process Pattern Specification Language (PPSL) is limited and not sufficient for all kinds of quality constraints. The goal of this master thesis is:

  • to extend PPSL to overcome the current limitations,
    • by investigating whether PPSL can use the computation tree logic (CTL) instead of the linear temporal logic (LTL).
    • by adding the appropriate stereotypes.
  • and to extend the existing tool support.

 

Vorkenntnisse:

Kontakt: Dr. Christian Gerth, Prof. Dr. Gregor Engels

Anhang: noch kein Anhang

Cell-based Self-Adaptive Software Architecture

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Stefan Raupach

Beschreibung:

Adaptive Systems: 
Self-Adaptive Systems are the software systems of tomorrow. Self-adaptive systems autonomously react to problems or changes in their environment at runtime in order to maintain their functionality. Types of adaptation include the replacement of components, the configuration of components, or the adaptation of data. For instance, a web application that uses the google image service might autonomously switch to flickr when it recognizes problems with the google service. Concrete problems might be crashing services, lacking service quality, or even errors in the provided service functionality. Giving the system the abilities of self- and context-awareness, several additional fields of application arise. Besides the above describe self-healing abilities, the system may also self-configure dynamically, e.g. to always use the correct location-dependent traffic service. Further, the system may self-optimize, e.g. to always select the cheapest service with the highest possible quality. There are countless numbers of applications that will be used in future software and systems engineering.

Background:
Software architectures and frameworks for self-adaptive software have recently been developed. A popular example is the Rainbow Framework developed at the CMU. Most of these frameworks rely on a rather rigid component model. A different approach uses small software entities (cells) that do not communicate via interfaces but via a blackboard.

Task:
The objective of this thesis is to design and develop a cell-based software architecture for self-adaptive systems. That is, for the cell-based architecture, communication and adaptation patterns have to be identified and designed. The results have to be implemented prototypically.

Note:
You will work in close connection with members of the group. The thesis will be supervised by Markus Luckey. Thesis may be written in English or German. If you are interested please contact us.

Contact:
Markus Luckey
Room: E4.124
Tel: 60-3358
Mail: luckey@upb.de

 

 

 

Vorkenntnisse: Willingness to work scientifically, interest in software architecture and adaptivity of software.

Kontakt: Dipl.-Inf. Markus Luckey, Dipl.-Inf. Fabian Christ

Anhang: noch kein Anhang

Change Visualization and Compatibility Analysis during Software Platform Evolution

Aufgabenbereich: Component-based Software Development, Software Platform Evolution, Change Visualization, Compatibility Analysis

Status: Abgeschlossen

Bearbeiter: Jens Janiuk

Beschreibung:

During the evolution of component-based software, existing components are added, deleted, modified and released in different versions. Such modifications can easily cause new errors inside the software, and due to side-effects, also in unchanged parts of the software.  complete test of all interface connections after every change leads to huge effort and costs in particular in the case of complex software platforms. On the other hand, missing to test crucial interface connections could reduce the software quality and stability.


A further problem in this context is the detection of incompatibilities between different component versions. This becomes necessary, if a customer runs on an older platform version and wants to update only a single functionality provided by a subset of components. It has to be possible to identify compatible component versions and dependencies for any possible state of the software platform, which leads to huge testing and administrative effort.


In a previous Master's Thesis a UML-based model called Platform Evolution Graph (PEG) was developed to model the current situation, version changes, and incompatibilities during the evolution process of component-based software platforms. It can be used to identify changes and incompatibilities between different platform versions, but unfortunately a complete PEG in a complex software platform rapidly gets very large and difficult to review for a responsible test manager.


The first target of this thesis is to define proper analyses and visualization concepts for changes between different platform versions and incompatibilities between different component versions. Analyses and visualization are based on the information provided by a PEG. The visualizations will support the integrative test case selection after component modifications, and the detection of incompatible component versions.
Currently the granularity of the PEG is limited to components and their interface connections. As a second target it shall be evaluated, if a refinement of the PEG to a functional level based on method signatures is suitable in order to improve the quality of our results. If the evaluation shows, that such a refinement is beneficial and applicable, the current PEG model will be extended.


Finally the defined analysis methods and visualization concepts are implemented and tested on an example software platform, currently developed at Wincor Nixdorf, called Retail Banking Software Solution.

 

Vorkenntnisse:

Kontakt: Dr. Christian Gerth

Anhang: noch kein Anhang

Comparison of Various Contract-Based Approaches for Specifying Behavior of On-The-Fly Computing Services

Aufgabenbereich: Service Specification in On-The-Fly Computing, Contract-Based Specifications

Status: Abgeschlossen

Bearbeiter: Kavitha Jagannath

Beschreibung: The Collaborative Research Centre 901 "On-The-Fly Computing" provides techniques and processes for the automatic and dynamic configuration of service available on world-wide markets. In order to discover and compose those services according to some customer-specific request, not only structure but also behavior of these services have to be described. One of the techniques used to describe behavioral aspects of services is design-by-contract. The goal of this master's thesis is to investigate various design-by-contract techniques that can be used for the service specification in on-the-fly computing and compare them regarding to the types of specification needed.

Vorkenntnisse:

Kontakt: Svetlana Arifulina

Anhang: noch kein Anhang

Context Model for Adaptive Systems

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Matthias Becker

Beschreibung:

Die Software und Systementwicklung wird heutzutage oft durch modellbasierte Entwicklung unterstützt. Modelle unterstützen den Entwicklungsprozess in allen Phasen, von der Anforderungsdefinition über die Analyse und der technischen Spezifikation bis hin zum Testen.

Eine besondere Eigenschaft von Systemen ist Adaptivität. Das System ist in der Lage sich selbständig, aufgrund von Änderungen in der Systemumgebung, anzupassen. Während die UML und SysML die oft genutzten Modellierungssprachen für die Erstellung von Analyse- und Entwicklungsmodellen sind bieten sie keine Unterstützung die adaptiven Aspekte explizit darzustellen und das führt zur Mischung von Adaptions- und Applikationslogik in den zu erstellenden Modellen. Ein Ansatz für die explizite Modellierung der Adaptionslogik, bereits in der Analysephase, bietet die modellbasierte Beschreibung von Adapt-Cases. Mit Adapt-Cases können regelbasierte Anpassungen eines Systems beschrieben werden. Diese Herauslösung der Adaptionslogik aus der Applikationslogik benötigt eine explizite Darstellung der Systemschnittstellen die von der Adaptionslogik genutzt werden können, damit das System auch Anpassungen durchführen kann. Diese Arbeit beschäftigt sich mit der Analyse bestehender Ansätze und der Entwicklung eines formalen Modells, welches den Systemkontext in ausreichender Form darstellt. Eine entsprechende Modellierungssprache zur Erstellung des Modells wird ebenfalls definiert. Auf dieser Basis sollen Adapt-Cases vollständig definiert und dessen Ausführung analysiert werden können.

Zusammenfassend sind die Ziele der Arbeit folgende:

  1. Definition des Begriffs „Adaptives System“.
  2. Analyse der Anforderungen für die Modellierung von adaptiven Systemen, sowie dessen Kontext.
  3. Erstellung eines UML-Profils für die Kontext-Modellierung.
  4. Nutzung von Meta-Modellierung als formale Grundlage zur Sprachentwicklung.
  5. Eingliederung der Erstellung und Nutzung des Kontextmodells im Entwicklungsprozess.
  6. Erstellung eines prototypischen Editors für die Erstellung des Kontextmodells.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Coverage Criteria for Testing DMM Specifications

Aufgabenbereich: Dynamic Meta Modeling

Status: Abgeschlossen

Bearbeiter: Svetlana Arifulina

Beschreibung:

Dynamic Meta Modeling (DMM) is a semantics specification technique for visual behavioral modeling languages. A DMM specification basically consists of a number of graph transformation rules which realize a model's behavior. To improve a quality level of a DMM specification, the approach of test-driven semantics specification (TDSS) can be used: Before creating the DMM rules, a set of example models is created, and their expected behavior is formalized. During creation of the rules, it is continously tested whether the semantics specification indeed produces that behavior.

However, one would want to measure the quality of the tests itself. One common approach to measure the quality of tests in software engineering is the computation of the coverage of the System under Test (SUT): During execution of the tests, the SUT is monitored, and elements of the SUT which have been executed are identified (e.g., statements of the program code). The coverage is then computed as the ratio between all elements the SUT consists of and the covered elements.

This thesis will investigate whether the concept of test coverage in software engineering can be transferred to the approach of TDSS.

 

Vorkenntnisse: Good knowledge of Java and Eclipse/EMF. Solid mathematical background.

Kontakt: Christian Soltenborn

Anhang: Master_Thesis_Svetlana_Arifulina.pdf

Decision Support for Testing and Compatibility Issues during the Evolution of Software Platforms

Aufgabenbereich: Software Platform Evolution, Model-based Testing

Status: Abgeschlossen

Bearbeiter: Erik Budweg

Beschreibung:

The development and evolution of software platforms is a complex task since different versions of the components contained in the platform are used in different software products at the same time. This thesis is located in the area of development of software platforms. The focus is put on two questions which are related to quality assurance. The first one is in the field of integrative testing and the other one tackles compatibility issues.

Integration tests have to be done during the development of a software platform. They help to determine whether different components are compatible with each other or not. Since there are often multiple components in a platform that are under development, the question arises which integrative tests have to be done? It would be possible to apply every integration test available whenever a single component of the platform is updated. However, since testing is very time and money consuming if done manually, that solution is not optimal. It would be more efficient to identify the parts of the platform, which are affected by a change of one or multiple components and in addition to derive which integration tests have to be executed.

The results of the integration tests provide us with the necessary information to answer the following question: What parts and what versions of different components in our platform are compatible with each other? We can get a decision support for that information from the results of the integration tests. Here we assume that a good integration test that was performed either successfully or unsuccessfully is an indicator for the compatibility between different versions of components in a software platform.

The goal of this master’s thesis is to answer these two questions. For that purpose a modelling language shall be developed that enables to record the evolution of a software platform during the development cycle. That language is going to be called Platform Evolution Graph (PEG) and shall extend UML Component Diagrams. Furthermore it shall represent compatibilities between different versions of components based on the results of the integration tests.

 

Vorkenntnisse:

Kontakt: Dr. Christian Gerth

Anhang: noch kein Anhang

Detection and Resolution of Data-Flow Differences in Business Process Models

Aufgabenbereich: Business Process Management, Model-based Development

Status: Abgeschlossen

Bearbeiter: Ivan Jovanovic

Beschreibung:

In every kind of organization there are organizational and business goals that have to be achieved. In order to achieve them, a simple activity or set of activities, which comprise a business process are typically documented and are later on the starting point for the development of supporting IT-Systems.

Business process modeling is an essential part of business process management, which is concerned with the specification of business processes in terms of models. Business process modeling is typically performed in a team environment. After the initial creation, a process model is refined by different members of the team, in order to reflect changed requirements or changed rules of the business processes. Thereby different versions of the original business process model are created. At some point in time all these versions have to be merged in an integrated process model that comprises selected changes of the different versions.


Considering the field of process model comparison and analysis, in recent years several techniques have been developed for comparing and analyzing process models. In these approaches the most attention has been devoted to the control-flow perspective, i.e. the execution order of activities in process models. However, the data-flow perspective has not considered too much attention. Nevertheless, this does not indicate that the role of data in process models is unimportant; it is rather the case that the flow of data has a strong impact on the activity execution.


The overall aim of this master’s thesis is the development of an approach for the detection of data-flow differences between different versions of a process model in a state-based scenario where applied changes are not logged e.g. in a change log. The approach shall extend the existing approach for the detection of control-flow differences. In order to meet the aim the following objectives are defined:

 

  1. Creation of a difference model for data-flow differences in terms of change operation types
  2. Development of a method for the detection of data-flow differences
  3. Derivation of a dependencies between data-flow and control-flow differences
  4. Visualization and Resolution of differences
  5. Implementation of tool support to compute the data-flow differences between process model versions

 

 

Vorkenntnisse:

Kontakt: Dr. Christian Gerth

Anhang: noch kein Anhang

Efficiency and Effectiveness of Multi-Stage Machine Learning Algorithms for Text Quality Assessment

Aufgabenbereich: Machine Learning, Algorithms

Status: Abgeschlossen

Bearbeiter: Daniel Mex

Beschreibung:

Motivation. Von Internet-Nutzern generierte Online-Enzyklopädien, insbesondere Wikipedia, stellen heutzutage für viele Menschen die wichtigste Wissensquelle dar. Der enorme Umfang solcher Enzyklopädien erweckt den Bedarf, die Qualität der enthaltenen Texte automatisch bewerten lassen zu können. Algorithmische Verfahren für dieses Problem analysieren einen Text schrittweise bezüglich einer Reihe von Mängeln, etwa mit dem Ziel, diejenigen Texte zu identifizieren, welche mindestens einen Qualitätsmangel aufweisen. Dabei können sowohl die Reihenfolge als auch die Tiefe der Analyseschritte signifikanten Einfluss auf die Effizienz und Effektivität des Bewertungsprozesses haben.

Aufgabenstellung. Ziel der Masterarbeit ist einerseits, bereits existierende Klassifikationsalgorithmen der Bauhaus-Universität Weimar zur Qualitätsbewertung von Texten zu verfeinern und für verschiedene Tiefen der Analyse anzupassen. Andererseits soll eines der am s-lab entwickelten Verfahren zum effizienten Scheduling mehrstufiger Textanalyse-Prozesse geeignet ausgewählt und auf die Qualitätsbewertung übertragen werden, um die Reihenfolge ihrer Analyseschritte für die Erkennung von Texten mit Qualitätsmängeln zu optimieren. Auf Basis einer zu implementierenden Umsetzung des Scheduling-Verfahrens für die Klassifikationsalgorithmen, sollen dann Effizienz und Effektivität verschiedener Analysetiefen der Qualitätsbewertung anhand eines großen Wikipedia-Datensatzes evaluiert werden, welcher im Vorhinein bezüglich der für die Aufgabe relevanten Kriterien zu analysieren ist.

 

 

Vorkenntnisse: Sicherer Umgang mit den Grundlagen des maschinellen Lernens

Kontakt: Dipl.-Inf. Henning Wachsmuth

Anhang: Ausschreibung_MA_Quality.pdf

Efficient Quality Assurance of Self-Adaptive Systems

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Christian Thanos

Beschreibung:

An heutige Systeme werden immer stärkere Anforderungen bzgl. der Flexibilität und Robustheit gestellt. Eine mögliche Lösungsalternative ist die Einführung von Selbst-Adaptivität in das System, also die Fähigkeit sich selbstständig an Ereignisse im Umfeld und im System selbst anzupassen. Um solche Systeme ingenieursmäßig planen zu können, existieren Modellierungssprachen wie die Adapt Case Modeling Language (ACML). Eine geeignete Modellierungssprache kann die Komplexität heutiger Systeme nur zum Teil vermindern. Um trotzdem qualitativ hochwertige System zu bauen, werden Qualitätssicherungsverfahren eingeführt, die bereits früh während der Entwicklung zum Einsatz kommen. In Verbindung mit der ACML existiert ein Qualitätssicherungsansatz, genannt QUAASY, der auf Model-Checking-Verfahren beruht. Solche Verfahren haben jedoch das Problem eines explodierenden State Spaces und der damit fehlenden Skalierbarkeit für große Modelle.

 

Ziel dieser Arbeit war den QUAASY Ansatz zu optimieren. Dazu sollten sowohl gängige Ansätze im Bereich des Model-Checkings als auch spezifische Optimierungen auf Basis der zugrunde liegenden Sprache (ACML) und der einhergehenden Semantik für selbst-adaptive Systeme berücksichtigt werden. Die Optimierungen an QUAASY sollten prototypisch implementiert und mit dieser Implementierung evaluiert werden.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Effiziente Information-Extraction-Verfahren zur Erstellung von Use-Case-Diagrammen aus Texten

Aufgabenbereich: Information Extraction, Maschinelles Lernen

Status: Abgeschlossen

Bearbeiter: Nikita Korshunov

Beschreibung:

Motivation. Im Entwicklungsprozess aufwändiger Software-Projekte entstehen enorme Mengen textueller Daten, die manuell kaum zu bewältigen sind. Die jüngst abgeschlossene Projektgruppe „Information-driven Software Engineering“ hat daher unter Anderem Verfahren der Information Extraction entwickelt, mittels derer sich benannte Entitäten wie Akteure, Komponenten und Anforderungsbezeich-nungen automatisch in textuellen Software-Artefakten identifizieren lassen. Eine Erweiterung um die Erkennung von Relationen zwischen diesen Entitäten (so genannte „Relation Extraction“) ermöglicht die automatische Erstellung von Use-Case-Diagrammen. Für solche Zwecke kommen Pipelines teilweise berechnungsintensiver Algorithmen der natürlichen Sprachverarbeitung zum Einsatz. 

Aufgabenstellung. Ziel der Arbeit ist es, aufbauend auf den Ergebnissen der Projektgruppe maschinelle Lernverfahren zur Erkennung von Relationen zwischen den erwähnten Entitäten zu entwickeln, in Java zu implementieren und in die von der Projektgruppe erstellte Umgebung einzubinden. Eine Visualisierung der gefundenen Relationen als Use-Case-Diagramm ist bereits vorhanden. Die Güte der Verfahren soll geeignet evaluiert werden. Um den Berechnungsaufwand minimal zu halten, soll die Pipeline aller verwendeten Vorverarbeitungs- und Extraction-Algorithmen optimiert werden, wofür auf Methoden aktueller Forschungsergebnisse der Fachgruppe s-lab – Software Quality Lab der Universität Paderborn zurückgegriffen werden kann.

 

Vorkenntnisse: Vorwissen im Bereich des Maschinellen Lernens, zum Beispiel durch die gleichnamige Vorlesung

Kontakt: Dipl.-Inf. Henning Wachsmuth

Anhang: Ausschreibung_MA_RelationExtraction_01.pdf

Effizienz und Effektivität der Integration von Textklassifikation in Information-Extraction-Pipelines

Aufgabenbereich: Information Extraction, Maschinelles Lernen

Status: Abgeschlossen

Bearbeiter: Steffen Beringer

Beschreibung:

Motivation. Innerhalb von Information-Mining-Anwendungen dienen Textklassifikatoren der Filterung relevan-ter Texte und Information-Extraction-Pipelines der Analyse von Texten. Üblicherweise werden Filte-rung und Analyse als getrennte Phasen umgesetzt, obwohl die meisten Textklassifikatoren auf Er-gebnissen von Information-Extraction-Algorithmen basieren. Die so entstehende Redundanz lässt sich durch Integration der Textklassifikation in die Information-Extraction-Pipeline vermeiden. Je früher dabei Texte gefiltert werden, desto weniger Analysen sind auf irrelevanten Texten auszufüh-ren, aber je mehr Analysen auf einem Text ausgeführt werden, desto mehr Informationen stehen für die Filterung zur Verfügung. Dies impliziert einen Trade-off zwischen Effizienz und Effektivität der umgebenden Anwendung.

Aufgabenstellung. Ziel der Masterarbeit ist es, den Trade-off zwischen Effizienz und Effektivität anhand einer gege-benen Information-Extraction-Pipeline mit Algorithmen A1, ..., Ak und einer Menge alternativer Textklassifikatoren y1, ... yk konzeptuell und experimentell zu untersuchen, wobei jeder Klassifikator yi die Ergebnisse von Algorithmus A1, ..., Ai benötige. Dafür soll das die Integration von Textklassifi-kation in Information-Extraction-Pipelines geeignet modelliert und analysiert werden. Eine experi-mentelle Evaluierung findet auf Basis einer geeigneten Auswahl bestehender Textdokumente und Algorithmen statt, wofür passende Textklassifikatoren zu trainieren und in Java innerhalb des Fra-meworks Apache UIMA einzubinden sind. Darauf aufbauend soll betrachtet werden, welche Auswir-kung die Integration von Textklassifikation für das am s-lab entwickelten Verfahren zur Laufzeitop-timierung von Information-Extraction-Pipelines  hat.

 

Vorkenntnisse: Vorwissen im Bereich der Information Extraction und des maschinellen Lernens

Kontakt: Dipl.-Inf. Henning Wachsmuth

Anhang: Ausschreibung_MA_Integration_01.pdf

Eine formale, graphbasierte Semantik für UML Interactions

Aufgabenbereich: Dynamic Meta Modelling

Status: Abgeschlossen

Bearbeiter: Jens Schäfer

Beschreibung: Das Verhalten von Sequenzdiagrammen ist in der UML-Spezifikation nur natürlichsprachlich beschrieben (wie das aller anderen Verhalten beschreibenden Sprachen auch). Dieses Manko lässt sich mit Hilfe des von der AG Engels entwickelten Dynamic Meta Modeling (DMM, siehe auch hier) beheben. Es soll also eine DMM-Spezifikation des Verhaltens von Sequenzdiagrammen entwickelt werden, und zwar auf Basis der UML-Spezifikation. Diese soll mit der sich zurzeit in Entwicklung befindlichen Semantik für Aktivitätendiagramme sowie der für Statecharts (siehe entsprechende Abschlussarbeit) integriert sein. Aufgabe: Analysieren des Verhaltens von Sequenzdiagrammen anhand der UML-Spezifikation sowie bereits vorhandener Semantikspezifikationsansätze. Implementieren einer DMM-Spezifikation für Sequenzdiagramme mittels der vorhandenen Werkzeugumgebung. Dokumentieren der Ergebnisse.

Vorkenntnisse: Solide UML-Kenntnisse. Vorteilhaft sind Einblicke in Metamodellierung sowie Erfahrungen mit Graphtransformationen.

Kontakt: Christian Soltenborn

Anhang: Diploma_Thesis_Jens_Schäfer.pdf

Eine formale, graphbasierte Semantik für UML Statemachines

Aufgabenbereich: Dynamic Meta Modelling

Status: Abgeschlossen

Bearbeiter: Viktor Nesterow

Beschreibung:

Das Verhalten von Statecharts ist in der UML-Spezifikation nur natürlichsprachlich beschrieben (wie das aller anderen Verhalten beschreibenden Sprachen auch). Dieses Manko lässt sich mit Hilfe des von der AG Engels entwickelten Dynamic Meta Modeling (DMM, siehe auch hier) beheben. Es soll also eine DMM-Spezifikation des Verhaltens von Statecharts entwickelt werden, und zwar auf Basis der UML-Spezifikation. Diese soll mit der sich zurzeit in Entwicklung befindlichen Semantik für Aktivitätendiagramme sowie der für Sequenzdiagramme (siehe entsprechende Abschlussarbeit) integriert sein.

Aufgabe: Analysieren des Verhaltens von Statecharts anhand der UML-Spezifikation sowie bereits vorhandener Semantikspezifikationsansätze. Implementieren einer DMM-Spezifikation für Statecharts mittels der vorhandenen Werkzeugumgebung. Dokumentieren der Ergebnisse.

 

Vorkenntnisse: Solide UML-Kenntnisse. Vorteilhaft sind Einblicke in Metamodellierung sowie Erfahrungen mit Graphtransformationen.

Kontakt: Christian Soltenborn

Anhang: Diploma_Thesis_Viktor_Nesterow.pdf

Empirische Untersuchung unterschiedlicher Technologien der dynamischen Codegenerierung

Aufgabenbereich: Softwareentwicklung, Codegenerierung

Status: Abgeschlossen

Bearbeiter: Andreas Pfau

Beschreibung:

Bei Capgemini wurde für das Fährschifffahrtsunternehmen Scandlines im Projekt COAST von 2003 bis 2005 die gleichnamige Individualsoftware entwickelt, welche bis heute gewartet und weiterentwickelt wird. COAST ist das zentrale Buchungs- und Ticketingsystem für Passagier-, Fracht- und Zugverkehr sowie auf hochfrequentierten Routen und Tagesreisen. Durch die Einführung wurden acht unterschiedliche dezentrale Altsysteme abgelöst.

COAST ist als Software mit einer Drei-Schichten-Architektur konzipiert und wurde ursprünglich unter Java 1.4 entwickelt und im Jahr 2010 auf Java 1.6 umgestellt. Der Java Client dient als Präsentationsschicht und bietet dem Benutzer in Dialogen die Abwicklung der Geschäftsprozesse an. Die Geschäftslogik ist im Java Server implementiert und die Datenhaltung wird von einer relationale Datenbank übernommen.

Die Geschäftslogik im Server ist in Anwendungsfälle gegliedert. Diese bieten dem Client die Möglichkeit Daten in kleinen Arbeitspaketen abzurufen und zu modifizieren. Einige Anwendungsfälle sind ausschließlich für den serverinternen Gebrauch vorgesehen, die anderen Anwendungsfälle werden gegenüber dem Client durch eine separate Schnittstelle veröffentlicht. Die Veröffentlichung folgt einer vordefinierten Struktur, die keine Geschäftslogik enthält.

Da die strukturierte Veröffentlichung manuell implementiert wird bietet sich hier die automatische Codegenerierung an. Diese soll anhand der definierten Schnittstelle den nötigen Code zur Veröffentlichung der Anwendungsfälle generieren. Der Implementierungsaufwand wird dadurch reduziert. Dazu wird einmalig ein Codegenerator entwickelt. Für die vollständige Generierung wird die Schnittstelle um eine Konfiguration erweitert. Somit besteht die Veröffentlichung der Anwendungsfälle nur noch aus der Konfiguration und Erweiterung der Schnittstelle.

Ziel der Masterarbeit ist es, die für die automatische Codegenerierung zur Verfügung stehenden Werkzeuge anhand der Projektanforderungen evaluiert. Im Hauptteil der Arbeit wird der Codegenerator für die in Frage kommenden Werkzeuge implementiert und in einem Laufzeittest gegenüber gestellt. Der Laufzeittest soll zeigen, dass durch die automatische Generierung keine Geschwindigkeitsverluste auftreten und klären, ob die Laufzeit von der Komplexität eines Anwendungsfalles abhängt. Abschließend wird die Analysierbarkeit von Fehlerursachen besprochen.

 

 

 

 

 

Vorkenntnisse:

Kontakt: Dr. Christian Gerth, Dipl.-Inf. Fabian Christ

Anhang: noch kein Anhang

Enactment of Software Development Methods with the Support of BPEL Workflow Engines

Aufgabenbereich: Method Engineering / Business Process Modelling

Status: Abgeschlossen

Bearbeiter: Karthik Neela

Beschreibung:

In software projects typically software engineering methods (SEMs) like V-Modell XT or Scrum are used as best practices for how to plan, develop and test the software. One important question is how to mix or extend these SEMs in order to provide optimal support for each individual project situation, e.g. by mixing agile and plan-driven software development.
Developing software by following SEMs is difficult, especially for large projects with multiple involved parties and a distributed team. Coordination of the tasks and subtasks, and assigning tasks to the responsible people has to be done manually. This usually forces to repeat tedious tasks manually, which by themselves do not add any value to the final product, but instead waste serious amounts of time, thus increasing overall costs. For the purpose of automation of the software project management, workflow engines would be useful, but using them is directly not possible. The reason is that the workflow engines can only execute models based on workflow languages like BPEL and BPMN and also in addition to that SPEM 2.0/UMA based SDM models do not have sufficient execution semantics.
The aim of this thesis is to enable the execution of the TASQ Method Models with a BPEL workflow engine. The following are the sub-goals,

  1. Define the transformation of TASQ Method models into BPEL process models
  2. Refine the TASQ metamodel
  3. Define the creation of Human Task and forms
  4. Provide a runnable tool-chain by integrating TASQ components, the transformation component and WSO2 BPS with BPEL4People support for BPEL Process execution and Human task deployment.

 

Vorkenntnisse:

Kontakt: Masud Fazal-Baqaie

Anhang: noch kein Anhang

Entwicklung eines Expertensystems zur automatischen Erstellung effizienter Information-Extraction-Pipelines

Aufgabenbereich: Information Extraction, Künstliche Intelligenz

Status: Abgeschlossen

Bearbeiter: Mirko Rose

Beschreibung:

Motivation. Information-Extraction (IE) adressiert komplexe Informationsbedürfnisse durch die intelligente Verarbeitung natürlichsprachigen Texts mittels Pipelines zahlreicher Algorithmen. Üblicherweise erfordert die Erstellung solcher Pipelines eine von menschlichen Experten durchgeführte Analyse der Möglichkeiten vorhandener Algorithmen und ihrer Abhängigkeiten. Darüber hinaus ist eine durch-dachte Abfolge der einzelnen Verarbeitungsschritte notwendig, um in der Praxis Anforderungen an die Effizienz und Effektivität der Pipelines erfüllen zu können. Dies macht die Planung und Entwick-lung von IE-Pipelines zeitaufwändig und damit teuer. Eine maschinelle Unterstützung kann Abhilfe leisten, indem der Entwicklungsprozess von IE-Pipelines weitest möglich automatisiert wird.

Aufgabenstellung. Ziel der Masterarbeit ist es, ein Expertensystem zu entwickeln und zu evaluieren, das für ein ge-gebenes Informationsbedürfnis automatisch eine möglichst effiziente Pipeline an IE-Algorithmen berechnet. Darauf aufbauend soll untersucht werden, inwiefern sich ein solches Expertensystem für die Beantwortung komplexer Suchanfragen in Endanwendungen einsetzen lässt. 
Für die Aufgabenstellung ist einerseits eine formale Repräsentation des verwendeten Wissens über Algorithmen und Pipelines zu erarbeiten, in die auch das am s-lab entwickelte Verfahren zur Optimierung der Laufzeiteffizienz von IE-Pipelines integriert werden soll. Andererseits sind Metho-den der künstlichen Intelligenz, etwa aus den Bereichen Planning und Semantic Web, geeignet aus-zuwählen, mittels derer das Expertensystem Schlussfolgerungen erzielen kann. Auf dieser Basis soll das Expertensystem konzipiert und – aufsetzend auf dem Apache-UIMA-Framework – in Java imple-mentiert werden. Für die Evaluierung des Expertensystems kann auf eine vorhandene Menge an Algorithmen zurückgegriffen werden. 

 

Vorkenntnisse: Vorwissen im Bereich der intelligenten Wissensverarbeitung

Kontakt: Dipl.-Inf. Henning Wachsmuth

Anhang: Ausschreibung_MA_ExpertSystem_01.pdf

Entwicklung und Implementierung einer ITIL-konformen Workflow Webapplikation basierend auf der Monitoringlösung Nagios

Aufgabenbereich: Testmanagement

Status: Abgeschlossen

Bearbeiter: Manuel Siegert

Beschreibung: Vertraulich

Vorkenntnisse:

Kontakt: Yavuz Sancar

Anhang: noch kein Anhang

Erarbeitung und Umsetzung eines Konzeptes zur Messung der Softwarequalität durch Testen

Aufgabenbereich: Testmanagement

Status: Abgeschlossen

Bearbeiter: Yves Laga

Beschreibung: Vertraulich.

Vorkenntnisse:

Kontakt: Yavuz Sancar

Anhang: noch kein Anhang

Evaluation of Adapt Cases

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Adnan Biser

Beschreibung:

Adaptive Systems:
Self-Adaptive Systems are the software systems of tomorrow. Self-adaptive systems autonomously react to problems or changes in their environment at runtime in order to maintain their functionality. Types of adaptation include the replacement of components, the configuration of components, or the adaptation of data. For instance, a web application that uses the google image service might autonomously switch to flickr when it recognizes problems with the google service. Concrete problems might be crashing services, lacking service quality, or even errors in the provided service functionality.

Giving the system the abilities of self- and context-awareness, several additional fields of application arise. Besides the above describe self-healing abilities, the system may also self-configure dynamically, e.g. to always use the correct location-dependent traffic service. Further, the system may self-optimize, e.g. to always select the cheapest service with the highest possible quality. There are countless numbers of applications that will be used in future software and systems engineering. 

Background:
Requirements that describe the adaptivity of software differ from conventional requirements such that they contain more domain-specific information. For instance, the description of a system that adds server to a server farm to adjust a system's performance must contain information about how to measure the system's performance, what the performance boundaries are, etc. Therefore, in our Research Group, we developed a new modeling approach termed Adapt Cases, which is an extension of the Use Case approach, to describe adaptation requirements. 

Task:
The objective of this thesis is to evaluate Adapt Cases on applicability and usability. That is, Adapt Cases shall be applied to different software requirements specifications. The meta-model has to be adjusted if needed and an intuitive notation for Adapt Cases shall be elaborated.

What you get: very good supervision, skills in current software engineering trends

Note:
You will work in close connection with members of the group. The thesis will be supervised by Markus Luckey. Thesis may be written in English or German. If you are interested please contact us.

 

Vorkenntnisse:

Prerequisites:
Willingness to work scientifically, interest in requirements engineering and adaptivity of software.

 

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Evaluierung und Implementation von Konzepten zur Bereitstellung einer J2EE-Umgebung in einem Servlet-Container mit Hilfe von Webservice-Funktionalitäten

Aufgabenbereich: Software Frameworks

Status: Abgeschlossen

Bearbeiter: Markus Knoop

Beschreibung:

arvato direct services ist eine Untergruppe der Bertelsmann AG. Es handelt sich
dabei um ein Dienstleistungsunternehmen, das im Namen von Auftraggebern dessen
Kundenbeziehung verwaltet. Da die Anforderung variieren, müssen für die
effektive Erreichung des Unternehmensziels entsprechende Applikation für die
Kundenbetreuung entwickeln werden. Die Abteilung DCO von arvato direct services
ist für die Erstellung dieser Software zuständig.


Die benötigten Applikationen zur Kundenbetreuung werden zum großen Teil aus
bestehenden Frameworks entwickelt. Deren Modularität erlaubt eine Zusammensetzung
der einzelnen Elemente entsprechend einem Baukastensystem, wodurch
die Erstellung eines qualitativ hochwertigen Endproduktes in möglichst kurzer
Zeit erreicht werden kann. Bei dem momentanen Stand der Entwicklung wird dabei
primär die Programmiersprache Java eingesetzt, die auch eine Plattformunabhängigkeit
ermöglicht. Ein Framework, was bei der Entwicklung unter Anderem
eingesetzt wird, ist das Open Source Projekt „CUBA“ [CUBA22]. Dieses übernimmt
die Funktion eines Containers für Komponenten, die dem Enterprise Java
Beans Standard entsprechen, ohne dafür extra einen J2EE Applikation Server besitzen
zu müssen. Der Container erlaubt die drei Modi als EJB, AXIS-Webservice
und Stand-Alone (auch „Wired“ genannt). Je nach Auswahl kann entsprechend
auf die beinhaltende Komponente und deren Methoden zugegriffen werden, wodurch
Software in ihrer Struktur unabhängig von der physischen Verteilung gestaltet
werden kann. Im weiteren Verlauf dieses Proposals wird ausschließlich der
AXIS-Webservice-Modus betrachtet, da in diesem Bereich ein Erweiterungsbedarf
besteht. Dieser Modus erlaubt einen Zugriff des Clients weltweit über das
Internet. Die für die Kommunikation notwendigen Webservice-Schichten werden
dafür von CUBA für den Client und den Server automatisch aus der der Geschäftslogik
generiert. In Abbildung 1 ist ein beispielhaftes Modell dargestellt.
Die Übertragung der Daten zwischen Client und Server erfolgt mittels SOAP
und dem Webservice-Framework Apache AXIS. SOAP erlaubt die Kommunikation
über HTTP und ermöglicht eine Kopplung ohne zusätzliche Änderungen
seitens der Netzwerkadministration, da der Port 80 standardmäßig für Browseraktivitäten
freigegeben ist. Die übermittelten Datentypen werden als Base64-
kodierte Strings übertragen und müssen auf der jeweiligen Seite wieder interpretiert
werden. Für nicht-primitive Datentypen werden dem Client in dem CUBAWebservice-
Adapter dafür alle notwendigen Bibliotheken bereitgestellt. Auf
diese Weise werden dem Client alle Methodenaufrufe der Geschäftslogik ohne Einschränkungen ermöglicht. Das CUBA-Framework berücksichtigt bei der Codegenerierung
der Kommunikationsschichten für den Client und den Server keine
Sessionverwaltung. Daher können innerhalb der Geschäftslogik nur statuslose
(stateless) Enterprise Java Beans genutzt werden, d.h. jede Anfrage von einem
Client wird unabhängig von vorherigen bearbeitet. Die EJB-Instanzen werden auf
der Serverseite in einem Pool gehalten und bei Clientanfragen entsprechend zugewiesen.
Nach beendeter Ausführung eines Aufrufes werden die Instanzen wieder
in den Pool freigegeben. Zwischen dem Client und der verwendeten EJB-Instanz
besteht keinerlei Verbindung mehr. Diese Nutzungsart ist zwar einfach und auch
ressourceneffizient, jedoch nicht immer ausreichend.

 

Vorkenntnisse:

Kontakt: Dipl.-Wirt.-Inf. Andreas Wübbeke

Anhang: noch kein Anhang

Heuristische Suchverfahren zur Laufzeitoptimierung von Information-Extraction-Pipelines

Aufgabenbereich: Information Extraction, Künstliche Intelligenz

Status: Abgeschlossen

Bearbeiter: Tobias Melzner

Beschreibung:

Motivation. Information-Extraction-Pipelines analysieren automatisch natürlichsprachigen Text, um strukturierte Informationen über festgelegte Typen von Entitäten, Beziehungen zwischen diesen und umgebende Ereignisse zu identifizieren und verarbeitbar zu machen. Dadurch lassen sich die Möglichkeiten gegenwärtiger Internet-Suchanwendungen deutlich erweitern. In der Praxis sind Pipelines dafür jedoch häufig zu langsam, vor allem da sie berechnungsintensive Analysen auch auf irrelevanten Textpassagen durchführen. In einem aktuellen Forschungsprojekt wird daher an der Laufzeitoptimierung solcher Pipelines gearbeitet, was ein Scheduling der Pipelines auf Basis verschiedener Kriterien beinhaltet. Ein Ansatz, dieses Optimierungsproblem effizient zu lösen, führt über die Kernalgorithmen der künstlichen Intelligenz: heuristische (informierte) Suchverfahren.

 

 

Aufgabenstellung. Ziel der Arbeit ist es, das Pipeline-Scheduling-Problem als heuristisches Suchproblem zu model-lieren und dessen Eigenschaften abstrakt zu untersuchen. Davon ausgehend soll ein geeignetes Suchverfahren ausgewählt werden, mittels dessen sich das Problem möglichst effizient und optimal lösen lässt. Dieses Verfahren soll konzeptuell entwickelt und implementiert werden. Zur Evaluierung des Verfahrens wie auch der Laufzeit resultierender Pipelines dient ein Projekt des Bundesministe-riums für Bildung und Forschung; in diesem wurde eine Information-Extraction-Pipeline zur Erkennung und Verarbeitung textueller Umsatzprognosen entwickelt, die zahlreiche Analyseschritte beinhaltet und den Nutzen von State-of-the-Art-Algorithmen der künstlichen Intelligenz im industriellen Einsatz zeigt.

 

Vorkenntnisse: Sicherer Umgang mit den Inhalten der Master-Veranstaltung „Heuristische Suchverfahren“

Kontakt: Dipl.-Inf. Henning Wachsmuth

Anhang: Ausschreibung_MA_HeuristicSearch_01.pdf

Identifikation und Modellierung der Variabilität von Komponenten in einer Softwareproduktlinie bei arvato services

Aufgabenbereich: Software Product Lines

Status: Abgeschlossen

Bearbeiter: Alexander Emken

Beschreibung:

arvato services hat langjährige Erfahrung im Bereich der Dienstleistungen rund um die Domänen CRM, Fulfillment und Loyalty. Die Fachabteilungen werden bei der Umsetzung von flexiblen Geschäftsprozessen durch Software un-terstützt. In diesem Kontext wurde in vergangenen Jahren ein Softwarekomponenten-Baukasten entwickelt, der die Abdeckung der flexiblen Geschäftsprozesse der Fachabteilungen und Kunden und eine schnelle Erstellung von quali-tativ hochwertigen, komponenten-basierten Anwendungen unterstützt.
Im Rahmen des Projekts „Erstellung und Validierung eines Testkonzepts für DMD3000 im Rahmen der arvato Soft-ware-Produktlinieninitiative“ (siehe: s-lab.upb.de/Projekte/TestkonzeptDMD3000/) soll dieser Softwarekom-ponenten-Baukasten untersucht und verbessert werden.


Im Softwarekomponenten-Baukasten existieren zu den einzelnen Komponenten Anwendungsfall- und dazugehörige Testfallbeschreibungen. Ziel dieser Arbeit ist es, diese beiden Artefakte hinsichtlich ihres Einsatzes in konkreten Entwicklungsprojekten zu analysieren, die dabei vorhandene Variabilität, d.h. die Anpassbarkeit von Komponenten, herauszustellen und zu modellieren.
Die Arbeit umfasst die folgenden Aufgaben:
• Einarbeitung in den Softwareentwicklungsprozess bei arvato services
• Auswahl einer repräsentativen Menge an Komponenten und Entwicklungsprojekten
• Analyse der Nutzungsweise der Komponenten in den jeweiligen Entwicklungsprojekten
• Identifikation der Variabilität und der Variationspunkte in den Anwendungs- und Testfallbeschreibungen
• Modellierung der identifizierten Variabilität mit Hilfe geeigneter Modellierungstechniken in den Anwendungs- und Testfallbeschreibungen

 

Vorkenntnisse: • Studienrichtung: Informatik / Wirtschaftsinformatik mit Zulassungsvoraussetzung zur Diplom-/ Masterprüfung
• Gute Kenntnisse in Software-Entwurf
• Grundkenntnisse in Software-Testen
• Mobilität zur Bearbeitung des Themas bei arv

Kontakt: Dipl.-Wirt.-Inf. Andreas Wübbeke

Anhang: s-lab_Ausschreibung_DA_-_Evaluation_Komponentenbaukasten.pdf

Improving Service Specifications for the Service Matching on a Service Market

Aufgabenbereich: Quality management of service specifications in On-The-Fly Computing

Status: Abgeschlossen

Bearbeiter: Vahide Taherinajafabadi

Beschreibung:

On a worldwide service market of services, service specifications of a provider are discovered and compared to customer’s requests, in order to find services fulfilling these requests (the process of service matching). Service providers and service requests use different specification languages, for which corresponding matching approaches are available on the market. However, specifications of some services do not really describe them appropriately, thus, giving rise to false positive and false negative matching results (so-called mismatches). Therefore, the goal of this Master thesis is to improve service specifications of a service provider by analyzing and handling mismatches for different specification languages and their corresponding matching approaches. As a solution, a recommendation system for service providers to improve the service specification is developed. This recommendation system is based on a mismatch-driven approach in which the various types of mismatches between the requests and the service descriptions will be identified and recommendation for the service specification improvement will be offered to solve these mismatches. The contribution of this Master thesis is a systematic assistance to service providers to improve their offered service specifications, a categorization of mismatch types and recommendations for solving the identified mismatch categories.

 

Vorkenntnisse:

- Service specification languages

- Service matching approaches

- Eclipse Modeling Framework

 

Kontakt: Svetlana Arifulina

Anhang: noch kein Anhang

Improving the Inheritance Concept of Dynamic Meta Modeling

Aufgabenbereich: Dynamic Meta Modeling

Status: Abgeschlossen

Bearbeiter: Daniela Fisseler

Beschreibung:

Vorkenntnisse:

Kontakt: Christian Soltenborn

Anhang: Diplom_Thesis_Daniela_Fisseler.pdf

Integration des modellbasierten Testens in agile Methoden am Beispiel von Scrum

Aufgabenbereich: Testen in agilen Methoden

Status: Abgeschlossen

Bearbeiter: Dominik Beulen

Beschreibung:

Motivation

In den letzten Jahren haben die sogenannten „Agilen Methoden“ immer mehr an Gewicht gewonnen. Verschiedene Methoden, wie Scrum, Feature Driven Development und Extreme Programming sind mit dem Ziel entwickelt worden, schneller Software zu entwickeln und sicherzustellen, dass sie den sich immer ändernden Anforderungen des Kunden entspricht. Alle Methoden wollen Kundenzufriedenheit gewährleisten, sich den Veränderungen während des Prozesses anpassen, nah mit dem Kunden zusammen arbeiten und regelmäßig in kurzen Zyklen Inkremente des Produktes liefern. Scrum ist die momentan am meisten genutzte Methode; über 50% der Industrieunternehmen nutzen diese oder einen Hybriden aus Scrum und XP.
Herausforderungen bei Agilen Methoden und Scrum sind:

 

  • Ein hoher Grad an Kommunikation
  • Dokumentation nur soweit soweit nötig
  • Einfache Techniken für den Kunden für die Anforderungsanalyse Dokumentation
  • Ein hoher Grad an Testautomatisierung
  • Anforderungen ändern sich ständig
  • Erhöhter Testaufwand durch Regressionstests in den Sprints

Eine Möglichkeit, sich diesen Herausforderungen zu stellen, ist der Einsatz von modellbasierten Ansätzen. In der Arbeitsgruppe ist ein erster Ansatz entstanden, der modellbasierte Techniken für Akzeptanztests nutzt. Dabei werden die Anforderungen als einfache Modelle erfasst, aus denen später automatisiert Testfälle erstellt und diese automatisch ausgeführt werden können.


Aufgabenstellung
Die Aufgabe in dieser Masterarbeit ist es, den Einsatz des in der Arbeitsgruppe erarbeiteten Ansatzes bzgl. des Einsatzes für Agile Methoden am Beispiel anhand von Vergleichen mit anderen Ansätzen der modellbasierten Literatur genauer zu untersuchen und aufzubereiten. Auf Basis dieser Analyse, soll der Ansatz überprüft und weiter entwickelt werden. Als Beispiel soll dabei die Agile Methode Scrum dienen. Die Umsetzung dieses weiterentwickelten Ansatzes soll anschließend in einem Prototyp mit erfolgen.

 

Vorkenntnisse:  Kenntnisse in UML, Eclipse und Grundkenntnisse bzgl. Testens sind wünschenswert.

Kontakt: Dipl.-Inf. Silke Geisen, Baris Güldali

Anhang: noch kein Anhang

Key Aspects of Popular Development Methods as Building Blocks for Situational Method Engineering

Aufgabenbereich: Method Engineering / Software Engineering Methods

Status: Abgeschlossen

Bearbeiter: Daniel Siebert

Beschreibung:

Motivation

Software development methods are necessary to manage the software development

process in terms of designing, building, testing and delivering a software

product. Some development methods follow an agile approach e.g. SCRUM

or XP, others are more plan driven e.g. the V-Modell XT. Hybrid approaches

however combine plan driven aspects with agile elements, e.g. RUP.

To meet the situational context of the individual software development project,

a development method usually requires adaption which is referred to as tailoring

of a method. Tailoring approaches are more or less rigid and diversify between

free adoption and guided configuration depending on the underlying method.

Situational method engineering (SME) is the discipline of building situationspecific

software development methods by creating new methods or tailoring

existing ones. Assembly-based SME is a less rigid tailoring approach that is

based on a repository of method services that are used as building blocks to

create new, customized methods. This repository of predefined method services

is usually called a method base.

Creating consistent and meaningful methods that suit the situational requirements

of the underlying project requires distinct knowledge and experience in

the field of method engineering. To support the method engineer during this

complicated and error prone process, method patterns have been introduced in

[8]. Method patterns represent a “method frame” by constraining the assembly

of the predefined method services from the method base. As a result method

patterns provide additional guidance and quality constraints for the assembly

of new methods.

TASQ is a development environment that supports the assembly-based SME approach

with method patterns. To enforce the method engineer to create proper

methods by using the TASQ environment, a collection of predefined methodservices, and method patterns is required. At the current state, there are only

a few predefined method services and method patterns available in the TASQ
environment. As a result the assembly-based SME approach with method patterns
is not usable to its full extend. The repository of method services and
patterns has to be enlarged to support the method engineer during the tailoring
process to create a suitable method for the given purpose.

 

Task of the Thesis

The task of the thesis is to extract central aspects from representatives of plan
driven, agile and hybrid software development methods that offer the potential
to be decomposed into method services and method patterns. The method
services and patterns derived from the reusable method knowledge will be formalized
with the TASQ metamodel and stored in the TASQ methodbase. From
the methodbase they can be used as building blocks and will be combined by the
method engineer during the construction of new methods using the assemblybased
SME approach with method patterns as introduced in [8].
Situational factors play a crucial role for the method engineer in the selection
of method services and method patterns from the method base during the
construction of new methods. Hence situational factors will be linked to the
method patterns and method services that have been derived from the reusable
method knowledge.
During the formalization of method services and method patterns the TASQ
meta model is evaluated towards it’s expressiveness. It might occur that not all
relevant aspects of a desired method pattern or method service can be expressed
with the existing meta model of the TASQ environment. In this case extensions
are proposed on how to enhance the current metamodel.

 

Vorkenntnisse:

Kontakt: Masud Fazal-Baqaie

Anhang: noch kein Anhang

Kontraktbasierte Generierung der Testsequenzen anhand des Modelchecking-Verfahrens

Aufgabenbereich: Modellbasiertes Testen, Testautomatisierung

Status: Abgeschlossen

Bearbeiter: Dennis Hannwacker

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Konzeption und Vergleich von Testdesign-Strategien für Software-Produktlinien

Aufgabenbereich: Software Product Lines

Status: Abgeschlossen

Bearbeiter: Christoph Oberhokamp

Beschreibung: Da der Markt Software-Produkte fordert, die nach immer kürzeren Release-Zyklen und zu möglichst niedrigen Entwicklungskosten zur Verfügung stehen, wird ein hohes Maß an Effizienz und Flexibilität in der Entwicklung benötigt. Das Entwicklungsparadigma Software-Produktlinien soll diese Anforderungen er-füllen. Der grundlegende Gedanke des Entwicklungsparadigmas besteht darin, mehrere verschiedene Software-Produkte aus möglichst vielen gemeinsamen Teilen zu entwickeln, damit der Entwicklungsaufwand für diese Teile nur einmal geleistet werden muss. Gleichzeitig besitzt jedes Produkt spezifische Teile, die für das jeweilige Produkt charakteristisch sind. Die Vorteile einer Software-Produktlinienentwicklung im Vergleich zur Entwicklung von Einzelsystemen reichen von der Reduzierung der Entwicklungs- und Wartungskosten über eine Verkürzung der Release-Zyklen bis hin zu einer Verbesserung der Software-Qualität.
Um die Qualität von Produkten einer Produktlinie sicherstellen zu können, spielt das Testen eine wichtige Rolle. Beim Testen einer Software-Produktlinie sind jedoch einige Besonderheiten der Produktlinienentwicklung im Vergleich zu der Entwicklung von Einzelsystemen zu beachten. Zum einen ist es durch die große Anzahl an möglichen Ausprägungen von Produkten unwirtschaftlich, alle mög-lichen, aus einer Produktlinie erstellbaren Produkte, zu testen. Deswegen sollten nur konkrete Produkte getestet und die Testfälle dafür weideverwendet werden. Zum anderen stellt die Variabilität innerhalb einer Produktlinie für den Entwurf von produktspezifischen Testfällen eine neue Herausforderung dar.
In der Literatur finden sich einige wenige Ansätze, die sich mit dem Thema Testen von Software-Produktlinien auseinandersetzen. Viele der vorgestellten Ansätze versuchen, aus dem Testen von Einzelsystemen bereits bekannte Test-strategien und Methoden zu adaptieren und für die speziellen Anforderungen einer Software-Produktlinie zu erweitern. Die Erforschung des Themengebietes Testen von Software-Produktlinien steht jedoch noch am Anfang.
Im Rahmen dieser Arbeit werden daher ganzheitliche Konzepte für das Testen von Software-Produktlinien entwickelt. Dazu wird eine Beispiel-Software-Produktlinie entwickelt, die als Grundlage für eine spätere Evaluierung der Konzepte dient. Anhand der Beispiel-Produktlinie wird zunächst untersucht, wie Variabilität in die Anforderungsbeschreibungen von Produktlinien integriert werden kann. Im Anschluss daran werden zwei Testdesign-Strategien präsentiert, die den systematischen Entwurf von Testfällen für Software-Produktlinien ermög-lichen. Der Fokus bei der Entwicklung der Ansätze liegt dabei auf der Integration von Variabilität in den Testdesignprozess und in die dabei entstehenden Ent-wicklungsartefakte. Die beiden Ansätze stellen außerdem eine Verbindung zwischen der für Software-Produktlinien weitverbreiteten Art der Variabilitäts-modellierung mit Feature-Modellen und dem Testdesignprozess her.
Abschließend werden die beiden Testdesign-Strategien anhand der ent-wickelten Beispiel-Produktlinie evaluiert.

Vorkenntnisse:

Zulassung zur Diplomprüfung
Studiengang Wirtschafts-/Information

 

Kontakt: Dipl.-Wirt.-Inf. Andreas Wübbeke

Anhang: noch kein Anhang

Model Driven Architecture als Ansatz für Cross-Channel-Lösungen am Beispiel einer mobilen und webbasierten Shopping Anwendung

Aufgabenbereich: Software-Architektur, MDD

Status: Abgeschlossen

Bearbeiter: Eduard Unruh

Beschreibung:

Die Model Driven Architecture (MDA) ist ein von der Object Management Group (OMG) vorgestellter Ansatz zur Umsetzung einer modellgetriebenen Softwareentwicklung. Ausgehend von einem „Computation Indepenent Model“ (CIM) gelangt man gemäß des MDA-Ansatzes über eine Reihe von Modelltransformationen zur ausführbaren Software. Als Cross-Channel-Lösungen bezeichnet man Anwendungen, die über unterschiedliche technische Kanäle verwendet werden können. Damit ist beispielsweise gemeint, dass Benutzer die Funktionalität einer Anwendung parallel als App auf dem Smartphone, als Web-Anwendung im Browser und gleichzeitig als Desktop-Anwendung verwenden können.

Die Aufgabenstellung in dieser Arbeit bestand darin, die Möglichkeiten des MDA-Ansatzes für die Entwicklung von Cross-Channel-Lösungen zu evaluieren. Hierbei sollten mögliche Probleme aufgedeckt und Lösungsvorschläge erarbeitet werden. Die Evaluation sollte anhand einer praktischen Fallstudie einer webbasierten Shopping Anwendung durchgeführt werden.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Jan-Christopher Bals, Dipl.-Inf. Fabian Christ

Anhang: noch kein Anhang

Modeling Structural and Behavioral Adaptation of Software Systems

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Felix Mutz

Beschreibung:

An heutige Systeme werden immer stärkere Anforderungen bzgl. der Flexibilität und Robustheit gestellt. Eine mögliche Lösungsalternative ist die Einführung von Selbst-Adaptivität in das System, also die Fähigkeit sich selbstständig an Ereignisse im Umfeld und im System selbst anzupassen. Um solche Systeme ingenieursmäßig planen zu können, ist eine Modellierungssprache vorgeschlagen worden, die Adapt Case Modeling Language (ACML). Sie erlaubt die Modellierung von sogenannten Adaptionsregeln (Adapt Cases) zur Beschreibung von Parameter- und einfachen Struktur-Anpassungen auf Basis eines auf dem System Modell definierten Adaptionssicht (Context Model). Eine spezifische Weiterentwicklung erlaubt die Nutzung der Adapt Cases zur Beschreibung von Anpassungen von Geschäftsprozessmodellen (Verhaltensadaptation). Diese Adapt Cases werden Busines Process Adapt Cases (BPAC) genannt.

 

Ziel dieser Arbeit war, die positiven Elemente beider Sprachen zu vereinen und um die Fähigkeit von Adaptation auf Typebene zu erweitern. Adaption auf Typebene erlaubt eine sauberere Definition von Adaptationsregeln, d.h. unterstützt insbesondere die Vermeidung von Mischung der Adaptationslogik mit der eigentlichen Applikationslogik. Die resultierende Sprache soll im Sinne der UML textuell ausführlich beschrieben werden, inklusive textueller Semantikbeschreibung. Anhand einer Fallstudie ist zu zeigen, wie die resultierende Sprache für die Modellierung eines selbst-adaptiven Systems einzusetzen ist.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Ontology-based Normalization and Matching of Rich Service Descriptions

Aufgabenbereich: Service Oriented Architectures, Ontologies

Status: Abgeschlossen

Bearbeiter: Simon Schwichtenberg

Beschreibung:

Service-Oriented Architecture (SOA) is a current trend in software development, which enables the reuse single services in other service compositions. Thereby, development time and costs can be saved. Web service providers make their services accessible on the Internet and publish the service interfaces. Other services which require a certain functionality can make use of services that already provide that functionality.

Currently, a common way for a service requester to find an appropriate provider is to browse a service registry manually. But this manual search is very time consuming and error-prone. This induces the demand for an automated service discovery. The automatic composition of IT services in an "on-the-fly " manner is one of the aspects that are investigated in the Collaborative Research Centre 901 "On-The-Fly Computing" at the University of Paderborn.

The Rich Service Description Language (RSDL) addresses the issues of common service description languages that are a necessity for an automatic service discovery in heterogeneous service markets. A RSDL specification defines operation signatures, a data model, a protocol and operation semantics. The latter are expressed by so called visual contracts, i.e. graph transformation rules, that consist of nodes that are typed over the data model.

The matching between the requester's and provider's data types is in the focus of this thesis: The RSDL specifications of a requester and a provider might be typed over heterogeneous data models, because each of the specifications was specified independently most likely. In order to obtain satisfying results in data type matching, it is not sufficient to consider only the similarity of the data type's names or their structure. Also their semantical meaning must be considered, because two types from different data models may be synonyms or homonyms. This thesis analyzes if and how semantic knowledge from ontologies can help to improve the data type matching.

Further the retyping of visual contracts based on the identified data type mappings is considered in this thesis. This task is not trivial due to the fact that the mapping might contain complex relationships such as one-to-many or many-to-many relationships between data types. Furthermore it considers strategies, how to handle unmapped data types in partial mappings.

 

Vorkenntnisse:

Kontakt: Zille Huma, Dr. Christian Gerth

Anhang: noch kein Anhang

Performance-Optimierung eines Datenbankmanagementsystems durch werkzeuggestützte Konfigurationsänderung

Aufgabenbereich: Performance-Optimierung

Bearbeiter: Michael Kionka

Qualitätssicherung im Business Process Modeling durch automatische Ableitung visueller Kontrakte aus heterogenen UML-Modellen

Aufgabenbereich: Visual Contracts

Status: Abgeschlossen

Bearbeiter: Michael Mlynarski

Beschreibung:

Vorkenntnisse:

Kontakt: Christian Soltenborn

Anhang: Master_Thesis_Michael_Mlynarski.pdf

Qualitätssicherung selbst-adaptiver Systeme

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Dominik Vogel

Beschreibung:

Im Rahmen der Entwicklung adaptiver Systeme wird der frühen Qualitätssicherung heutzutage wenig Beachtung geschenkt. Dies kann dazu führen, dass Fehler, die im logischen Design adaptiver Systeme eingeführt werden, erst sehr spät und unter Umständen erst zur Laufzeit entdeckt werden.

 

In der FG Engels wurde ein Ansatz entwickelt, der die Modellierung und Qualitätssicherung selbst-adaptiver Systeme im logischen Design unterstützt. Die dazu entwickelten Adapt Cases  sind eine auf UML Use Case basierende Sprache zur Spezifikation von Adaptivität. Der Qualitätssicherungs-Ansatz basiert auf DMM Semantik Spezifikationen und Model-Checking mittels des Tools Groove.

 

Ziel der Arbeit ist

  • die DMM Semantik für die Metamodelle der Adapt Cases zu vervollständigen um den kompletten Sprachumfang abzudecken,
  • die Qualitätseigenschaften Deadlockfreiheit und Stabilität in LTL zu formulieren,
  • ein Beispielsystem zu modellieren
  • und ein lauffähiges Eclipse Plug-In zu implementieren, das die Überprüfung der Qualitätseigenschaften auf dem Beispielsystem zeigt.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Quality Assurance of Situational Methods

Aufgabenbereich: Method Engineering / Quality Model

Status: Abgeschlossen

Bearbeiter: Frank Kluthe

Beschreibung:

Software engineering is the discipline of designing and developing high-quality software systems in a systematic and scientific manner. There are several techniques that try to coordinate and guide the activities that are involved in this process. These techniques are referred as software engineering methods (SEM).  Examples for these methods are the Rational Unified Process (RUP), V-Modell XT and Scrum. Even though these methods claim to be general purpose methods that work well for all kinds of software development projects, this is not necessarily true. E.g. the Scrum method is hard to execute with a large team. This method encourages a lot of communication within the project, which helps performing better in projects with few people. However, this becomes more and more a burden the more people are involved into the team. Other methods have also reported difficulties under certain project setups. It is unlikely that there is a method suitable for all instances of software development projects. In fact it is of strong importance to take care of all situational factors in order to have an effective project execution. The question of how such situation-specific software development methods can be provided is the driving factor in the research area of situational method engineering (SME).

The thesis is located in the field of assembly-based method engineering. Here SEM are combined out of predefined building blocks, e.g. so called method services. Method services are basically reusable actions that are performed during software development like “analyze requirements” or “identify business objects”. The term “service” derives from the web service world where a service is an autonomy procedure with inputs and outputs [Ro09]. Method services usually derive from concrete existing SEM, but could also be actions that have proven to be effective in some software development projects. The general approach of assembly-based method engineering is to first identify the projects situational factors and then select method services that match these factors. After that the services are combined in a meaningful way. These constructed methods are called situational methods.

The steps described are commonly performed by project managers who have a profound knowledge of the projects underlying domain, but have no experience in software engineering at all. For these non-software engineers it is often difficult to construct a situational method, because they are not familiar to the vocabulary and terms used in this field. To ease the creation of assembly-based SEMs with method services the concept of method patterns can be applied. Method patterns represent methodological aspects (like iterative development or agile development) and quality constraints (like reviews or test-driven development). They should bridge between aspects that should be present in the underlying project and actual usable method services. In a tool that supports method engineering with method patterns the project manager only chooses wanted aspects by picking the related pattern. After that the appropriate method services need to be selected and assembled. The just describe approach is termed as MESP: method engineering with method services and method patterns [FLE13].

[FGE14] presents an approach how MESP can be put into execution. Furthermore the research group is working on a tool that supports the steps preformed during MESP and the later enactment of the designed method. Figure 1 shows a detailed overview of the activities in the workflow and the involved actors. Step one and two are carried out by an experienced method engineer who defines method services and method patterns and also takes care of their integrity. The earlier mentioned project manager is denoted as the project method engineer here. He performs the steps of characterizing the project by stating situational characteristics (3), choose the desired method pattern (4), and assembles the selected method services (5). In these steps he should be supported by the tool, e.g. the tool proposes method services automatically after the method engineer picks the method pattern. However in order to be flexible, a supporting tool must allow a free combination of method services. This entails the risk of creating meaningless methods. Therefore it has to be checked if the constructed method is meaningful. Meaningful in this context for example means that all artifacts, required by a certain method service, are available within the process or that obsolete method services have to be avoided in order to have a situational method that is as efficient as possible [Ha97]. To avoid this, the MESP approach includes a step in which the method is validated (6). Furthermore the tool supports the method enactment. Therefore the method is prepared as input for a tool that helps to organize and schedule project work in a company (7). The so-called project management tool assigns people to actions and carries out the project plan according the rules specified in the method (8).

At this point in time the university’s research group has already implemented a tool that supports the steps preformed during MESP to a high degree (TASQ), but currently there is no validation mechanism for the assembled method (Figure 1, Step 6). The goal of the thesis is to find a way of validating the situational methods as much as possible. In the context of this thesis, the task of checking and validating situational methods is denoted as quality assurance.

Task of the Thesis

The general task of the thesis is the implementation and integration of a complete quality assurance mechanism for situational methods as they are realized within MESP. Therefore it is necessary to evaluate the research area of situational method engineering first, in order to identify general criteria for quality assurance. [Ha97] already presents some quality criteria and distinguishes further between situation-dependent and situation-independent issues. For the situation-independent aspects [Ha97] also presents a formal definition to proof the completeness, consistency, efficiency, soundness, and applicability of situational methods. However the definitions rely on his own situational method model which differs to a great degree from the model used by MESP.  Nonetheless the definitions used by [Ha97] provide a good starting point for the research work of this thesis. The goal is to give a fond overview of the research field and to transfer the gained insights into the succeeding tasks.

It is insufficient to have only an informal definition (e.g. in natural language) of the previously identified quality criteria. They have the drawback of being ambiguous. These ambiguities create the risk of people interpret the criteria differently. A formal language helps in this case. It makes it possible to express the criteria clearly defined. A formal specification language which can be used for that purpose is the Object Constraint Language. Different from traditional formal languages (e.g. Z notation) it has the advantage of having a non-mathematic notation and is therefore easier to read and write. Hence, it can be used by persons without a strong mathematical background [OMG12].

 

Additionally in MESP we have a concept of method patterns. Method patterns are used like additional conditions. Consequently for a situational method to be valid, it is necessary to fulfill the conditions stated by the used method patterns. E.g. this could mean that a method pattern demands (by condition) a sufficient documentation, in consequence the situational method has to produce a documentation at some point. It is part of the thesis to provide a validation mechanism for this kind of conditions. Preferably the validation mechanism for method patterns should be linked with the validation mechanism for the quality criteria, because that means less implementation work.

 

 

Bibliography

[Ha97]              Harmsen, A.F. (1997) Situational Method Engineering. PhD thesis. Moret, Ernst & Young Management Consultants, Utrecht, Holland.

[Ro09]              Rolland, C. (2009) Method engineering: towards methods as services. Software Process: Improvement and Practice 14.3: 143-164.

[FLE13]            Fazal-Baqaie, Luckey, Engels (2013) Assembly-based Method Engineering with Method Patterns. Software Engineering (Workshops).

[FGE14]           Fazal-Baqaie, Gerth, Engels (2014) Breathing Life into Situational Software Engineering Methods. Submitted.

 

[OMG12]          OMG OCL version 2.3.1 (2012) ISO/IEC 19507.

 

Vorkenntnisse:

Kontakt: Masud Fazal-Baqaie

Anhang: noch kein Anhang

Quality Assurance of Software Engineering Methods using Graph Transformation Rules

Aufgabenbereich: Method Engineering / Graph Transformation Applications

Status: Abgeschlossen

Bearbeiter: Subramanya Gurumurthy

Beschreibung:

In software projects typically software engineering methods (SEMs) like V-Modell XT or Scrum are used as best practices for how to plan, develop and test the software. One important question is how to mix or extend these SEMs in order to provide optimal support for each individual project situation, e.g. by mixing agile and plan-driven software development.

The research area of situational method engineering investigates approaches to create specific SEMs that fit to the situation of the project by taking into account factors like team size and existing risks. One approach that is currently developed is TASQ, where SEMs are created by choosing suitable method building blocks (method services) from a database and combining them to a SEM.

As the creation of method building blocks as well as SEMs is manual it can be tedious as well as error prone. It is difficult to say whether the method building blocks of the database work well together and that they are marked incompatible otherwise, such that they are not used together in a SEM.

The aim of the thesis is to create graph transformation rules that formalize the operations for creating SEMs. This rule base can then be used to formally check whether the database of method building blocks fulfills certain quality properties and is safe to be used by the method engineer.

 

Vorkenntnisse:

Kontakt: Masud Fazal-Baqaie

Anhang: noch kein Anhang

Realization of Adaptation for Business Processes

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: Tamas Miklossy

Beschreibung:

In the today’s software development the modelling phase becomes more and more sig- nificant where the software system can be described from different views and on differ- ent abstraction levels. These models can later be used to generate code from them to build high-quality software systems. One of these model-based approaches is the Business Process Modelling, where the software system is modelled focusing on the order of the execution of different activities composing the Business Logic.

Besides, it is offen desired, that not only the pure Business Logic, but also the Adapta- tion Logic could be specified. It would enable to describe what should happen in case of a system malfunction to bring back the system in a desired state. The best would be, if this approach could be specified in such a way that its realization happens automatically (without any human interaction). In order to realize that, a Domain Specific Language called Adapt Cases has been developed at the University of Paderborn, to enable the separate modelling of the adaptation logic. This DSL was further refined within the project group MePaso to enable a more precise description of the adaptation of Busi- ness Processes, the so called Business Process Adapt Cases (BPAC) was developed. The BPAC language provides several adapt case action specifications to describe adaptation of service-bound business processes on both the process and the service-level. From these BPAC models the adaptation logic can be derived and implemented by software engineers. One improvement could be to derive the implementation of BPAC models automatically.

The goal of this master thesis is to realize the adaptation of Business Processes, thus to enable the execution of BPAC instances on Business Process instances. In order to do that, first of all, the different model-based techniques should be investigated (code generation, model interpretation) and determined, which of them fits the best to the Business Processes and to the Business Process Adapt Cases. After that, the different BPAC Actions should be examined, some of them selected and implemented in a prototype way. One such a service-level action is to replace a webservice with an other one in case if it is not available. At the end, the adaptation realization should be presented in an example scenario (Car Window Insurance Software System) provided by the industrial partner Capgemini.

 

Vorkenntnisse:

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Simulation of Adaptation Requirements

Aufgabenbereich: Adaptive Systems

Status: Abgeschlossen

Bearbeiter: offen

Beschreibung:

 

Background:
Requirements that describe the adaptivity of software differ from conventional requirements such that they contain more domain-specific information. For instance, the description of a system that adds server to a server farm to adjust a system's performance must contain information about how to measure the system's performance, what the performance boundaries are, etc. In our Research Group, we developed a meta-model to describe so called adaptation requirements. For large systems, a requirements specification that detailed describes adaptivity becomes very large and unmanageable. Therefore, mistakes in the specification can easily be overseen and cause extensive costs in later stages of software development. For this reason, it is desirable to early simulate the software solely on the basis of the requirements specification and thus being able to early detect mistakes.

Task:
The objective of this thesis is to develop a simulation environment for adaptivity requirements. This includes the evaluation and if needed the extension of a meta-model that describes adaptivity requirements. This meta-model will be used for the conception of the simulation environment. Additionally, a methodology to specify and simulate adaptivity requirements will be created.

Note:
You will work in close connection with members of the group. The thesis will be supervised by Markus Luckey. Thesis may be written in English or German. Questions and applications are received with pleasure.

Contact:
Markus Luckey
Room: E4.124
Tel: 60-3358
Mail: luckey[at]upb.de

 

Vorkenntnisse: Ability to work independently, willingness to work scientifically, interest in requirements engineering and adaptivity of software.

Kontakt: Dipl.-Inf. Markus Luckey

Anhang: noch kein Anhang

Specification Language for Binary Parser Construction in the Context of Smart Card Protocol Monitoring

Aufgabenbereich: Domain Specific Languages

Status: Abgeschlossen

Bearbeiter: Jürgen Wall

Beschreibung:

Vorkenntnisse:

Kontakt: Christian Soltenborn

Anhang: Diploma_Thesis_Jürgen_Wall.pdf

Teilautomatisierte Generierung von Testplänen aus Anforderungsspezifikationen für offene, verteilte Identifikationssysteme

Aufgabenbereich: Effiziente Teststrategien und Testmanagement, Testautomatisierung

Status: Abgeschlossen

Bearbeiter: Peter Winkelhane

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Testdesign und Testdatengenerierung für Schnittstellen-tests unter Berücksichtigung von Variabilität

Aufgabenbereich: Software Product Lines

Status: Abgeschlossen

Bearbeiter: Pascal Mbayiha

Beschreibung:

Arvato services hat langjährige Erfahrung im Bereich der Dienstleistungen rund um die Domänen CRM, Fulfillment und Loyalty. Die Fachabteilungen werden bei der Umsetzung von flexiblen Geschäftsprozessen durch Software unterstützt. In der dabei entstehenden, heterogenen Systemlandschaft ist eine hohe Qualität der Schnittstellen zwischen den einzelnen Teilsystemen für den Reibungslosen Geschäftsablauf von großer Bedeutung. Aus diesem Grund führt arvato im Rahmen der Qualitätssicherung intensive Integrationstests auf Basis der Schnittstellenspezifikationen durch. Im Kontext der arvato Produktlinienstrategie ist es nun von Interesse, diese Schnittstellen mit expliziter Variabilität zu modellieren und diese Variabilität auch im Testdesign zu berücksichtigen. Weiterhin ist es für Schnittstellentests von Interesse die im Testdesign modellierten Testdaten werkzeugunterstützt generieren zu lassen. Auch hierbei ist Variabilität zu berücksichtigen und mit Hilfe des arvato Testdesign-Werkzeugs prototypisch zu implementieren.

 

In dieser Arbeit soll das Design und die Testdatengenerierung für Schnittstellentests mit Variabilität erarbeitet werden. Die Arbeit gliedert sich in folgende Teilaspekte:

 

  • Einarbeitung in die Themen Integrationstest und Variabilität in Software Produktlinien
  • Erarbeiten eines Konzepts zur Modellierung von Variabilität in arvato Schnittstellenspezifikationen

Modellierung von Testfällen auf Basis der Schnittstellenspezifikation und Generierung von Testdaten (z. B. XML-Files oder Webservice-Aufrufe) mit Hilfe des arvato Testdesign-Werkzeugs

 

 

Vorkenntnisse: Studienrichtung: Informatik / Wirtschaftsinformatik / Elektrotechnik / Mathematik
Zulassungsvoraussetzung zur Diplomprüfung

Kontakt: Dipl.-Wirt.-Inf. Andreas Wübbeke

Anhang: DA_Testdesign_für_Schnittstellentests_unter_Berücksichtigung_von_Variabilität_-_s-lab_Version.pdf

Testen von Objektzuständen mit visuellen Kontrakten

Aufgabenbereich: Modellbasiertes Testen, Testautomatisierung

Status: Abgeschlossen

Bearbeiter: Jens Ellerweg

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Unterstützung von Framework-Versionen in Framework-Beschreibungssprachen für mobile Anwendungen

Aufgabenbereich: Framework-Beschreibung

Status: Abgeschlossen

Bearbeiter: Daniel Jürgenfriedrich

Beschreibung:

Anwendungen auf mobilen Endgeräten wie Handys oder PDAs sind im Trend. Apple hat mit den iPhone Apps gezeigt, wie eine erfolgreiche Software-Plattform gestaltet werden kann und Konkurrenzfirmen versuchen es Apple gleich zu tun. Derartige Anwendungen werden durch den Einsatz von Frameworks ermöglicht, die eine standardisierte Umgebung zur Verfügung stellen, in der neue Anwendungen entwickelt werden können, ohne sich um technische Details kümmern zu müssen.

Beispiele für derartige Frameworks sind die Sun Java 2 Platform, Mobile Edition (J2ME), das Google Android Framework oder Apples iPhone Framework. Um eine mobile Anwendung mit einem dieser Frameworks zu erstellen, ist der Softwareentwickler auf eine entsprechende Dokumentation angewiesen, die ihn bei der Benutzung anleitet. Da eine mobile Anwendung auf unterschiedlichen Endgeräten installiert wird, die sich u.a. in der installierten Frameworkversion unterscheiden können, muss das Problem der Kompatibilität zu unterschiedlichen Frameworkversionen beachtet werden. Leider lassen bestehende Dokumentationen häufig zu wünschen übrig, da es keine etablierten Referenzen gibt, wie derartige Dokumentationen anzufertigen sind. Die Beschreibung der Unterschiede zwischen zwei Frameworkversionen und wird ebenso vernachlässigt, so dass in der Entwicklung unvorhergesehene Kompatibilitätsprobleme auftreten, die nicht vorhergesehen werden konnten.

Ein in der FG Engels entwickelter Ansatz für die Definition von Framework-Beschreibungssprachen muss dementsprechend so erweitert werden, dass Frameworkversionen berücksichtigt werden können. Grundlage des Ansatzes ist ein Meta-Modell für Framework-Beschreibungssprachen, genannt FDMM (Framework Description Meta-Model), deren Instanzen konkrete Framework-Beschreibungssprachen sind. Die Unterstützung unterschiedlicher Frameworkversionen ist ein wichtiger Schritt, um die Einsatzmöglichkeiten des Ansatzes zu erweitern.

 

Aufgabe:

Das Ziel der Masterarbeit ist, eine neue FDMM-basierte Framework-Beschreibungssprache für die Beschreibung eines Frameworks für mobile Anwendungen, wie z.B. J2MEAndroid oder iPhone zu erstellen. In diesem Zusammenhang soll untersucht werden, wie das FDMM erweitert werden kann, um die Definition von Frameworkversionen zu ermöglichen. Darüber hinaus soll ein Werkzeug für die Arbeit mit der neuen Sprache entwickelt werden, das die Verwendung unterschiedlicher Frameworkversionen unterstützt. Da viele Frameworks mit der Entwicklungsumgebung Eclipse erstellt werden, soll das Werkzeug als Eclipse-Erweiterung konzipiert und implementiert werden.

 

 

Vorkenntnisse:

Nützliches Vorwissen:

  • Erfahrung mit der Programmierung mobiler Anwendungen und von Eclipse-Erweiterungen

 

Kontakt: Dipl.-Inf. Fabian Christ

Anhang: Ausschreibung_MA_FDL-VersioningMobileApps_01.pdf

Verbesserung von Testaufwandsschätzung und Fehlerprognose unter Einbeziehung von Funktionserweiterungen

Aufgabenbereich: Testmanagement

Status: Abgeschlossen

Bearbeiter: Jan Kramer

Beschreibung: Vertraulich.

Vorkenntnisse:

Kontakt: Yavuz Sancar, Baris Güldali

Anhang: noch kein Anhang

Vergleichende Evaluierung von Technicken zur Modellierung und Realisierung von Web-Anwendungen

Aufgabenbereich: Modellgetriebene Entwicklung von Webanwendungen

Status: Abgeschlossen

Bearbeiter: Pierre Arnold Nya Ndangang

Beschreibung:

Vorkenntnisse:

Kontakt: Baris Güldali

Anhang: noch kein Anhang

Visual Interpreter and Debugger for Dynamic Models Based on the Eclipse Platform

Aufgabenbereich: Dynamic Meta Modeling

Status: Abgeschlossen

Bearbeiter: Nils Bandener

Beschreibung: Dynamic Meta Modeling (DMM, siehe auch hier) ist eine von unserer Arbeitsgruppe entwickelte Technik zur formalen Spezifikation des Verhaltens von visuellen Sprachen (z.B. UML Aktivitäten). Auf Basis einer solchen DMM-Spezifikation (z.B. von UML Aktivitätendiagrammen) sowie eines Modells (z.B. einer Aktivität) lässt sich ein Transitionssystem berechnen, das das Verhalten des Modells beschreibt. Dieses Transitionssystem kann dann z.B. mit einem Modelchecker analysiert werden. Intuitiver wäre es allerdings, das Verhalten des zu analysierenden Modells visuell darzustellen: Um festzustellen, dass ein Token seine Position geändert hat, muss man dann nicht mehr die Zustände des Transitionssystems analysieren, sondern kann die Positionsveränderung des (z.B. als scharzem Kreis dargestellten) Tokens direkt in der visuellen Darstellung des Modells sehen. Diese Visualisierung soll Aufgabe der vorgestellen Diplom/Masterarbeit sein. Aufgabe: Untersuchen und Klassifizieren der für die beschriebene Visualisierung notwendigen Informationen. Implementierung der Visualisierungskomponente und Einbinden in die bereits vorhandene Werkzeugumgebung. Dokumentation der Ergebnisse.

Vorkenntnisse: Solide Kenntnisse in Java und UML. Vorteilhaft sind Kenntnisse in den Eclipse-Frameworks EMF und GMF sowie in Graphtransformationen.

Kontakt: Christian Soltenborn

Anhang: Diploma_Thesis_Nils_Bandener.pdf

Werkzeuggestützte Erstellung eines Laufzeit-Metamodells

Aufgabenbereich: Dynamic Meta Modeling

Status: Abgeschlossen

Bearbeiter: Hendrik Schreiber

Beschreibung: Dynamic Meta Modeling (DMM) ist eine von unserer Arbeitsgruppe entwickelte Technik zur formalen Spezifikation des Verhaltens von visuellen Sprachen (z.B. UML Aktivitäten). Der erste Schritt bei der Erstellung einer DMM-Spezifikation besteht in der Erstellung eines sogenannten Laufzeit-Metamodells. Dabei handelt es sich um eine erweiterte Version des Metamodells der eigentlichen Sprache. Die hinzugefügten Elemente erlauben es, Laufzeitzustände des entsprechenden Modells zu beschreiben. So basiert laut Spezifikation der UML die Semantik von Aktivitätendiagrammen auf dem Fluss von Tokens, das Konzept des Tokens kommt im UML-Metamodell jedoch nicht vor. Im Laufzeit-Metamodell wird dieses Konzept hinzugefügt, wodurch z.B. ausdrückbar wird, welche Aktionen in einem gegebenen Zustand ausgeführt werden. In einem zweiten Schritt wird ein Mapping zwischen dem originalen Metamodell und dem Laufzeit-Metamodell definiert. Dieses dient dann dazu, gegebene Modelle “in einen ausführbaren Zustand zu übersetzen”. Im oben angeführten Beispiel bestände die Übersetzung im Wesentlichen darin, allen InitialNodes des Aktivitätendiagramms ein Token hinzuzufügen. Es wäre wünschenswert, ein Werkzeug zu haben, dass die beschriebenen Schritte unterstützt. Idealerweise lässt dieses Werkzeug die visuelle Definition des Laufzeit-Metamodells sowie des Mappings zu. Zudem sollte das Mapping ausführbar sein, also zur automatischen Übersetzung von Instanzen des originalen Metamodells in Instanzen des Laufzeit-Metamodells dienen. Aufgabe: Untersuchen der Anforderungen an ein Mapping wie oben beschrieben. Entwickeln einer (möglichst modellgetriebenen) Werkzeugunterstützung zur Erstellung von Laufzeit-Metamodell und Mapping sowie zur “Anwendung” eines Mappings. Dokumentieren der Ergebnisse.

Vorkenntnisse: Solide UML- und Java-Kenntnisse. Vorteilhaft sind Kenntnisse in den Eclipse-Frameworks EMF und GMF.

Kontakt: Christian Soltenborn

Anhang: noch kein Anhang

Die Universität der Informationsgesellschaft