Energy Monitoring Systems Analysis and Development: A Case Study for Graph-Based Modelling Tiago Carvalho, Tobias Müller, Sebastian Reiter, Luis Pinho, André Oliveira International Conference on Model Driven Engineering and Software Development, 2025 : The Internet of Things (IoT) enables everyday objects to connect and communicate remotely, transforming areas such as smart homes and industrial automation. IoT systems can be standalone or interconnected in a System of Systems, where multiple devices work together towards a common goal. A key application is Energy Monitoring Systems (EMS), which track energy use within communities, using energy production and consumption. Designing this type of IoT systems remains complex and requires careful consideration of heterogeneous devices, their limitations, software, communication protocols, data management, and security. This paper presents a design approach for EMS communities, with a focus on house-level IoT systems. We introduce a model-driven development methodology, a holistic and flexible framework for designing IoT systems across the development and operations lifecycle. Especially, the concept of projectors enables an easy shift between domain assets and provide automation support. The approach is validated with a real-life use case, for which an analysis phase was developed, showing the benefits of using our approach for managing EMS and the automation of the analysis configuration.
Foundations for a Rust-Like Borrow Checker for C Tiago Silva, João Bispo, Tiago Carvalho Proceedings of the ACM SIGPLAN Conference on Languages Compilers and Tools for Embedded Systems LCTES, 2024 Memory safety issues in C are the origin of various vulnerabilities that can compromise a program's correctness or safety from attacks. We propose a different approach to tackle memory safety, the replication of Rust's Mid-level Intermediate Representation (MIR) Borrow Checker, through the usage of static analysis and successive source-to-source code transformations, to be composed upstream of the compiler, thus ensuring maximal compatibility with most build systems. This allows us to approximate a subset of C to Rust's core concepts, applying the memory safety guarantees of the rustc compiler to C. In this work, we present a survey of Rust's efforts towards ensuring memory safety, and describe the theoretical basis for a C borrow checker, alongside a proof-of-concept that was developed to demonstrate its potential. This prototype correctly identified violations of the ownership and aliasing rules, and accurately reported each error with a level of detail comparable to that of the rustc compiler.
Task-to-Thread Mapping in OpenMP Using Fuzzy Decision Making Ada User Journal, 2024
Multi-criteria Analysis and Optimisation in the AMPERE Ecosystem Sara Royuela, Adrian Munera, Eduardo Quinones, Tiago Carvalho, Luís Miguel Pinho, et al. Ada User Journal, 2023 The AMPERE project is developing the next generation of high-performance and energy efficient Cyber-Physical Systems supporting multi-criteria optimization. This paper provides the general overview of the AMPERE approach to analyse and optimize parallel real-time applications in heterogeneous platforms. More specifically, it details how parallel OpenMP programs are generated from AMALTHEA models, and the multi-criteria optimization methodology, considering the fault-tolerance, time and energy properties of the targeted applications.
A Real-Time Parallel Programming Approach for Rust Tiago Carvalho, Hugo Silva, Luís Miguel Pinho Ada User Journal, 2023 The development of real-time systems is one of the areas with the highest relevance in computer science, and the number of critical systems has increased significantly. These systems considers several applications running concurrently, and inside each of those applications code might be parallelized to improve their performance and control the priority of each parallelizable task. Several efforts have been done in different programming languages to provide real-time systems with parallel programming models, whether by code extensions or annotations, or with specific features in the actual language core.
The LARA language João M. P. Cardoso, José Gabriel de F. Coutinho, Tiago Carvalho, Pedro C. Diniz Compilation and Synthesis for Embedded Reconfigurable Systems an Aspect Oriented Approach, 2013
Aspect-based source to source transformations José Gabriel de F. Coutinho, João M. P. Cardoso, Tiago Carvalho, Sujit Bhattacharya, Wayne Luk, et al. Compilation and Synthesis for Embedded Reconfigurable Systems an Aspect Oriented Approach, 2013
LARA experiments Fernando Gonçalves, Zlatko Petrov, José Gabriel de F. Coutinho, Razvan Nane, Vlad-Mihai Sima, et al. Compilation and Synthesis for Embedded Reconfigurable Systems an Aspect Oriented Approach, 2013
The REFLECT design-flow João M. P. Cardoso, José Gabriel de F. Coutinho, Razvan Nane, Vlad-Mihai Sima, Bryan Olivier, et al. Compilation and Synthesis for Embedded Reconfigurable Systems an Aspect Oriented Approach, 2013
Controlling hardware synthesis with aspects João M.P. Cardoso, Tiago Carvalho, José G.F. Coutinho, Pedro C. Diniz, Zlatko Petrov, et al. Proceedings 15th Euromicro Conference on Digital System Design Dsd 2012, 2012
Hardware/software specialization through aspects: The LARA approach Joao M. P. Cardoso, Tiago Carvalho, Joao Teixeira, Pedro C. Diniz, Fernando Goncalves, et al. Proceedings 2012 International Conference on Embedded Computer Systems Architectures Modeling and Simulation IC Samos 2012, 2012
Resource-efficient designs using an aspect-oriented approach Jose G.F. Coutinho, Sujit Bhattacharya, Wayne Luk, George A. Constantinides, João M.P. Cardoso, et al. Proceedings 15th IEEE International Conference on Computational Science and Engineering Cse 2012 and 10th IEEE IFIP International Conference on Embedded and Ubiquitous Computing Euc 2012, 2012
Experiments with the LARA aspect-oriented approach José G.F. Coutinho, Tiago Carvalho, Sérgio Durand, João M.P. Cardoso, Ricardo Nobre, et al. Aosd 12 Companion Proceedings of the 11th Annual International Conference on Aspect Oriented Software Development, 2012
LARA: An aspect-oriented programming language for embedded systems João M.P. Cardoso, Tiago Carvalho, José G.F. Coutinho, Wayne Luk, Ricardo Nobre, et al. Aosd 12 Proceedings of the 11th Annual International Conference on Aspect Oriented Software Development, 2012
RECENT SCHOLAR PUBLICATIONS
Schedulability Analysis of OpenMP Applications Under Heuristic Task-To-Thread Mapping M Samadi, T Carvalho, LM Pinho, S Royuela 7th Workshop on Next Generation Real-Time Embedded Systems (NG-RES 2026), 2 … , 2026 2026 Citations: 1
Lightweight Performance Monitoring of Real-Time Applications in RISC-V Platforms N Soares, T Carvalho, LM Pinho 2025 28th Euromicro Conference on Digital System Design (DSD), 402-409 , 2025 2025
Development and Management of Digital Twins for Energy Monitoring Systems T Carvalho, LM Pinho, P Paiva ACM SIGAda Ada Letters 45 (1), 79-83 , 2025 2025
Supporting Soft Real-Time Tasks in Zephyr With Constant Bandwidth Servers A Paschoaletto, PB Sousa, LM Pinho, T Carvalho 2025 28th International Symposium on Real-Time Distributed Computing (ISORC … , 2025 2025 Citations: 1
Energy Monitoring Systems Analysis and Development: A Case Study for Graph-Based Modelling. T Carvalho, T Müller, S Reiter, LM Pinho, A Oliveira MODELSWARD, 186-195 , 2025 2025
Task-to-thread mapping in OpenMP using fuzzy decision making M Samadi, T Carvalho, L Miguel Pinho, S Royuela ACM SIGAda Ada Letters 44 (1), 107-111 , 2024 2024 Citations: 1
Foundations for a rust-like borrow checker for c T Silva, J Bispo, T Carvalho Proceedings of the 25th ACM SIGPLAN/SIGBED International Conference on … , 2024 2024 Citations: 3
A Real-Time Parallel Programming Approach for Rust T Carvalho, H Silva, L Miguel Pinho ACM SIGAda Ada Letters 43 (2), 57-61 , 2024 2024 Citations: 1
Multi-criteria Analysis and Optimization in the AMPERE Ecosystem S Royuela, A Munera, E Quinones, T Carvalho, L Miguel Pinho, ... ACM SIGAda Ada Letters 43 (2), 94-99 , 2024 2024 Citations: 1
Evaluation of heuristic task-to-thread mapping using static and dynamic approaches M Samadi, T Carvalho, LM Pinho, S Royuela Workshop on Job Scheduling Strategies for Parallel Processing, 103-119 , 2024 2024 Citations: 2
Time-predictable task-to-thread mapping in multi-core processors M Samadi, S Royuela, LM Pinho, T Carvalho, E Quiñones Journal of Systems Architecture 148, 103068 , 2024 2024 Citations: 15
Towards a Rust-Like Borrow Checker for C T Silva, PG Correia, L Sousa, J Bispo, T Carvalho ACM Transactions on Embedded Computing Systems , 2024 2024 Citations: 3
Framework for the Analysis and Configuration of Real-Time OpenMP Applications T Carvalho, LM Pinho, M Samadi, S Royuela, A Munera, E Quiñones 2023 IEEE 21st International Conference on Industrial Informatics (INDIN), 1-8 , 2023 2023 Citations: 2
A DSL-based runtime adaptivity framework for Java T Carvalho, J Bispo, P Pinto, JMP Cardoso SoftwareX 23, 101496 , 2023 2023 Citations: 7
Heuristic-based task-to-thread mapping in multi-core processors MS Gharajeh, S Royuela, LM Pinho, T Carvalho, E Quiñones 2022 IEEE 27th International Conference on Emerging Technologies and Factory … , 2022 2022 Citations: 12
Tracing and Measuring GPU Execution in Automotive Software Systems T Carvalho, LM Pinho ADA USER 43 (3), 160 , 2022 2022
Configuration of Parallel Real-Time Applications on Multi-Core Processors MS Gharajeh, T Carvalho, LM Pinho 2022 IEEE 20th International Conference on Industrial Informatics (INDIN), 67-73 , 2022 2022 Citations: 2
A model annotation approach for the support of software energy properties management using amalthea R Gomes, T Carvalho, A Barros, LM Pinho 2022 IEEE 5th International Conference on Industrial Cyber-Physical Systems … , 2022 2022 Citations: 2
An ensemble of autonomous auto-encoders for human activity recognition KD Garcia, CR de Sá, M Poel, T Carvalho, J Mendes-Moreira, ... Neurocomputing 439, 271-280 , 2021 2021 Citations: 93
Nonio—modular automatic compiler phase selection and ordering specialization framework for modern compilers R Nobre, J Bispo, T Carvalho, JMP Cardoso SoftwareX 10, 100238 , 2019 2019 Citations: 6
MOST CITED SCHOLAR PUBLICATIONS
LARA: an aspect-oriented programming language for embedded systems JMP Cardoso, T Carvalho, JGF Coutinho, W Luk, R Nobre, P Diniz, ... Proceedings of the 11th annual international conference on Aspect-oriented … , 2012 2012 Citations: 122
An ensemble of autonomous auto-encoders for human activity recognition KD Garcia, CR de Sá, M Poel, T Carvalho, J Mendes-Moreira, ... Neurocomputing 439, 271-280 , 2021 2021 Citations: 93
Performance‐driven instrumentation and mapping strategies using the LARA aspect‐oriented programming approach JMP Cardoso, JGF Coutinho, T Carvalho, PC Diniz, Z Petrov, W Luk, ... Software: Practice and Experience 46 (2), 251-287 , 2016 2016 Citations: 45
Aspect composition for multiple target languages using LARA P Pinto, T Carvalho, J Bispo, MA Ramalho, JMP Cardoso Computer Languages, Systems & Structures 53, 1-26 , 2018 2018 Citations: 35
The matisse matlab compiler J Bispo, P Pinto, R Nobre, T Carvalho, JMP Cardoso, PC Diniz 2013 11th IEEE International Conference on Industrial Informatics (INDIN … , 2013 2013 Citations: 23
Aspect-driven mixed-precision tuning targeting gpus R Nobre, L Reis, J Bispo, T Carvalho, JMP Cardoso, S Cherubin, ... Proceedings of the 9th Workshop and 7th Workshop on Parallel Programming and … , 2018 2018 Citations: 21
Controlling a complete hardware synthesis toolchain with LARA aspects JMP Cardoso, T Carvalho, JGF Coutinho, R Nobre, R Nane, PC Diniz, ... Microprocessors and Microsystems 37 (8), 1073-1089 , 2013 2013 Citations: 21
LARA as a language-independent aspect-oriented programming approach P Pinto, T Carvalho, J Bispo, JMP Cardoso Proceedings of the Symposium on Applied Computing, 1623-1630 , 2017 2017 Citations: 19
Time-predictable task-to-thread mapping in multi-core processors M Samadi, S Royuela, LM Pinho, T Carvalho, E Quiñones Journal of Systems Architecture 148, 103068 , 2024 2024 Citations: 15
Heuristic-based task-to-thread mapping in multi-core processors MS Gharajeh, S Royuela, LM Pinho, T Carvalho, E Quiñones 2022 IEEE 27th International Conference on Emerging Technologies and Factory … , 2022 2022 Citations: 12
A study on hyperparameter configuration for human activity recognition KD Garcia, T Carvalho, J Mendes-Moreira, JMP Cardoso, AC de Carvalho International Workshop on Soft Computing Models in Industrial and … , 2019 2019 Citations: 11
Enriching MATLAB with aspect-oriented features for developing embedded systems JMP Cardoso, JM Fernandes, MP Monteiro, T Carvalho, R Nobre Journal of Systems Architecture 59 (7), 412-428 , 2013 2013 Citations: 11
A DSL-based runtime adaptivity framework for Java T Carvalho, J Bispo, P Pinto, JMP Cardoso SoftwareX 23, 101496 , 2023 2023 Citations: 7
Nonio—modular automatic compiler phase selection and ordering specialization framework for modern compilers R Nobre, J Bispo, T Carvalho, JMP Cardoso SoftwareX 10, 100238 , 2019 2019 Citations: 6
Experiments with the LARA aspect-oriented approach JGF Coutinho, T Carvalho, S Durand, JMP Cardoso, R Nobre, PC Diniz, ... Proceedings of the 11th annual international conference on Aspect-oriented … , 2012 2012 Citations: 5
The LARA Aspect-IR JGF Coutinho, T Carvalho, S Durand, JMP Cardoso REFLECT internal technical report , 2012 2012 Citations: 5
A preliminary study on hyperparameter configuration for human activity recognition KD Garcia, T Carvalho, J Mendes-Moreira, JMP Cardoso, AC de Carvalho arXiv preprint arXiv:1810.10956 , 2018 2018 Citations: 4
A meta-language and framework for aspect-oriented programming TDR de Carvalho PQDT-Global , 2011 2011 Citations: 4
Foundations for a rust-like borrow checker for c T Silva, J Bispo, T Carvalho Proceedings of the 25th ACM SIGPLAN/SIGBED International Conference on … , 2024 2024 Citations: 3