Research Interest

My research focuses on formal hardware models for complex heterogeneous platforms. I am a member of the Sockeye project which aims to find abstractions for the hardware/software interface that have formal semantics to tackle the complexity of modern hardware.

Within that space my main interest is in trustworthy platform management. I work on formally modeling power topologies and developing tools that use the models to correctly and reliably manage the complex power distribution networks on modern computer systems [1]. This also entails research into how to specify chip-to-chip protocols like I2C [2] and generating drivers and hardware designs from the specifications. The main platform for experimenting with these ideas is the Enzian research computer, a heterogeneous server class platform for systems software research we built in the Systems Group at ETH Zurich. I lead the project to create a trustworthy Baseboard Management Controller stack for the platform.

I was also a member of the Barrelfish OS team, working on integrating information from formal hardware models into the OS. As my Master’s thesis I designed a specification language to describe address translation hardware in a modern computing system. The language is called Sockeye and has since taken on a bit of a life on its own outside the Barrelfish project. We are now using an improved version of the language to analyze the trust relationships between components in SoCs [3].

Education

  1. Doctor of Science (Dr. sc.) in Computer Science ETH Zürich February 2019 - present Advisor: Prof. Dr. Timothy Roscoe
  2. Master of Science (MSc) in Computer Science ETH Zürich September 2015 - January 2018 Thesis: Hardware Configuration With Dynamically-Queried Formal Models Advisor: Prof. Dr. Timothy Roscoe
  3. Bachelor of Science (BSc) in Computer Science ETH Zürich September 2011 - September 2015 Thesis: Implementation of a Smartphone-based Visible Light Communication System using the Audiojack as a Communcation Frontend Advisor: Prof. Dr. Thomas Gross

Publications

Peer Reviewed

  1. Specifying the De-Facto OS of a Production SoC
    1. Ben Fiedler
    2. Roman Meier
    3. Jasmin Schult
    4. Daniel Schwyn
    5. Timothy Roscoe
    KISV ’23: Proceedings of the 1st Workshop on Kernel Isolation, Safety and Verification, October 2023
  2. Putting out the hardware dumpster fire
    1. Ben Fiedler
    2. Daniel Schwyn
    3. Constantin Gierczak–Galle
    4. David Cock
    5. Timothy Roscoe
    HotOS ’23: Proceedings of the 19th Workshop on Hot Topics in Operating Systems, June 2023
  3. Low-Overhead Reinforcement Learning-Based Power Management Using 2QoSM
    1. Michael Giardino
    2. Daniel Schwyn
    3. Bonnie Ferri
    4. Aldo Ferri
    Journal of Low Power Electronics and Applications, Volume: 12, Issue: 2, May 2022
  4. Enzian: An Open, General, CPU/FPGA Platform for Systems Software Research
    1. David Cock
    2. Abishek Ramdas
    3. Daniel Schwyn
    4. Michael Giardino
    5. Adam Turowski
    6. Zhenhao He
    7. Nora Hossle
    8. Dario Korolija
    9. Melissa Licciardello
    10. Kristina Martsenko
    11. Reto Achermann
    12. Gustavo Alonso
    13. Timothy Roscoe
    ASPLOS 2022: Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, March 2022
  5. 2QoSM: A Q-Learner QoS Manager for Application-Guided Power-Aware Systems
    1. Michael J. Giardino
    2. Daniel Schwyn
    3. Bonnie Ferri
    4. Aldo Ferri
    2021 IEEE 14th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC), December 2021
  6. Generating Correct Initial Page Tables from Formal Hardware Descriptions
    1. Reto Achermann
    2. David Cock
    3. Roni Haecki
    4. Nora Hossle
    5. Lukas Humbel
    6. Timothy Roscoe
    7. Daniel Schwyn
    Proceedings of the 11th Workshop on Programming Languages and Operating Systems, October 2021
  7. Declarative Power Sequencing
    1. Jasmin Schult
    2. Daniel Schwyn
    3. Michael Giardino
    4. David Cock
    5. Reto Achermann
    6. Timothy Roscoe
    ACM Transactions on Embedded Computing Systems, Volume: 20, Issue: 5s, September 2021
  8. A Model-Checked I2C Specification
    1. Lukas Humbel
    2. Daniel Schwyn
    3. Nora Hossle
    4. Roni Haecki
    5. Melissa Licciardello
    6. Jan Schaer
    7. David Cock
    8. Michael Giardino
    9. Timothy Roscoe
    27th International Symposium on Model Checking Software (SPIN 2021), August 2021
  9. mmapx: Uniform Memory Protection in a Heterogeneous World
    1. Reto Achermann
    2. David Cock
    3. Roni Haecki
    4. Nora Hossle
    5. Lukas Humbel
    6. Timothy Roscoe
    7. Daniel Schwyn
    HotOS ’21: Proceedings of the Workshop on Hot Topics in Operating Systems, June 2021
  10. A Digital Companion for Air Travelers
    1. Kimberly Garcia
    2. Daniel David Schwyn
    3. Florian Michahelles
    MobileHCI ’20: 22nd International Conference on Human-Computer Interaction with Mobile Devices and Services, February 2020
  11. From sound to sight: Using audio processing to enable visible light communication
    1. Stefan Schmid
    2. Daniel Schwyn
    3. Kaan Akşit
    4. Giorgio Corbellini
    5. Thomas R. Gross
    6. Stefan Mangold
    2014 IEEE Globecom Workshops (GC Wkshps), December 2014

