{"id":5088,"date":"2025-01-16T17:21:28","date_gmt":"2025-01-16T16:21:28","guid":{"rendered":"https:\/\/mecatron.rma.ac.be\/?page_id=5088"},"modified":"2025-01-16T17:22:07","modified_gmt":"2025-01-16T16:22:07","slug":"theo-engels","status":"publish","type":"page","link":"https:\/\/mecatron.rma.ac.be\/index.php\/people\/theo-engels\/","title":{"rendered":"Th\u00e9o Engels"},"content":{"rendered":"<p><section class=\"kc-elm kc-css-5928 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-893869 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-323045\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-139060 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-48876 kc_col-sm-4 kc_column kc_col-sm-4\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-649395 kc_shortcode kc_single_image\">\n\n        <img decoding=\"async\" src=\"https:\/\/mecatron.rma.ac.be\/wp-content\/uploads\/2025\/01\/THEO_ENGELS.jpg\" class=\"\" alt=\"\" \/>    <\/div>\n<div class=\"kc-elm kc-css-723684 kc_text_block\"><\/p>\n<h4><span style=\"color: inherit; font-size: 1.25em; font-style: inherit;\">Researcher<\/span><\/h4>\n<p>Robotics &#038; Autonomous Systems,<br \/>Royal Military Academy<\/p>\n<h4>Address<\/h4>\n<p>Avenue De La Renaissance 30, 1000 Brussels, Belgium<\/p>\n<h4>Contact Information<\/h4>\n<p><strong style=\"font-style: inherit;\">Email<\/strong><span style=\"font-style: inherit;\">: <a href=\"mailto:theo.engels@mil.be\">theo.engels@mil.be<\/a><\/span><\/p>\n<p>\n<\/div><\/div><\/div><div class=\"kc-elm kc-css-375373 kc_col-sm-7 kc_column kc_col-sm-7\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-730260 kc_text_block\"><\/p>\n<div>Th\u00e9o Engels is a researcher in the Robotics &#038; Autonomous Systems unit of the Department of Mechanics at the Belgian Royal Military Academy. He contributes to the\u00a0<a id=\"m_5096211175021398925OWA1a56c2cd-5841-eac8-4525-5a808b0d9874\" href=\"https:\/\/mecatron.rma.ac.be\/index.php\/projects\/forces\/\" target=\"_blank\" rel=\"noopener\" data-saferedirecturl=\"https:\/\/www.google.com\/url?q=https:\/\/mecatron.rma.ac.be\/index.php\/projects\/forces\/&#038;source=gmail&#038;ust=1737130619744000&#038;usg=AOvVaw0QU6fVMNTn9VIM4LhCfdNv\">FORCES<\/a>\u00a0project, which leverages the memory safety features of the Rust programming language to improve the security and reliability of robotic systems in the face of cyber threats.<\/div>\n<div>\u00a0<\/div>\n<div>He holds a Master\u2019s degree in Software Engineering from\u00a0<a id=\"m_5096211175021398925OWA291881ae-af99-92b5-3192-1d4a2bc9bf06\" href=\"https:\/\/www.ecam.be\/\" target=\"_blank\" rel=\"noopener\" data-saferedirecturl=\"https:\/\/www.google.com\/url?q=https:\/\/www.ecam.be\/&#038;source=gmail&#038;ust=1737130619744000&#038;usg=AOvVaw2-RW-TsgOq9TpaF-J7Anhk\">ECAM Brussels Engineering School,<\/a>\u00a0earned in 2024.<\/div>\n<div>\u00a0<\/div>\n<div>During his studies, he discovered his passion for robotics engineering while participating in the Eurobot competition. This experience inspired him to focus on embedded systems, robotics, and artificial intelligence.<\/div>\n<div>\u00a0<\/div>\n<div>His master\u2019s thesis involved developing a real-time obstacle detection system for ground robots using machine learning. This system was specifically designed for autonomous robots\u00a0used in equine arena harrowing, developed in collaboration with\u00a0<a id=\"m_5096211175021398925OWA73f04203-91b3-f4d5-529b-fa7d189c88e5\" href=\"https:\/\/quimesis.be\/\" target=\"_blank\" rel=\"noopener\" data-saferedirecturl=\"https:\/\/www.google.com\/url?q=https:\/\/quimesis.be\/&#038;source=gmail&#038;ust=1737130619744000&#038;usg=AOvVaw1FT7xI_DB6Kh3uzn8MTiuS\">Quimesis<\/a>\u00a0and\u00a0<a id=\"m_5096211175021398925OWA00586dc5-3a41-8656-97dc-bc73ab0dbd03\" href=\"https:\/\/www.equestrian.technology\/fr_BE\" target=\"_blank\" rel=\"noopener\" data-saferedirecturl=\"https:\/\/www.google.com\/url?q=https:\/\/www.equestrian.technology\/fr_BE&#038;source=gmail&#038;ust=1737130619744000&#038;usg=AOvVaw1KVm7OtDjqi4eE5eGr26WZ\">Equestrian Technolog<\/a>y.<\/div>\n<p>\n<\/div><\/div><\/div><div class=\"kc-elm kc-css-737578 kc_col-sm-1 kc_column kc_col-sm-1\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-541411 kc-raw-code\"><script src=\"https:\/\/kit.fontawesome.com\/5feed4ac07.js\" crossorigin=\"anonymous\"><\/script>\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.rawgit.com\/jpswalsh\/academicons\/master\/css\/academicons.min.css\">\r\n<span style=\"font-size: 36px; color: Dodgerblue;\">\r\n<center>\r\n<a href=\"mailto:theo.engels@mil.be\"> <i class=\"fas fa-envelope fas-3x\"><\/i><\/a><br><br>\r\n<a href=\"https:\/\/www.linkedin.com\/in\/th%C3%A9o-engels\/ \"> <i class=\"fab fa-linkedin\"><\/i><\/a><br><br>\r\n<\/center>\r\n<\/span><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-507524 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-356051 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-318488\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-183945 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-840107 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\">\n<div class=\"kc-elm kc-css-720399 kc-title-wrap \">\n\n\t<h2 class=\"kc_title\">Publications<\/h2>\n<\/div>\n<div class=\"kc-elm kc-css-236768 kc_text_block\"><\/p>\n<p>\n<span style=\"font-style: inherit;\"><\/p>\n<h3 class=\"papercite\">2025<\/h3>\n<ul class=\"papercite_bibliography\">\n<li>    R. De Greef, A. Discepoli, E. Aguililla Klein, T. Engels, K. Hasselmann, and A. Paolillo, &#8220;Towards Macro-Aware C-to-Rust Transpilation (WIP),\" in <span style=\"font-style: italic\">Proceedings of the 26th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems<\/span>, New York, NY, USA,  2025, p. 57\u201361.    <br \/>   <a href=\"javascript:void(0)\" id=\"papercite_0\" class=\"papercite_toggle\">[BibTeX]<\/a>      <a href=\"javascript:void(0)\" id=\"papercite_abstract_0\" class=\"papercite_toggle\">[Abstract]<\/a>         <a href=\"https:\/\/doi.org\/10.1145\/3735452.3735535\" title='Download PDF' class='papercite_pdf'>[Download PDF]<\/a>         <a href='http:\/\/dx.doi.org\/10.1145\/3735452.3735535' class='papercite_doi' title='View on publisher site'>[DOI]<\/a><br \/>\n<blockquote class=\"papercite_bibtex\" id=\"papercite_abstract_0_block\">\n<p>The automatic translation of legacy C code to Rust presents significant challenges, particularly in handling preprocessor macros. C macros introduce metaprogramming constructs that operate at the text level, outside of C&#8217;s syntax tree, making their direct translation to Rust non-trivial. Existing transpilers \u2013- source-to-source compilers \u2013- expand macros before translation, sacrificing their abstraction and reducing code maintainability. In this work, we introduce Oxidize, a macro-aware C-to-Rust transpilation framework that preserves macro semantics by translating C macros into Rust-compatible constructs while selectively expanding only those that interfere with Rust&#8217;s stricter semantics. We evaluate our techniques on a small-scale study of real-world macros and find that the majority can be safely and idiomatically transpiled without full expansion.<\/p>\n<\/blockquote>\n<div class=\"papercite_bibtex\" id=\"papercite_0_block\">\n<pre><code class=\"tex bibtex\">@inproceedings{10.1145\/3735452.3735535,\nauthor = {De Greef, Robbe and Discepoli, Attilio and Aguililla Klein, Esteban and Engels, Th'{e}o and Hasselmann, Ken and Paolillo, Antonio},\ntitle = {Towards Macro-Aware C-to-Rust Transpilation (WIP)},\nyear = {2025},\nisbn = {9798400719219},\npublisher = {Association for Computing Machinery},\naddress = {New York, NY, USA},\nurl = {https:\/\/doi.org\/10.1145\/3735452.3735535},\ndoi = {10.1145\/3735452.3735535},\nabstract = {The automatic translation of legacy C code to Rust presents significant challenges, particularly in handling preprocessor macros. C macros introduce metaprogramming constructs that operate at the text level, outside of C's syntax tree, making their direct translation to Rust non-trivial. Existing transpilers --- source-to-source compilers --- expand macros before translation, sacrificing their abstraction and reducing code maintainability. In this work, we introduce Oxidize, a macro-aware C-to-Rust transpilation framework that preserves macro semantics by translating C macros into Rust-compatible constructs while selectively expanding only those that interfere with Rust's stricter semantics. We evaluate our techniques on a small-scale study of real-world macros and find that the majority can be safely and idiomatically transpiled without full expansion.},\nbooktitle = {Proceedings of the 26th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems},\npages = {57\u201361},\nnumpages = {5},\nkeywords = {Abstract Syntax Tree, C, Embedded, Macros, Metaprogramming, Preprocessor, Rust, Transpilation},\nlocation = {Seoul, Republic of Korea},\nunit= {meca-ras},\nproject= {FORCES},\nseries = {LCTES '25}\n}<\/code><\/pre>\n<\/p>\n<\/div>\n<\/li>\n<li>    T. Engels, A. Discepoli, R. De Greef, E. Aguililla Klein, F. D&#8217;Agostino, R. Gunsett, J. Pisane, K. Hasselmann, and A. Paolillo, &#8220;FORCES: An Incremental Transpiler from C\/C++ to Rust for Robust and Secure Robotics Systems,\" in <span style=\"font-style: italic\">Workshop on Rust for Robotics: Building Robust Foundations for Tomorrow\u2019s Autonomous Systems, IEEE International Conference on Robotics and Automation (ICRA)<\/span>,  2025.    <br \/>   <a href=\"javascript:void(0)\" id=\"papercite_1\" class=\"papercite_toggle\">[BibTeX]<\/a>\n<div class=\"papercite_bibtex\" id=\"papercite_1_block\">\n<pre><code class=\"tex bibtex\">@inproceedings{engels2025forces, author = {Engels, Th{'e}o and Discepoli, Attilio and De Greef, Robbe and Aguililla Klein, Esteban and D'Agostino, Francesco and Gunsett, Remi and Pisane, Jonathan and Hasselmann, Ken and Paolillo, Antonio}, title = {{FORCES}: An Incremental Transpiler from {C\/C++} to {Rust} for Robust and Secure Robotics Systems}, booktitle = {Workshop on Rust for Robotics: Building Robust Foundations for Tomorrow\u2019s Autonomous Systems, IEEE International Conference on Robotics and Automation (ICRA)}, year = {2025}, unit= {meca-ras},  project= {FORCES}, note = {Workshop Paper} }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/li>\n<\/ul>\n<p><\/span><\/p>\n<p>\n<\/div><\/div><\/div><\/div><\/div><\/section><section class=\"kc-elm kc-css-341225 kc_row\"><div class=\"kc-row-container  kc-container\"><div class=\"kc-wrap-columns\"><div class=\"kc-elm kc-css-341984 kc_col-sm-12 kc_column kc_col-sm-12\"><div class=\"kc-col-container\"><div class=\"kc-elm kc-css-410028\" style=\"height: 20px; clear: both; width:100%;\"><\/div><\/div><\/div><\/div><\/div><\/section><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":250,"parent":3120,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5088","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/5088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/comments?post=5088"}],"version-history":[{"count":2,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/5088\/revisions"}],"predecessor-version":[{"id":5091,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/5088\/revisions\/5091"}],"up":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/pages\/3120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/media\/250"}],"wp:attachment":[{"href":"https:\/\/mecatron.rma.ac.be\/index.php\/wp-json\/wp\/v2\/media?parent=5088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}