Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

Paul Schmiedmayer

  • Thesis - Paul Schmiedmayer - APIKit - A Declarative Framework for Defining Web Interfaces in Swift

    Bachelor's Thesis 
    APIKit - A Declarative Framework for Defining Web Interfaces in Swift
    Advisor
    Author
    Thomas Raith
    Date
    March 15, 2020 - July 15, 2020
    Abstract This thesis is exploring the creation of a domain-specific language (DSLs) for describing interfaces of web services. We investigate the possibility of a Swift language based definition language that allows Swift developers defining their web service interfaces by using Swift syntax and concepts independent of the concrete communication protocol. Therefore we compare different communication approaches and investigate their similarities and differences. As additional goal we want to explore possibilities that allow developers the usage of ORM functionalities (e.g. database connection and access, model definition, relations) of traditional Swift powered frameworks. You can find the open source implementation at https://github.com/Apodini/APIKit.
  • Thesis - Paul Schmiedmayer - Event Based Actions in Domain Specific Languages

    Bachelor's Thesis 
    Event Based Actions in Domain Specific Languages
    Advisor
    Author
    Marlene Pfänder
    Date
    April 15, 2020 - September 15, 2020
    Abstract This thesis aims to focus on incorporating event based actions into a mainly static Domain Specific Language (DSL). When looking at a concrete DSL that facilitates the implementa- tion of RESTful APIs event based behaviour could include two-way communication and the ability to notify clients about changes from the server. The goal is to extend the work on Corvus, a declarative framework for server side Swift. By adding the functionality for WebSockets and push notifications event based aspects can be implemented to facilitate RESTful APIs. You can find the open source implementation at https://github.com/Apodini/CorvusWS and https://github.com/Apodini/corvus-notifications.
  • Thesis - Paul Schmiedmayer - Grebe - A gRPC Swift Framework

    Bachelor's Thesis 
    Grebe - A gRPC Swift Framework
    Advisor
    Author
    Tim Mewe
    Date
    December 1, 2019 - April 19, 2020
    Abstract The goal of this thesis is to develop a tool that simplifies the client-side developing workflow when using a gRPC based networking stack. We propose encapsulating networking logic in a separate Swift package and extending it for the use with commonly used frameworks such as Combine. We plan to build this abstraction layer above the SwiftNIO based grpc-swift framework. We plan to combine this abstraction layer with a CI-based code generation workflow to simplify the development process when syncing client and server codebases. You can find the open source implementation at https://github.com/Apodini/Grebe
  • Thesis - Paul Schmiedmayer - Learning Deployment Strategies

    Bachelor's Thesis 
    Optimization of Deployment Strategies Using Machine Learning
    Advisor
    Author
    Lena Reichel
    Date
    December 15, 2019 - April 15, 2020
    Abstract The thesis investigates the improvement of current deployment strategies. We propose a mechanism that learns the behavior of the system within a Kubernetes Cluster by monitoring the system as well as user requests. We propose an intelligent deployment mechanism that can predict the best possible deployment strategy to optimize resource usage. We plan to visualize the relationships within the services of the cluster and the predictions made by the tool. You can find the open source implementation of the workflow and supporting tools at https://github.com/Apodini/pythia
  • Thesis - Paul Schmiedmayer - Semi-Automated System Decomposition Using Static and Dynamic Code Analysis

    Bachelor's Thesis 
    Semi-Automated System Decomposition Using Static and Dynamic Code Analysis
    Advisor
    Author
    Valentin Hartig
    Date
    April 15, 2020 - August 15, 2020
    Abstract We want to propose an approach for semi-automated management of system decomposition utilizing static and dynamic code analysis. Semi-automated management of system decomposition describes the process of decomposing a software system into a fine grained service oriented architecture through a suite of tools that are managed by a software architect. Our decomposition management software supports this transition by continously analyzing the current state of the decomposition process with an extendable tool suite. With the help of user input, the business capabilities of the system under study are determined and associated with source code to create firm module boundaries. For this our software utilises static and dynamic code analysis. In this thesis we focus on the decomposition of monolithic software systems based on server-side swift, but the approach can be used for other languages and system architectures as well. You can find the open source implementation at https://github.com/Apodini/Bubo.
  • Thesis - Paul Schmiedmayer - Swift Based Web Development with WebAssembly

    Master's Thesis 
    Swift Based Web Development with WebAssembly
    Advisor
    Author
    Manuel Burghard
    Date
    December 15, 2019 - June 15, 2020
    Abstract WebAssembly is a new abstract instruction set primarily designed to target web browsers from higher level programming languages. To enable full stack web development in Swift, the Swift compiler should support targeting WebAssembly. This thesis will try to extend the Swift compiler to support WebAssembly and to compile the Swift Standard Library. Furthermore, the interaction with a web browser’s JavaScript API and the Document Object Model should be possible from Swift. Finally, the results will be evaluated by building a web application in Swift, including the client side code that runs in the browser. You can find the open source implementation at https://github.com/Apodini/webidl2swift.