Cloud computing, Edge computing and IoT are significantly changing from the original architectural models with a pure provisioning of virtual resources (and services) to a transparent and adaptive hosting environment where cloud providers, as well as “on-premise” resources and end-nodes, fully realize the “everything-as-a-service” provisioning concept. The optimal design of these architectures, including the selection of optimal services to acquire, is not-trivial in the Cloud-Edge context, due to the involvement of a variable number and type of available resources offerings and to the impact on cost, performance and other relevant features, such as security, almost never considered. This paper presents a novel formalization of the Cloud-Edge allocation problem for the Industrial IoT context. The proposed optimization process takes explicitly into account two critical aspects that are often overlooked in similar approaches, namely the new cloud-edge on-demand service offerings model for the allocation of resources and the impact on the deployed application, in terms of cost, performance and security policies actually implemented. An efficient, yet suboptimal deterministic solver is also presented, and compared with a linear programming one. Results are the same in 86% of the cases on the considered dataset, while our solver is orders of magnitude faster than the linear one.
5 April 2021 in International Journal of Geographical Information Science
Current vehicles are equipped with a number of environmental sensors to improve safety and quality of life for passengers. Many researchers have shown that these sensors can also be exploited for opportunistic crowd-sensing. Useful new services can be developed on top of these data, like urban surveillance of Smart Cities. The spatio-temporal sensing coverage achievable with Vehicular Crowd-Sensing (VCS), however, is an open issue, since vehicles are not uniformly distributed over the road network, undermining the quality of potential services based on VCS data. In this paper, we present an evolution of the standard A routing algorithm, meant to increase VCS coverage by selecting a route in a random way among all those satisfying a parametric constraint on the total cost of the path. The proposed solution is based on an edge-computing paradigm, not requiring a central coordination but rather leveraging the computational resources available on-board, significantly reducing the back-end infrastructure costs. The proposed solution has been empirically evaluated on two public datasets of 450,000 real taxi trajectories from two cities, San Francisco and Porto, characterized by a very different road network topology. Results show sensible improvements in terms of achievable spatio-temporal sensing coverage of probe vehicles.
16 October 2020 in Software Testing, Verification and Reliability
The REST (REpresentational State Transfer) paradigm has become essential for designing distributed applications that leverage the HTTP protocol, enabling efficient data exchange and the development of scalable architectures such as microservices. However, selecting an appropriate framework among the myriad available options, especially given the diversity of emerging execution environments, presents a significant challenge. Often, this decision neglects crucial factors such as performance and energy efficiency, favoring instead developer familiarity and popularity within the industry. To address this, we conducted a comprehensive benchmark study using a prototype REST API application provided by an industry partner, which was implemented multiple times using different REST API frameworks. We evaluated five different REST API frameworks across three popular programming languages, incorporating both traditional and emerging execution environments, resulting in twelve distinct configurations. Our results reveal significant differences in performance and computational resource consumption across different frameworks and execution environments, highlighting the necessity of making informed technology choices based on thorough analysis rather than convenience or familiarity. In addition to our findings, we offer other contributions to the field: an automated pipeline that benchmarks different configurations with various frameworks and execution environments, and a reference benchmark REST API that can be used in other studies. This research provides valuable insights and tools for developers and organizations aiming to select high-performance, resource-efficient technologies that promote environmental sustainability and reduce operational costs.
9 October 2023 in Expert Systems with Applications
Automated end-to-end web tests are typically implemented as scripts that leverage dedicated libraries to simulate user interactions with web pages in a remotely controlled web browser. These tests are crucial for ensuring the functionality and reliability of web applications, as well as confirming non-regression on new releases. Still, as web applications evolve, maintaining the end-to-end test code is one of the main challenges faced by practitioners. Indeed, even minor alterations in web pages can easily break existing test code, rendering it unable to correctly locate and interact with web page elements. This issue is commonly known as web test fragility. Many works in the literature have investigated the root causes of web test fragility and proposed approaches to repair these tests automatically or to produce more robust tests. In this short paper, we tackle the fragility problem from a different perspective. Rather than trying to repair broken tests, the proposal we are currently working on aims at estimating the extent to which a web test is prone to breakage, by considering both the source code of the web test and the web pages of the application under test. We envision that our proposal could offer substantial benefits to web testing processes, allowing testers to improve their test suites before breakages occur, saving time and money in the process. Preliminary experiments we conducted on an open-source web application showed that the computed fragility scores are highly correlated with test breakages in subsequent web application versions.