Work-in-progress compiler and visualiser development tools for ForSyDe Shallow, a modelling framework written in Haskell.
This work is conducted as part of the course IL2232 Embedded Systems Design Project at KTH Royal Institute of Technology, under the supervision of Professor Ingo Sander, who serves as the project client.
A pre-study related to this work was conducted in the course II2211 Research Methodology and Scientific Writing for Embedded Systems, where a literature review was carried out to investigate existing approaches to compiling ForSyDe models. The pre-study can be found in docs.
The original algorithm for generating code from SDF (Synchronous Data Flow) models written in ForSyDe can be found in this paper.
Currently, the project is only supported through a Nix flake. You can install Nix onto your system with the following instructions at nixos.org. With Nix installed, you can clone the repo and enter the development environment using the command nix develop. You can build the project with either cabal build or nix build. Use the following commands to try out the compiler:
# If using cabal:
cabal run forsyde-devtools-exe -- examples/model/SDF_example_003.hs --output-forsyde-ir --stdout
# If using nix:
./result/bin/forsyde-devtools-exe examples/model/SDF_example_003.hs --output-forsyde-ir --stdoutAn overview of the project can be found in project-overview.md. When in the development environment, the documentation can be built and served as a webpage using the commands:
mkdocs build
mkdocs serve- Michel Delli Abo
- Samuel Miksits
- Klara Modin
- Mohammad Afif Ramadhan
- Sebastian Thaeron
- Zicong Zhang
We would like to thank:
-
Professor Ingo Sander – for supervising, mentoring, and giving us the opportunity to contribute to his research project.
-
The Real-Time and Embedded Systems Group at Kiel University – for their time, support, and assistance related to the KIELER research project.
-
Lecturer Elias Flening – for teaching and mentoring us in project management during the course IL2232 Embedded Systems Design Project at KTH.
-
Associate Professor Jiantong Li and Associate Professor Johnny Öberg – for teaching us research methodology and scientific writing in the course II2211 Research Methodology and Scientific Writing for Embedded Systems at KTH.