Supervision Univ.-Prof. Dr. Stefanie Rinderle-Ma:
Topic 1: Implementing a web-based C3Pro editor (see C3Pro project)
Introduction: Change is one of the main focus points in the C3Pro project, which stands for "Change and Compliance for Collaborative Processes". In collaborative processes, private processes are the individual business process models of the participating businesses. The public view or public processes abstract the private processes in such a way that only the public activities -- those where another partner is also involved -- are shown. Change in such an inter-organisational context is challenging, as a single modification from one participant in its own private process might impact some partners' related public processes, which in turn could trigger transitive changes to other partners. The correct propagation of change is an important challenge, which is being tackled on in the C3Pro Project.
Description: We have implemented a change propagation library in the Java programming language, which takes into consideration all the changes partners have to perform for various change activities: insert, replace, and delete. Based on this library, we have implemented a desktop-based editor for visualising and simulating various change scenarios. The proposed bachelor project's goal would be implementing the same editor as a web-based prototype. Having a web-based editor for interactive change management would make the topic more accessible for everyone, allowing them to see the effects of changes in an inter-organisational context. This prototype would:
- Visualise choreography models as well as participating partner's public processes.
- Display related activities on all partners' public processes.
- Display the proposed changes and affected fragments (direct as well as transitive).
- Display statistics after applying and propagating changes.
Requirements / Programming Languages:
- Java (server-side) or other JVM-based languages
- Clojure (optional, to understand the current editor)
- Web Services
- HTML 5
- Web Sockets
Due to the long lifecycle, many things can change even if they change slowly: assets are replaced by new ones; new components and services are added on top of existing systems; companies merge and split; key employees may leave. As a result, even if the system has been commissioned with a clear blueprint, the operators can partially lose track of their IT inventory. Without a clear view of their IT assets (PCs, equipment, field devices, and networks) in the first place, it is impossible to secure them. As such, operators do not have clear visibility into attacks underneath the production monitoring surface.
Topic 2: Developing a Prototype for Mining of Inter-Instance Constraints from Process Logs -
Based on the ISC discovery algorithm developed in the CRISP project a prototype including a graphical user interface is to be developed. Different classification techniques should be selectable. Means for iterative log preparation techniques should be implemented.
The conceptual part of the thesis comprises the design for the GUI as well as the user guidance through the discovery algorithm.
open (Supervision Univ.-Prof. Dr. Erich Schikuta):
Thema: Implementierung von eLearning Komponenten in NetLuke
NetLuke ist ein interaktives eLearning System zur Visualisierung des dynamischen Verhaltens von Algorithmen und Datenstrukturen.
NetLuke wurde im Rahmen von 2 Diplomarbeiten an der RG WST entwickelt (wst.univie.ac.at/workgroups/netluke).
Ziel ist der Einsatz von NetLuke im Modul AlgoDatzur Unterstützung der Studierenden
Spezifisches Ziel der PR Arbeit(en) ist die Realisierung von Algorithmen und/oder Datenstrukturen und deren Visualisierung mit Java im NetLuke Framework.
Max. Anzahl von Studierenden: 5
InteressentInnen moegen sich bei Erich Schikuta per email (firstname.lastname@example.org) zwecks Terminvereinbarung melden.
open (Supervision Univ.-Prof. Dr. Stefanie Rinderle-Ma):
Topic 1: Extended analysis of developer focused workflow engines
Workflows are frequently used in end-user focused environments using end-user focused graphical tools (e.g., jBPM). However, those end-user focused projects typically utilize feature crowded complex server infrastructures so that they can hardly be integrated in small to medium software projects. So, software developers often implement their own small workflow projects based on e.g. the saga or workflow pattern.
Hence, it would be interesting to analyze existing lightweight object oriented developer focused workflow engines to check their applicability in typical small to medium software projects.
A previous bachelor thesis has analyzed multiple workflow engines for their control flow definition and execution capabilities.
The approach would require to extend the results of the previous work!
You will need to:
a) Read up on workflows, workflow engines, and workflow patterns/views and perspectives (Do some study work BEFORE you apply for this thesis so that you have at least some background knowledge on these topics!)
b) Identify at least 5 different workflow which should be analyzed.
Possible sources to identify relevant open source engines are, e.g.:
https://github.com/ (search, e.g., for workflow engine and java)
The engines should preferably be written in Java (recommended) or any other object oriented programming language, maintained, and you will need to argue why the selected engines were chosen.
In addition some preselected workflow engines, at our choice, will be included!
c) Select a reasonable amount of workflow patterns from the perspective Control, Resource, Data, Exception Handling (see www.workflowpatterns.com))
The total amount of patterns should be larger or equal to 20 and should contain patterns from all 4 perspective (the last three ones are the most important ones for this work!)
d) Analyze if the engines support the selected patterns. Read the engines documentation. If no documentation is available read the code and use it as a reference, analyze given examples, communicate with the authors for examples, and so on.
You will need to IMPLEMENT the patterns, most frequently by writing source code and interacting with the API of the engine. Only modeling the patterns is not sufficient, i.e., a significant amount of code must be written! Note, if you recognize that a pattern is not support you will need to check if it would be possible, with minor self developed additions, if you can add support! For example, if an engine does not support to execute multiple workflows at once you can "add" support for this by using multiple threads spawned by your programming language of choice.
NOTE: You will need to hand in the source code!
e) Write the thesis, add a theoretical background (e.g., why workflows, why worklow engines, why developer focused engines vs larger projects), include your results, describe drawbacks and limitations of the analyzed workflow engines. Compare the results (i.e., the supported patterns) with multiple existing large scale workflow engines.
Topic 2: Process Change Simulation Prototype
Input: Process model in XML format (from Signavio)
Implementation Task: Based on different input parameters (number and type of changes) change logs are generated. Goal is a web-based user interface communicating with REST services.
Output: Change logs in XES format; changed process models in XML format (to be imported into Signavio)