Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por HumanISE

2025

Implementing e-Learning for Knowledge Dissemination in a geographically dispersed organization

Autores
Dionísio, D; Santos, A;

Publicação
INTERACTION DESIGN AND ARCHITECTURES

Abstract
Training employees in organizations is essential for enhancing productivity and profitability, updating their knowledge, and better preparing them for market demands. Through digital platforms (LMS) and the e-Learning method, training occurs in web-based environments, enabling content management and accessibility across multiple devices. e-Learning typically follows a modular structure, ensuring adaptability, flexibility, and asynchronous learning. This study applies to the Design Science Research method to implement a data protection training course via an LMS, facilitating knowledge dissemination and employee self-assessment. The organization faces challenges in rapidly spreading knowledge due to its widespread locations, diverse working hours, and geographical constraints. The study evaluates training dissemination through microlearning, leveraging Moodle (LMS) and Digital Storytelling techniques. Additionally, it assesses the pedagogical and engagement aspects to ensure training is efficient, standardized, flexible, and more appealing to employees, increasing their receptivity and interest.

2025

A Pattern Language for Engineering Software for the Cloud

Autores
Sousa, TB; Ferreira, HS; Correia, FF;

Publicação
Trans. Pattern Lang. Program.

Abstract
Software businesses are continuously increasing their presence in the cloud. While cloud computing is not a new research topic, designing software for the cloud is still challenging, requiring engineers to invest in research to become proficient at working with it. Design patterns can be used to facilitate cloud adoption, as they provide valuable design knowledge and implementation guidelines for recurrent engineering problems. This work introduces a pattern language for designing software for the cloud. We believe developers can significantly reduce their R&D time by adopting these patterns to bootstrap their cloud architecture. The language comprises 10 patterns, organized into four categories: Automated Infrastructure Management, Orchestration and Supervision, Monitoring, and Discovery and Communication.

2025

Can ChatGPT Suggest Patterns? An Exploratory Study About Answers Given by AI-Assisted Tools to Design Problems

Autores
Maranhao, JJ Jr; Correia, FF; Guerra, EM;

Publicação
AGILE PROCESSES IN SOFTWARE ENGINEERING AND EXTREME PROGRAMMING-WORKSHOPS, XP 2024 WORKSHOPS

Abstract
General-purpose AI-assisted tools, such as ChatGPT, have recently gained much attention from the media and the general public. That raised questions about in which tasks we can apply such a tool. A good code design is essential for agile software development to keep it ready for change. In this context, identifying which design pattern can be appropriate for a given scenario can be considered an advanced skill that requires a high degree of abstraction and a good knowledge of object orientation. This paper aims to perform an exploratory study investigating the effectiveness of an AI-assisted tool in assisting developers in choosing a design pattern to solve design scenarios. To reach this goal, we gathered 56 existing questions used by teachers and public tenders that provide a concrete context and ask which design pattern would be suitable. We submitted these questions to ChatGPT and analyzed the answers. We found that 93% of the questions were answered correctly with a good level of detail, demonstrating the potential of such a tool as a valuable resource to help developers to apply design patterns and make design decisions.

2025

Tracing and Metrics Design Patterns for Monitoring Cloud-Native Applications

Autores
Albuquerque, C; Correia, FF;

Publicação
EuroPLoP (2)

Abstract
Observability helps ensure the reliability and maintainability of cloud-native applications. As software architectures become increasingly distributed and subject to change, it becomes a greater challenge to diagnose system issues effectively, often having to deal with fragmented observability and more difficult root cause analysis. This paper builds upon our previous work and introduces three design patterns that address key challenges in monitoring cloud-native applications. Distributed Tracing improves visibility into request flows across services, aiding in latency analysis and root cause detection, Application Metrics provides a structured approach to instrumenting applications with meaningful performance indicators, enabling real-time monitoring and anomaly detection, and Infrastructure Metrics focuses on monitoring the environment in which the system is operated, helping teams assess resource utilization, scalability, and operational health. These patterns are derived from industry practices and observability frameworks and aim to offer guidance for software practitioners. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2026.

2025

Patterns for Teaching Agile with Student Projects - Team and Project Setup

Autores
Pinho, D; Picha, P; Correia, FF; Brada, P;

Publicação
EuroPLoP (2)

Abstract
Higher education courses teaching about agile software development (ASD) have increased in commonality as the ideas behind the Agile Manifesto became more commonplace in the industry. However, a lot of the literature on how ASD is applied in the classroom does not provide much actionable advice, focusing on frameworks or even moving beyond the software development area into teaching in an agile way. We, therefore, showcase early work on a pattern language that focuses on teaching ASD practices to university students, which stems from our own experiences as educators in higher education contexts. We present five patterns, specifically focused on team and project setup phase: Capping Team Size, Smaller Project Scope, Business Non-Critical Project, Self-assembling Teams, and Team Chooses Topic as a starting point for developing the overall pattern language. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2026.

2025

Container Orchestration Patterns for Optimizing Resource Use

Autores
Maia, D; Correia, FF; Restivo, A; Queiroz, PGG;

Publicação
EuroPLoP (2)

Abstract
Service-based architectures provide substantial benefits, yet service orchestration remains a challenge, particularly for newcomers. While various resources on orchestration techniques exist, they often lack clarity and standardization, making best practices difficult to implement and limiting their adoption within the software industry. To address this gap, we analyzed existing literature and tools to identify common orchestration practices. Based on our findings, we define three key orchestration resource optimization patterns: Preemptive Scheduling, Service Balancing, and Garbage Collection. Preemptive Scheduling allows the allocation of sufficient resources for services of higher priority in stressful situations, while Service Balancing enables a restructuring of the nodes to allow better resource usage. To end, Garbage Collection creates cleanup mechanisms to better understand the system’s resource usage and optimize it. These patterns serve as foundational elements for improving orchestration practices and fostering broader adoption in service-based architectures. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2026.

  • 52
  • 740