João Paulo Barros

dblp:04/1528 · also João-Paulo Barros · DBLP profile ↗
← Back
40ranked-venue papers
16as first author
10since 2021 · last 2026
0000-0002-0097-9883ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 18 · 12 first-author · 6 since 2021Systems, architecture and hardware · 13 · 2 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 10 · 5 first-author · 4 since 2021Software engineering, systems software and programming languages · 3 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Security and privacy · 2
YearPublicationVenuePosition
2026 Orchestrating Smart Health: A Nets-within-Nets Approach for Hybrid Fall Detection Systems
abstract
Modern fall detection systems frequently do not have a formal specification, which makes it hard to validate, scale, or adapt them to new technologies. This creates a gap between theoretical models and the need for robust systems that connect distinct, changing external components, such as sensors, decision-making algorithms, and warning systems. The global population is aging, and delayed care after a fall might have profound effects, raising the importance of reliable, flexible detection systems. We propose a structured, three-tiered behavioural framework for fall detection via Coloured Petri Nets (CPNs). By separating the system’s fundamental logic from its outward components, different modules can function together. It allows decisions based on sensor inputs and data from calls to external code. We use simulation to illustrate and validate our model’s decision flows in various scenarios. This gives us a tested design that works well with IoT components, such as edge devices and servers. This CPN design provides a viable foundation for building new health systems for the next generation. It allows upgrading or replacing sensors, as well as AI-based deciders and actuators, without affecting the system’s validated core logic.
João Pica, João Paulo Barros
MODELSWARD2
2025 Tile-Based Games for Object-Oriented Programming Learning: A Modular Base Code Approach
João Paulo Barros
CSEDU (2)1
2025 Model-Driven Development of Distributed Controllers Using Petri Nets and Low-Code Strategy
abstract
This paper presents a model-driven distributed controller development approach, supported by Petri nets modeling that relies on low-code strategies. The proposed approach addresses distributed controller systems having automation and/or cyber-physical systems as targeted application areas. The distributed controller system can be viewed as a globally asynchronous locally synchronous (GALS) system and its development is fully supported by a web-based tool framework offering comprehensive support for integrating hardware-software co-design techniques when mapping components to specific execution platforms. All development phases are supported, starting with the specification by editing the Petri net model and ending up with the deployment to specific implementation platforms, including FPGAs and microcontroller-based ones, adopting a low-code strategy. The framework also supports simulation and behavioral property verification. An example of an automation system application is presented to illustrate the adequacy of the approach.
Luís Gomes 0001, Anikó Costa, Filipe Moutinho, João Paulo Barros
IROS5
2024 Remote Debugger: A Tool to Remotely Monitor and Operate IOPT-Nets Controllers
João Paulo Barros, Filipe Moutinho, Anikó Costa, Rogério Campos-Rebelo, Luís Gomes 0001
Petri Nets2
2024 Sokoban: An Assignment for an Object-Oriented and GUI Programming Course
abstract
Motivating assignments is a well-known way to promote deeper learning in programming courses. As those assignments must also be aligned with the intended learning outcomes and preferably carry some novelty, the search for adequate assignments is permanent. This poster proposes a classical 2D one-person game that provides a solid basis for discussing and applying object-oriented concepts, GUI programming, and simple patterns. It was applied in an introductory object-oriented course. Students' feedback was highly positive, and anecdotal evidence suggests improved motivation and learning. Additionally, the game can be easily extended with some extra requirements and is amenable to different degrees of scaffolding. Hence, it can be used in more introductory or more advanced courses.
João Paulo Barros
SIGCSE (2)1
2023 Boosting Conceptual Thinking in a Programming Course - An Ontology-Based Approach
abstract
Students constantly have to learn and relate new concepts. However, those multiple relations are easily not given enough attention as their practical application is often given priority. Hence students are left with incomplete reflection on the subject matter, which quickly implies a surface learning of many essential contents and relations. Here, we propose using simple textual languages for students to express relations between concepts. Students' feedback was highly positive, and they recognized the usefulness of the activity to better reflect and understand multiple intertwining concepts in an object-oriented programming course.
João Paulo Barros
SIGCSE (2)1
2022 IOPT-Tools - From Executable Models to Automatic Code Generation for Embedded Controllers Development
Filipe Moutinho, Anikó Costa, João Paulo Barros, Rogério Campos-Rebelo, Luís Gomes 0001
Petri Nets4
2022 Assessment for Computer Programming Courses: A Short Guide for the Undecided Teacher
abstract
As the large number of articles on teaching introductory programming seem to attest, teaching and learning computer programming is difficult. However, perhaps surprisingly, the assessment design for those courses does not seem to be the most studied aspect. This short position paper provides a structured set of options and alternatives to consider when choosing the assessment elements for a programming course. The objective is to promote additional reflection on several alternatives for each assignment, exam, or other assessment elements. Along with this presentation, we point to eventually valuable references. We believe the resulting information should be helpful and applicable to many other disciplines, but the focus is on computer programming courses.
João Paulo Barros
CSEDU (2)1
2022 Active Learning Activities in a Pandemic Context for a Software Engineering Course: An Experience Report
abstract
This paper reports the students’ perceptions regarding active learning (AL) activities in a pandemic context and the use of AL and related tools to improve soft skills, such as critical thinking and teamwork. This work describes the active learning activities applied in a pandemic context for a Software Engineering course and presents students’ survey results. Based on students’ opinions, we conclude that AL and the associated tools, while promoting soft skills, also promoted motivation and student engagement for face-to-face and remote classes in the pandemic context by minimizing the negative impact it may have caused on the students.
Isabel Brito 0001, João Paulo Barros
CSEDU (2)2
2022 Configurable Templates for Assistive Technology Mobile Apps: A Block-based Programming Approach
abstract
Publisher Copyright: Copyright © 2022 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved.
Luís Filipe Garcia, João Paulo Barros, Candida Viriato
CSEDU (2)2
2020 Moving to Project-Based Learning at the Program Level: an Experience Report
abstract
This paper reports the students’, instructors’, and employers’ perceptions regarding the move to Project-Based Learning (PBL) at the program level. PBL is a widely known approach that aims to improve motivation and learning by engaging students in investigation with the aim of building a product, solving a problem, or both. Moreover, many studies claim that PBL significantly improves soft skills. This work describes the adaptation of two lower level short-cycle tertiary education programs, in programming and computer engineering, to achieve PBL goals. Qualitative and quantitative studies were carried out in two steps: 1) focus groups with students and instructors and 2) surveys to students that completed an internship and to the respective employers. The intention was to identify the extent to which instructors and students had adopted the new practices and to assess the respective results, as well as to collect employers’ opinions about the students’ skills and abilities after attending the PBL adapted program. The results of this study showed the need to improve the teaching practices to achieve PBL goals, mainly on soft skills acquisition. We propose recommendations based on two dimensions: institution and instructors. We conclude that the adoption of curriculum innovation at the program level implies a huge commitment from all stakeholders, as well the institution as a whole. In addition, we identify the benefits and difficulties of using PBL regarding motivation, group work, leadership, adaptation, communication, and implementation of more realistic projects.
Isabel Brito 0001, João Paulo Barros, Elsa Rodrigues
EDUCON2
2019 Vulnerabilities in IoT Devices for Smart Home Environment
abstract
Recently, consumers have seen multiple products being advertised as smart home. These products promise to make our homes more comfortable, safe, automated, and remotely controlled. To this new reality of processing information it was given the name IoT (Internet of Things). Many news headlines have been published exposing serious security vulnerabilities in many IoT devices, with some of them being exploited to make one of the largest DDoS attacks recorded. In this paper we present a method developed with the purpose of identifying high risk vulnerabilities in smart home IoT devices, giving application examples of actual vulnerabilities found in two commercially available devices. This method uses several open source tools to identify vulnerabilities in some of these IoT devices. Besides, we will also present some topics related to the main threats and vulnerabilities that affect smart home IoT devices.
Luís Costa, João Paulo Barros, Miguel Tavares
ICISSP2
2019 Model Based Simulation for a Smart City Project Based on LoRa
abstract
The “SmartCity: Lagoa” project is a partnership within the “Portugal 2020” project, a municipality-scale installation of 20,000 IoT devices over the next 3 years. These devices include sensors for temperature, humidity, luminosity, volumetry, noise, carbon monoxide, pH, and ORP, among others; all transmitting the collected data to one of six gateways using LoRa technology. In the implementation of this project, a lack of tools allowing the simulation of LoRa based projects was detected. This paper presents a framework to simulate and monitor a project based on LoRa, using a precise and executable graphical language. The simulation can use, as input, real data from the implemented system and other data added for simulation purposes. This allows a basis on reality introducing useful information to guide the simulation to the intended tests. The behaviors are defined using CPN Tools, a design environment allowing editing, simulation, and verification of high-level Petri net models. This paper presents the system design and how the executable models are used to simulate and validate the model, namely the system behavior when gateways and sensors are connected and disconnected.
Rui Mesquita, Rogério Campos-Rebelo, João Paulo Barros
IECON3
2018 Students' Perceptions of Paper-Based vs. Computer-Based Testing in an Introductory Programming Course
abstract
This paper examines the preferences of students regarding computer-based versus paper-based assessment, in an introductory computer programming course. Two groups of students were surveyed about their preference between paper-based and computer-based tests and respective rationale. All students had already been assessed: one group using two paper-based tests and the other group using two computer-based tests. Both groups expressed an overwhelming preference for computer-based tests independently of their previous programming experience. We conclude that, from the students' point of view, computer-based tests should be the used over paper-based ones for introductory programming courses. This adds to existing literature about computer-based testing of programming skills.
João Paulo Barros
CSEDU (2)1
2018 Bibliometric Analysis of 50 Years of IEEE Industrial Electronics Society Publications
abstract
Tertiary education increasingly relies on publications. Arguably, Ph.D. work is also increasingly produced within larger teams or with more extensive collaborations. As way to obtain an objective measure of this trend, this manuscript examines authorship trends in IEEE Industrial Electronics Society (IEEE-IES) publications for the 50-year period from 1963 to 2012. We emphasize the trends related to the number of authors and pages per publication. In order to identify several bibliometric indicators, we have analyzed 34,409 entries from IEEE- Xplore digital library for IEEE- IES publications. We provide results for two different sets of publications. Firstly, we present evidence that the number of authors and the number of pages of articles in the IEEE Transactions in Industrial Electronics (TIE) for the 50-year period are increasing per decade an average of +0.42 authors and +0.87 pages, respectively. Secondly, we provide evidence that the number of authors per article in 14 publication venues for the 25-year period from 1988 to 2012 are increasing per decade an average of +0.375 authors.
João M. Fernandes 0001, João Paulo Barros, Luís Gomes 0001
IECON2
2018 Refining IOPT Petri Nets Class for Embedded System Controller Modeling
abstract
Since its inception, the Input-Output Place-Transition (IOPT) class of Petri nets have changed in response to the gained experience in the use of its associated tools freely available as a cloud based toolset. Here, we informally present the current state of the IOPT net class as supported by the IOPT-Tools, publicly available at http://gres.uninova.pt/IOPT-Tools/. The corresponding formal syntax and semantics are presented, followed by an illustrative example. Finally, we give a brief presentation of the respective XML-based interchange format and conclude.
Luís Gomes 0001, João Paulo Barros
IECON2
2017 Student perspectives on the use of a Java library for novices
abstract
This experience report presents and discusses students' perspectives about the use of a library specifically built for introductory programming courses using the Java programming language. It was motivated by sporadic criticism by some students regarding the use of “non-professional” tools. All the inquired students had already attended an introductory computer programming course (CS1) where the library was used. We used a student-focused approach, based on an anonymous questionnaire and semi-structured interviews, to obtain information about the students' opinions and perceptions related to the use of the library. In order to avoid contamination regarding the opinion about “non-professional” tools, students were also asked about the use of BlueJ IDE. The interviews were conducted after the follow-up programming course, where a professional IDE was used, thus allowing students to express a more informed opinion on the relative merits, for novices, of each IDE. Our results clearly point to a large positive opinion about the use of the BlueJ environment, but less so about the library. Most students do not like the use of graphics as they lack the needed mathematical background, namely Cartesian geometry and simple trigonometry, but would approve the use of the library in part of the semester without the geometry component.
João Paulo Barros, Isabel Brito 0001
EDUCON1
2017 Towards automatic code generation for distributed cyber-physical systems: A first prototype for Arduino boards
abstract
Embedded controllers are often the basis for cyberphysical systems and offer a pervasive support for the Internet of Things. When those controllers are made of several communicating devices we talk about distributed embedded controllers. The IOPT-Tools is a free cloud-based framework for model-driven development of controllers. From a single graphical model, the tool already generates code to be run in several controllers. Yet, the communication layer to support inter-device communication needs to be manually written and tailored. This paper presents a first prototype of a tool that automatically adds a communication layer to the code generated by IOPT-Tools, using the I2C-bus specification. This allows automatic code generation for globally asynchronous and locally synchronous systems (GALS) supported by Arduino boards. A proof of concept example is presented.
Artur Ataide, João Paulo Barros, Isabel Brito 0001, Luís Gomes 0001
ETFA2
2017 Exploring USB Connection Vulnerabilities on Android Devices - Breaches using the Android Debug Bridge
abstract
The complexity of avoiding vulnerabilities in the modern mobile operating systems makes them vulnerable to many types of attacks. This paper presents preliminary work in the creation of scenarios to surreptitiously extract private data from smartphones running different versions of the Android Operating System. Three scenarios were already identified and a proof of concept script was developed, all based on the use of the Android Debug Bridge tool. When running in a computer, the script is able to extract private data from a USB connected smartphone. In two scenarios it was possible to extract the information in a totally surreptitious way, without the user knowledge. In the third scenario, using a newer version of the Android operating system, a user action is needed which makes the attack less likely to succeed, but still possible.
João Amarante, João Paulo Barros
SECRYPT2
2016 Towards a Mobile Application for an Engineering Geology Course - A Contribution to Improved Student Learning
abstract
One of the subjects studied on engineering geology courses is the description of rock masses and the application of geotechnical classifications. Field information is collected and organised in order to make possible to apply rock mass classification systems and analyse stereographic projection data. The present work proposes the use of computer supported ubiquitous learning to collect and treat field data. It presents work in progress towards the creation of a mobile application suitable for Engineering Geology courses. A first prototype for the Apple iOS system is presented.
João Paulo Barros, Pedro Caixinha, Sofia Soares
CSEDU (2)1
2016 From requirements to code (Re2Code) - A model-based approach for controller implementation
abstract
This paper presents a step by step model based approach (Re2Code) allowing the translation from Problem Frames, supporting requirements, to executable code for embedded controllers. The approach uses a set of heuristics to translate Problem Frames diagrams and requirements, into executable Input-Output Place-Transition (IOPT) net models, which take advantage of concepts available in IOPT nets, namely input and output events, and states. The IOPT nets models are then translated to executable C code, relying on the availability of a free translator (IOPT tools) from IOPT net models to C code, thus providing a support for the implementation of Cyber-Physical Systems. An example illustrates the approach.
Isabel Brito 0001, João Paulo Barros, Luís Gomes 0001
INDIN2
2015 Controller design and implementation: An approach based on problem frames and Petri Net models
abstract
Petri nets are often used as a design tool amenable to model specification, simulation, and verification. They are typically used in the design phase often with no clear connection to the requirements phase, including requirements specification. This paper shows how a class of non-autonomous Petri Nets can be used as an executable model for the design and implementation of machine domains in the context of the Problem Frames approach. This provides a requirements-design connection together with model simulation and verification. More specifically, Problem Frames are used to support requirements, problem and machine specifications amenable to a direct translation to IOPT nets, a class of non-autonomous Petri nets especially adapted for controller specifications. To that end, we propose a set of semi-formal rules for machine specifications in problem frames, which take advantage of the concepts available in IOPT nets, namely input and output signals and events, states, and a net composition operation. We illustrate the approach using an example.
Isabel Brito 0001, João Paulo Barros, Luís Gomes 0001
INDIN2
2014 Requirements specification for controller design - From use cases to IOPT net models
abstract
Non-autonomous Petri nets offer a language especially adapted for controller specifications. They are typically used in the design phase often with no clear connection to the analysis phase, including requirements specification. This paper shows how use cases can be used to support requirements specification amenable to a direct transformation to IOPT nets, a class of non-autonomous Petri nets. To that end, we propose a set of semi-formal rules for use case descriptions, including use case relationships, which take advantage of the concepts available in IOPT nets, namely input and output signals and events and net addition, a net composition operation.
João Paulo Barros, Isabel Brito 0001, Luís Gomes 0001
INDIN1
2013 From Concrete to Abstract - About Teaching UML Class Diagrams to Novice Programmers
abstract
8th International Joint conference on Software Technologies, ICSOFT 2013; Reykjavik; Iceland; 29 July 2013 through 31 July 2013
João Paulo Barros
ICSOFT1
2013 SmartRestaurant - A Report on the Development of a NFC-Based Mobile Application
abstract
8th International Joint conference on Software Technologies, ICSOFT 2013; Reykjavik; Iceland; 29 July 2013 through 31 July 2013
Vanda Rosa, Isabel Brito 0001, João Paulo Barros
ICSOFT3
2012 On the verification of non-autonomous Petri net models using autonomous petri net tools
abstract
This paper shows how to transform the input part of a class of non-autonomous Petri net models into behaviorally equivalent autonomous models. To that end, it proposes a set of transformations and compositions to replace non-autonomous annotations by structurally equivalent net modules. The resulting model can be analyzed by existing tools for autonomous Place/Transition nets supporting a maximal step semantics and, preferably, priorities in transitions. This possibility was tested using a freely available analysis tool for Place/Transition nets.
João Paulo Barros, Luís Gomes 0001, Anikó Costa
IECON1
2012 Model composition by reusing Petri net based modules
abstract
In the last decades, embedded system controllers design is facing sustainable increasing complexity. This brings new challenges that can benefit from model based development approaches. Petri nets are one of the formalisms suitable to be used as system specification language. This paper proposes a method for model composition, starting from sub-models representing concurrent components, and relying on their composition using a bottom-up approach, while supporting the reusability of modules. This bottom-up approach is integrated with a previous top-down decomposition approach of the system model, using the net splitting operation, where sub-models associated with components are generated. In this sense, the proposed technique supports a balanced usage of top-down and bottom-up approaches to system modeling using model-based development of embedded system controllers where Petri nets play a central role.
Anikó Costa, Luís Gomes 0001, João Paulo Barros
IECON3
2011 Java2Sequence: a tool for the visualization of object-oriented programs in introductory programming
abstract
This poster presents a Java based visualization tool for introductory object-oriented courses. The tool generates UML Sequence Diagrams from the execution of Java programs. The generated diagrams are enriched with a set of textual annotations that facilitate comprehension as they "connect" code and the respective diagrammatic representation.
João Paulo Barros, Luís Biscaia, Miguel Vitória
ITiCSE1
2007 A graphical editor for the input-output place-transition petri net class
abstract
This paper presents a set of under development tools associated with the FORDESIGN project, in particular an extension to the Petri nets graphical editor Snoopy. The project main purpose is to provide an adequate set of tools to be integrated within engineering development frameworks. The Snoopy graphical editor goal is to support editing capabilities to the input-output place-transition (IOPT) Petri net class models. These are targeted for the modelling of automation and embedded systems, where the Petri net markup language representation is extensively used.
Ricardo Nunes, Luís Gomes 0001, João Paulo Barros
ETFA3
2005 Towards usage of formal methods within embedded systems co-design
abstract
This paper presents the planned and on-going activities inside the FORDESIGN research project, funded by the Portuguese FCT (Foundation for Science and Technology), whose main objective is to foster the effective use of formal methods for embedded systems co-design. The project proposes a methodology where the use-cases are used as a starting point, not only for capturing requirements but also to support sub-model compositions. The methodology will support several different graphical formalisms, namely state diagrams, hierarchical and concurrent state diagrams, state-charts, sequence diagrams, and Petri nets. The latter are also used as the interchange format between the other used graphical formalisms. Hence, translations to Petri nets play a fundamental role. These Petri nets are then implemented using hardware-software co-design techniques, which will include reconfigurable devices, as well as microcontroller architectures, as supporting platforms. The project also includes the definition of a generic mechanism for Petri nets composition. This will offer support for composition, hierarchical structuring, and model modification
Luís Gomes 0001, João Paulo Barros, Anikó Costa, Rui Pais, Filipe Moutinho
ETFA2
2005 Two possible approaches for an intermediate GUI course
abstract
This poster presents the main pros and cons of two approaches for introducing intermediate students to the use of a complex class library in the context of Graphical User Interface programming. The approaches use different programming languages, integrated programming environments, and frameworks. The frameworks are used mainly for the development of application program interfaces for graphical user interfaces. These are useful in latter courses and are also important for student motivation.
Rui Pais, João Paulo Barros
ITiCSE2
2005 Use of flash movies for teaching GUI programming
abstract
This paper proposes the use of Flash movies when introducing students to the use of a complex Integrated Development Environment in the context of a GUI programming course.
Rui Pais, João Paulo Barros
ITiCSE2
2005 Structuring and composability issues in Petri nets modeling
abstract
Along Petri nets' history, numerous approaches have been proposed that try to manage model size through the introduction of structuring mechanisms allowing hierarchical representations and model composability. This paper proposes a classification system for Petri nets' structuring mechanisms and discusses each one of them. These include node fusion, node vectors, high-level nets, and object-oriented inspired Petri nets extensions, among others. One running example is used emphasizing the application of the presented mechanisms to specific areas, namely to automation systems modeling, and software engineering, where object-oriented modeling plays a major role.
Luís Gomes 0001, João Paulo Barros
IEEE Trans. Ind. Informatics2
2004 From Petri Nets to Executable Systems: An Environment for Code Generation and Analysis
João Paulo Barros, Luís Gomes 0001, Rui Pais, Rui Dias
ICINCO (2)1
2003 On structuring mechanisms for Petri nets based system design
abstract
This paper presents several structuring techniques applied to high-level Petri net models of embedded systems. Several modeling aspects are covered supporting the module concept, from the input and output structured modeling, and node structuring mechanism, to the more traditional hierarchical decomposition. Three types of Petri net nodes are used to support module representation: macro-places, macro-transitions and macro-blocks. Specific techniques to produce the executable model from the hierarchically structured model are presented. An application to an automation example is also presented.
Luís Gomes 0001, João Paulo Barros
ETFA (2)2
2003 Using lab exams to ensure programming practice in an introductory programming course
abstract
The high variability of students' backgrounds typically found in introductory programming courses creates additional difficulties to foster motivation and ensure the desired competency and retention rates. This paper presents and discusses the results of applying an assessment methodology strongly based upon lab exams (or on-computer exams) with the objective of ensuring programming pratice competency while maintaining students' motivation. It discusses the difficult balances of several assessment methods, details the used assessment methodology and finally presents students results and views. These show that lab exams, although more demanding then group assignments, can be made popular among students if they perceived them as fairer.
João Paulo Barros, Luís Estevens, Rui Dias, Rui Pais, Elisabete Soeiro
ITiCSE1
2002 Specific proposals for the use of petri nets in a concurrent programming course
abstract
Concurrency is a difficult subject to teach and learn. This paper presents a set of recipes for the use of Petri nets as a teaching aid of some fundamental concurrency concepts, in the context of an introductory concurrent programming course. Classroom experience clearly demonstrates this usage of Petri nets improves students understanding of concurrency concepts.
João Paulo Barros
ITiCSE1
2001 Use petri nets to improve your concurrent programming course
abstract
Petri nets are recommended as a learning aid in a concurrent programming course covering modelling and verification techniques, based on state space analysis, and translation of formal models to Java programs.
João Paulo Barros
ITiCSE1
2001 Man-machine interface for real-time telecontrol based onPetri nets specification
abstract
A specific class of Petri nets is presented and its application to the specification and implementation of a man-machine interface for a real-time telecontrol station is described. The proposed Petri nets class is amenable to be use by people with no previous experience in the use of formal methods and allows a very simple, yet effective, translation to code.
Luís Gomes 0001, João Paulo Barros, Anikó Costa
SMC2
2000 A versatile assignment in CS 2(poster session): a file compression utility based on the Huffman code
abstract
No abstract available.
João Paulo Barros, Rui Pais
ITiCSE1