Talks

  1. Trustworthy Board Management Software
    1. Daniel Schwyn
    seL4 Summit 2022, October 2022

Preprints

  1. Secure Memory Management on Modern Hardware
    1. Reto Achermann
    2. Nora Hossle
    3. Lukas Humbel
    4. Daniel Schwyn
    5. David Cock
    6. Timothy Roscoe
    arXiv:2009.02737, September 2020
  2. CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer
    1. Roni Haecki
    2. Lukas Humbel
    3. Reto Achermann
    4. David Cock
    5. Daniel Schwyn
    6. Timothy Roscoe
    arXiv:1911.08773, November 2019
  3. A Least-Privilege Memory Protection Model for Modern Hardware
    1. Reto Achermann
    2. Nora Hossle
    3. Lukas Humbel
    4. Daniel Schwyn
    5. David Cock
    6. Timothy Roscoe
    arXiv:1908.08707, August 2019

Mentored Students

  1. Firmware Management for a Heterogeneous Platform
    1. Julian Elyes
    Bachelor’s Thesis, ETH Zurich, August 2024
  2. A tool for debugging JTAG
    1. Edem Memetov
    Bachelor’s Thesis, ETH Zurich, August 2024
  3. Generating Platform Configuration from Netlists
    1. Georg Wehrli
    Bachelor’s Thesis, ETH Zurich, May 2024
  4. Exploring heterogeneous OS architecture
    1. Dennis Buitendijk
    Master’s Thesis, ETH Zurich, September 2023
  5. Generating Trustworthy I2C Stacks Across Software and Hardware
    1. Zikai Liu
    Master’s Thesis, ETH Zurich, September 2023
  6. Boot Firmware for Heterogeneous Systems running Linux
    1. Axel Montini
    Bachelor’s Thesis, ETH Zurich, August 2023
  7. Trusted Firmware for a Research Computer
    1. Alessandro Legnani
    Bachelor’s Thesis, ETH Zurich, August 2023
  8. Enzian Firmware Resource Interface
    1. Pengcheng Xu
    Semester Project, ETH Zurich, February 2023
  9. Declarative Dynamic Power Management
    1. Roman Meier
    Master’s Thesis, ETH Zurich, October 2022
  10. Linux as a universal boot loader for new operating systems
    1. Jan Nino Walter
    Master’s Thesis, ETH Zurich, May 2022
  11. Declarative Power Sequencing using a CPLD
    1. Manuel Hässig
    Bachelor’s Thesis, ETH Zurich, February 2022
  12. Generating Power Management Code from Declarative Descriptions
    1. Linus Ulysses Vogel
    Bachelor’s Thesis, ETH Zurich, October 2021
  13. Characterization of Interrupt Handling in Board Management Controllers
    1. Tobias Oberdörfer
    Bachelor’s Thesis, ETH Zurich, September 2021
  14. Optimizing Declarative Power Sequencing
    1. Moritz Knüsel
    Master’s Thesis, ETH Zurich, September 2021
  15. Real-time Board Management using an FPGA
    1. Sarah Tröndle
    Bachelor’s Thesis, ETH Zurich, April 2021
  16. Towards high-assurance Board Management Controller software
    1. Cedric Heimhofer
    Master’s Thesis, ETH Zurich, March 2021
  17. A model-based approach to platform-level power and clock management
    1. Jasmin Schult
    Bachelor’s Thesis, ETH Zurich, August 2020

Teaching

  • Advanced Operating Systems (263-3800-00L) ETH Zürich
    1. Spring 2019
    2. Spring 2020
    3. Spring 2021
    4. Spring 2022
    5. Spring 2023
  • Systems Programming and Computer Architecture (252-0061-00L) ETH Zürich
    1. Fall 2019
    2. Fall 2020
    3. Fall 2021
    4. Fall 2022
    5. Fall 2023
  • Anwendungsnahes Programmieren mit Python (252-0840-02L) ETH Zürich
    1. Spring 2024
  • Einsatz von Informatikmitteln (252-0839-00L) ETH Zürich
    1. Fall 2024