External projects

external msc thesis topics

You can also do a Master Project (or an internship) with a company outside the University Twente. You do need a supervisor of the University Twente.

Available Project Proposals

  • Modeling and analysis of deadlines in production systems using LSAT (internship)

    About this position

    A key objective in production systems is to maximize productivity, for example maximizing the number of products produced per hour. This implies that typically, actions in the system should be executed as soon as the required resource is available. However, there are sometimes also situations where actions should not be executed as soon as possible. For example, in a pizzeria, the cook should only start baking a pizza when he knows that a delivery person is available the moment that it is ready. You don't want to get a cold pizza when starting the weekend.

    What will be your role?

    LSAT (Logistics Specification and Analysis Tool) is a tool that can be used to specify and analyze production systems. Systems are modeled in a lightweight way in terms of the system resources, the system behavior and timing characteristics. The tool provides various visualizations to explore the controlled system behavior. It also provides techniques to analyze and optimize system productivity.

    Currently, LSAT does not provide the possibility to model and analyze actions that need to happen just-in-time and need to conform to deadlines. You can specify that action A is followed by action B, but you cannot yet enforce that A should be delayed to ensure that it ends right before B starts. This means that currently, we cannot model and analyze situations like the pizzeria example. In this assignment we want to investigate how LSAT can be extended in this direction. We have two industrial use case domains (wafer handling and production printing) that require this extension, and that can be used to validate the solution.

    What we expect from you

    You are an MSc student Electrical Engineering, Computer Science or Embedded Systems looking for a graduation assignment of 6-9 months. You have an interest in model-based development, preferably knowledge of domain-specific languages and model transformations. You think it is a challenge to work in a multi-disciplinary environment and like your graduation assignment to show the benefits of scientific system development methods in a high-tech organization.

    What you'll get in return

    You want to work on the precursor of your career; a work placement gives you an opportunity to take a good look at your prospective future employer. TNO goes a step further. It’s not just looking that interests us; you and your knowledge are essential to our innovation. That’s why we attach a great deal of value to your personal and professional development. You will, of course, be properly supervised during your work placement and be given the scope for you to get the best out of yourself. Naturally, we provide suitable work placement compensation.

    For the full description, and to apply for this internship, see: https://www.tno.nl/en/careers/vacancies/2023/12/internship-modeling-analysis-deadlines/

  • Detecting SOLID violations (internship)

    Context

    The SOLID principles (https://www.baeldung.com/solid-principles) are key guidelines in software engineering. Designing software such that it adheres to the principles of "Single responsibility", "Open for extension, closed for modification", "Liskov substitution", "Interface segregation" and "Dependency inversion" ensures maintainability, extensibility and understanding. Failing IT projects can often be ascribed to violations of these principles in their software.

    About the assignment

    We consider SOLID the most important concepts in object-oriented design, hence we would like to see an automated way for detecting violations of these principles. In a first step the student investigates existing code bases to find common ways SOLID principles are violated. Based on this research the student finds an automated way to detect these anti-patterns (a detailed sketch for detecting these anti-patterns can be found below). A suggested solution is to implement rules in ArchUnit (https://www.archunit.org/) and showing that your implementation is able to indeed find violations in code-bases used in industry.

    Your profile:

    • You're a MSc student in computer science looking for an internship.
    • Code smells make you feel sick.
    • Affinity with computer language processing.

    Contact information

    If you are interested in this assignment, you can contact Jeroen Meijer @ jeroen.meijer@eijsink.nl

    Sketch for detecting violations:

    • Single responsibility: classes should have only one responsibility. By using quantitative metrics one could limit the number of test cases for the class, couplings to other classes and the size of classes. When classes exceeds a specified limit, a violation can be reported.
    • Open for extension, closed for modification: one can detect classes and methods that are effectively final and refinements thereof. If those refinements (e.g., class extensions and implementations) modify the behavior of classes and methods that are effectively final, you have found a violation. Finding such violations is important, because refinements should only implement a class or method based on its contract. Modifying contracts in refinements can lead to unforeseen behavior at runtime.
    • Liskov substitution: this principle says one should be able to interchange implementations of an abstraction without changing the behavior of a program. By careful control flow analysis (e.g., using symbolic execution) of these refinements, one may be able to determine whether interchanging refinements would actually change the behavior of a program. If the behavior changes, one can report a violation of the principle.
    • Interface segregation: clients should not be forced to use parts of an interface that they are not interested in. To detect a violation of this principle, one can find such clients and do some form of analysis to detect what parts of the interface are not used by the client.
    • Dependency inversion: modules depending on abstractions, instead of concrete implementations decouples them. This ensures better maintainability and testability of these modules. A way to detect violations of this principle is by finding instances where new objects are created. In practice, objects that are created should either contain only data (they are data objects), or only modify data (they are services). Classes that are both, already violate the "Single responsibility" principle. Services should be instantiated as singletons during the configuration of an application, while data objects may be constructed throughout the rest of the program lifecycle. By properly detecting what kind of objects are constructed throughout different phases of the program's lifecycle, violations can be reported.
  • Visualisation of Formal Verification Findings

    Supervisor: Marieke Huisman

    Context

    The Machinaide project is a cooperation of TNO, Cordis SUITE, TU/e, Additive Industries, Lely Industries and KE-works. Machinaide aims at the development of digital twins for small- and medium-sized companies; Machinaide specifically targets digital twins of system control applications. Basis of Machinaide’s digital twins is the Cordis SUITE low-code platform, a platform for specification and code generation for system control. Cordis SUITE is being extended with data collection and visualisation functionality developed in Machinaide.

    Assignment

    System control applications involve many interacting functions running in parallel. Because of their complexity, it is a challenge to verify and validate system control application. In Machinaide, work is being done on model-based verification using formal methods. The focus has been on the development of user-friendly ways to (1) specify desired system properties (TNO, TU/e) and (2) verify these system properties using run-time verification (TNO) and model checking (TU/e). Run-time verification uses data of actual system executions to check whether desired properties are violated; model checking does the same for all possible system executions of a model of the system.

    What is lacking is a user-friendly way to report findings of property violations. This is the topic of this assignment. Gantt charts can be used to visualise system behaviour over time, typically showing system actions and their dependencies, but sometimes also discrete events and continuous signals. An example of a versatile Gantt chart visualisation tool is ESI’s TRACE tool (see https://trace.esi.nl/). Gantt charts can show actual execution traces, but also counterexamples found by run-time verification and model checking.

    In this assignment, a method is to be developed to augment execution traces with property-specific elements to (1) highlight violations of user-defined properties and (2) provide feedback to the user why the property was violated. The augmented execution trace is to be visualised as a Gantt chart. This execution trace augmentation involves relating the user-defined properties to the elements in the execution trace shown in the Gantt chart and highlighting the events leading to a property violation.

    The assignment will (if circumstances allow) be carried out at TNO’s Embedded Systems Innovation department at the High Tech Campus in Eindhoven in cooperation with Cordis SUITE and TU/e.

    Your profile

    You are a Computer Science MSc student looking for a graduation assignment of 6-9 months. You have experience with model-driven software engineering and formal methods. You are positively challenged by a multi-disciplinary environment and are motivated to make formal verification methods accessible to an industrial audience.

    Contact information

    Jacques Verriet, +31 6 15066705, jacques.verriet@tno.nl

  • Master projects at Ortec Finance

    Supervisors: Milan Seijbel, Marieke Huisman

    Ortec Finance was established in 1981 by graduate students from the Erasmus University of Rotterdam. Our core purpose is to enable people to manage the complexity of investment decision making. We do this by combining financial market expertise, mathematical models and IT.

    Ortec Finance Tech Labs emerged in order to lock in innovation through a dedicated Research and Development center in the field of IT. At Tech Labs we investigate the most recent trends and techniques ranging from Blockchain, Virtual/Augmented reality, Machine Learning to the latest front and backend techniques. Tech Labs provides guidance for both internships and theses in different fields of IT. The assignments will either be purely technical or technical with a financial purpose.

    Ortec Finance has a list of assignments available for both theses and internships. Depending on the desired form, these assignments can be made more practical or theoretical, and scoped to fit a timeframe of a quarter or half a year.

  • Master projects at XSens

    Supervisor: Marieke Huisman

    Xsens is the leading innovator in 3D motion tracking technology and products. Its sensor fusion technologies enable a seamless interaction between the physical and the digital world in consumer devices and professional applications such as 3D character animation, motion analysis, and industrial control & stabilization. Xsens is based in Enschede, and they have interesting opportunities for internships and Master projects related to Software Technology. Their list of currently available projects is provided here: https://careers.xsens.com/o/an-internship-at-xsens.

  • Master project at PolderValley

    Supervisor: Marieke Huisman

    The graduation assignment is primarily aimed for students of the Computer Science program at the University of Twente. With its size, PolderValley is able to respond quickly to new market needs within the Digital Performance domain. This requires that the organization must be able to apply the latest and innovative (development) technologies to existing and new products. "Intelligent solutions for a smarter world" certainly applies to the products being developed.

    We would love to meet the master student for professional research at different stages of the organization. Example topics are:

    • Development techniques: How can we optimize the development process and product increments with a focus on requirement specifications, test frameworks (unit, black box, integration, A/B etc.) and alignment between requirements, testing and increment?
    • System architecture: How can we optimize our architecture to keep the system maintainable, flexible and easy to extend? New and innovative architectures like serverless functions, event driven system and building native applications in a browser might help.
    • Machine learning: for example to optimize validation techniques, but also to present users with real-time contextual information.
    • Sandboxing: to increase validation options without modifying production systems and data.
    • User experience and behaviour: to research and optimize the way our products are used to be intuitive and innovative

    Depending on the Master specialization, a specific assignment can be selected that matches scientific relevance and where the results of the research can be applied to the further development of PolderValley products.
    More detailed information here.

  • Project proposals at TNO

    Supervisors: Tom van Dijk, Arnd Hartmanns

    At TNO, there are various opportunities for doing your final project, for example in the area of

    • control for adaptive autonomous distributed systems,
    • real-time debugging for distributed microservice chains,
    • explainability of machine learning,
    • using machine learning for sensor configuration.

    An overview of all available internship vacancies at TNO is given here.

  • Master projects at Info Support

    Supervisors: Tom van Dijk, Arnd Hartmanns

    The Research Center of Info Support offers you the opportunity to graduate at a scientific level within the framework of our IT practice.

    Info Support is a leading software company that makes high-end custom technology solutions for companies in the fintech, health, energy, public transport and agritech sectors. We work with a talented team of 500 engineers embracing an agile mindset and software craftmanship. We are proud to have awarded distinguished engineers in the field of AI, software architecture, open source, Java, .NET, cloud and agile, speaking at tech conferences around the world. Furthermore we are supporting the developer community by contributing at several open source initiatives.

    Our Research Ambitions: Ambitions are research questions of which the answers will give us the opportunity to determine the future. After that we present the research assignments that we came up with, with research questions that you could answer in your master thesis assignment.

    Our Master Thesis subjects & Ambitions: Our master thesis assignments are divided into two separate subjects:

    • Artificial Intelligence
    • Software Architecture

    Discover our research assignments examples in Artificial Intelligence and Software Architecture and learn more about graduating at Info Support and our Research Center on masterthesisatinfosupport.com.

  • Using model-based techniques for integration of subsystems

    Supervisor: Jan Tretmans

    This research would be done in collaboration with the Embedded Systems Institute and a company in Hengelo. For more information, contact Jan Tretmans. Local supervisor to be determined.

    It would also be possible to fill this project as an internship.

Contact