Bachelor and Master Theses

Title: The Functional Paradigm in Embedded Real-Time Systems
Subject: Computer Science
Level: Advanced
Description:

Background:



Packsize Technologies is a medium scale packaging company that builds and distributes packaging machines that are specialized in on demand packaging with focus on lean manufacturing. In this thesis the authors will redesign the software implementation of their newest machine the iQ Fusion built for medium sized companies which is currently under development. With this machine the authors will investigate whether a functional implementation of the control unit is possible, and if so what tradeoffs one has to take into account when choosing language paradigm.

The current implementable idea is to build the system in two levels. One level that essentially executes state, it receives a new state from the high level part and moves from the current physical state to the one needed by the higher level part. The higher level parts assignment is to decide upon these state transitions.

The authors suggests to build the high level part of the system with the functional language paradigm and to strive for a purely functional implementation. This will yield these benefits:

  • Simpler reasoning about the system


  • Simpler testing of the system


The lower part will be done in an imperative language supported by the PLC i.e. C and its assignment is only to handle the physical aspects of the machine.

Goals, problems:



The goal of this project is to investigate whether it is possible to use the functional language paradigm when it comes to industrial low level control systems.

Other questions to answer during the project will include:

  • What are the tradeoffs compared to the imperative language paradigm?


  • How do one represent state in an efficient way? Since pure functional programming does not handle state but a physical object will always have a state.


  • Will the functional implementation have a higher or lower complexity? Where would the complexity lie?


  • Would a functional implementation give the ability for thorough unit testing that would increase maintainability and stability?


  • Will the suggested system prove to be improved, with the regard to readability and reasonability, compared to the current implementation?


  • How will the code metrics on both implementations differ?


  • Is it a good idea to combine both the functional and imperative language paradigm?


  • Is it possible to create state transition logging in a PLC that essentially creates a state by state playback of a full run?



Expected outcomes:



The expected outcome of this project is to answer the preceding questions. In an ideal situation the outcome will be a fully functional implementation of the iQ Fusion control unit using the functional language paradigm or a combination of both the functional and imperative language paradigm. This implementation should preferably include state transition logging. If this is achievable a good comparison between both implementations are the ideal outcome.

Project form:



This project is suited for two students at master level.

Company: Packsize Technologies, kontaktperson: Stefan Karlsson
Prel. end date: 2014-09-26
Presentation date: 2014-09-26
Student: Emil Bergström emil.bergstrom@packsize.com
Student: Shiliang Tong tongsl1003@gmail.com
IDT supervisor: Björn Lisper
bjorn.lisper@mdh.se, +46-21-151709

Rapport och bilagor

Size

Senaste uppdatering

TR1636.pdf

1264187

2014-10-22, 10:22


  • Mälardalen University |
  • Box 883 |
  • 721 23 Västerås/Eskilstuna |
  • 021-101300, 016-153600 |
  • webmaster |
  • Latest update: 2017.03.25