
This document introduces ADPS (Asynchronous Distributed Publish Subscribe), a PubSub-based communication model tailored for a hierarchical architecture distributed on Edge, Fog, and Cloud layers. The primary challenge addressed by this model is establishing runtime connections between subscribers and data providers, enabling communication across various segments. ADPS is implemented within a Smart Cities healthcare application, monitoring vital statistics via IoT devices. Furthermore, this work will cover the specifications of message formats, topic definitions, message delivery reliability and latency effects, broker configurations, control data exchange among nodes, and the dynamic behaviour of topology due to user movement and structural changes with node additions at the Edge and Fog levels. Test results from the model’s most demanding scenarios showed latency variations of approximately 200ms, 300ms, and 400ms with quality of service levels 0, 1, and 2 from the initial Fog node to the Cloud.
Product Line Architecture (PLA) design can be modeled as an optimization problem to be solved with search-based algorithms. PLA design optimization has successfully been done using the Non-Dominated Sorting Genetic Algorithm II (NSGA-II) in scenarios involving up to three objectives, which involve software metrics for properties such as feature modularization, PLA extensibility, and cohesion. As many of these properties may be desired in a PLA at the same time, more than three objectives might need to be optimized simultaneously. The Non-Dominated Sorting Genetic Algorithm III (NSGA-III) was designed to solve problems impacted by more than three objectives, named many-objective problems, so it might suit this need. However, NSGA-III has not yet been applied in the context of PLA design. In this sense, this study aims to compare the performance of NSGA-II and NSGA-III for PLA design to uncover which algorithm best fits this problem. To accomplish this goal, we implemented a specialized version of NSGA-III and then ran experiments using both algorithms to optimize eight PLAs with three, four, and five objectives. We evaluate the algorithms’ performance via quality indicators commonly used in search-based software engineering. The empirical results point out that: (i) NSGA-III had a slightly better performance than NSGA-II when optimizing four or five objectives in the context of our study; (ii) NSGA-II was the best or the algorithms tied when the PLA given as input is easier to optimize due to reduced solution space.
The software development process has been studied since the beginning of technological evolution. Development practices have evolved, requiring processes capable of supporting intensive work, paving the way for agile methodologies. With the growing need for continuous integration (CI) and continuous deployment/delivery (CD), new data architectures have emerged, allowing for scalable, maintainable, and reusable environments, collectively known as DevOps (Development + Operations). In this context, the DevDocOps approach integrates continuous documentation into the software development lifecycle. However, little has been published regarding the benefits of this approach. To address this, an empirical study was conducted, applying findings from the literature to a real development environment by integrating continuous documentation into the data engineering development lifecycle. Based on feedback from developers and technical lead, the results highlight the importance of technical documentation in an agile development environment and demonstrate how automating this process can improve the quality and efficiency of software deliveries.
Healthcare services and IoT, as highlighted by Hu et al. [9], generate enormous volumes of time series data. Using caching in serverless functions can significantly reduce latency and improve performance when storing frequently accessed data in memory. Although several approaches offer improvements, such as the use of in-memory caching, data prediction, and distributed systems, none of them fully addresses the need for a robust and efficient system for time series in healthcare, leaving a gap in necessary data availability and optimization. The TriCache model proposes a three-tier caching system to optimize storage and access to time series data in healthcare serverless functions, using a combination of memory in the serverless function, in-memory cache, and disk storage, in addition to predictive intelligence. The main contribution of the model is the significant reduction in latency and the improvement in the hit rate by efficiently predicting and allocating data across different cache layers. Experiments demonstrated a notable reduction in response time, with a 110 millisecond decrease in the 99th percentile. Additionally, the model performed significantly, achieving a 93% hit rate, compared to the 78% observed in the traditional model.