1. Introduction
The use of mobile devices has grown exponentially in the past decade, driving demand for applications that provide users with personalized, real-time information [
1,
2,
3]. One of the most rapidly advancing areas has been geolocation-based mobile applications [
4,
5], which allow the delivery of relevant content to users based on their physical location [
6]. These technologies have been widely adopted in the commercial sector, aiming to enhance user experience by delivering real-time promotions [
7]. However, the efficiency and reliability of these applications rely heavily on effective management of communication between mobile devices and the backend servers that supply necessary data and services [
8].
To address these challenges, Petri nets offer a suitable formal modeling tool for systems that require the coordination of multiple asynchronous and concurrent processes [
9], as in the case of mobile applications interacting with APIs (Application Programming Interfaces) [
10] . Petri nets allow the accurate representation of interactions between network requests, message delivery, and user proximity detection, contributing to a smooth and optimized user experience [
11].
This article presents the design and implementation of a mobile application developed in Kotlin, which leverages geolocation services to send its geographic position to an API. The API calculates the proximity between the user and registered shopping centers, such as Soriana, GranD, and HEB, using the Haversine formula [
12]. If the user is detected within a radius of 600 meters or less from a shopping center, the API, developed using the Laravel framework, sends real-time promotional offers. Additionally, the application features a share button, enabling users to distribute offers among their contacts, thereby extending the reach of the promotions [
13]. By utilizing Petri nets to model the system’s asynchronous behavior, communication between the mobile application and the API is optimized, ensuring fast response times and accurate delivery of promotions.
The complexity of developing the mobile application and API lies in handling multiple simultaneous user requests in parallel without affecting response time. To address this challenge, Petri nets are introduced as an appropriate formal modeling tool, enabling the representation and analysis of the system’s asynchronous and distributed behavior. This approach enhances user experience and prevents communication conflicts [
14,
15].
The main contribution of this study lies in the application of Petri nets for formal modeling in real-time proximity systems, demonstrating their effectiveness not only in optimizing the delivery of relevant content but also as a scalable and robust methodology that can be applied in future mobile application developments in this field. The obtained results show that the proposed system achieves a reduction in response times and improves the accuracy of proximity detection using the Haversine formula, validating the effectiveness of modeling with Petri nets and concurrency management in real-time notification systems.
The rest of the paper is structured as follows:
Section 2 provides a review of the state of the art.
Section 3 provides a complete description of the materials and methods used.
Section 4 presents the analysis and results of the tests performed. Finally,
Section 5 concludes the paper and discusses future work.
2. State of the Art
2.1. Geolocation in Mobile Applications
Geolocation is essential for applications that rely on user location [
16]. The Haversine formula is commonly used to calculate the distance between two points on the Earth’s surface, which is crucial for determining whether a user is within the proximity range of a shopping center. Previous studies have employed this formula to optimize location-based services and enhance the accuracy of location-based recommendation systems[
17,
18].
2.2. Real-Time Communication and APIs
The design of effective APIs is essential for real-time communication between mobile applications and servers. Frameworks such as Laravel are now commonly adopted for API construction due to their robustness and ease of integration. APIs that handle asynchronous requests provide a smoother user experience, which is crucial for applications requiring constant updates [
19].
2.3. System Modeling with Petri Nets
Petri nets are widely used modeling tools in concurrent and distributed systems [
20]. Their ability to represent the asynchronous nature of interactions between the user and the system makes them particularly useful in the context of mobile applications that rely on continuous communication with a server. Using Petri nets to model system behavior in this context allows for a better understanding and optimization of the processes involved, ensuring effective handling of concurrency and event synchronization.
The value of Petri nets lies in their ability to model and analyze complex systems, such as mobile applications interacting with an API in real time. This modeling enables the analysis of critical properties such as accessibility and deadlock prevention in communication, optimizing information exchange between the mobile application and the API. Furthermore, their applicability in modeling proximity systems allows for anticipating and reducing delays in content delivery, ensuring accurate and timely communication. This is highlighted in the study by Velazquez et al. [
21], which emphasizes the flexibility of Petri nets in modeling mobile applications requiring efficient management of asynchronous processes. These concepts provide a foundation for extending the use of Petri nets to proximity-based applications, such as those presented in this study.
2.4. Mobile Application Development
In mobile application development, Kotlin has gained popularity as an effective programming language for Android due to its ease of use [
22]. Applications that integrate geolocation services and APIs for content delivery must consider factors such as response time and communication efficiency to ensure a positive user experience. The implementation of modern architectures, such as REST developed with Laravel on the backend, enables more efficient request handling and enhances scalability [
23].
Figure 1 illustrates the communication flow of the REST API, which interacts with a mobile client or device and a database.
The combination of geolocation, Petri nets, and modern mobile development technologies presents a significant opportunity to optimize user interaction with real-time promotion systems. Petri nets not only allow for precise representation of asynchronous interactions but also provide a solid foundation for developing scalable and effective applications in the future.
3. Materials and Methods
3.1. Materials
3.1.1. Development Tools
The following tools were used for the development of the API and the mobile application:
API: Developed in PHP (version 8.0.2) using the Laravel framework (version 9.2). This framework was chosen for its ease in creating RESTful APIs and its robustness in managing routes and HTTP requests.
Mobile Application: The application was developed in Kotlin (version 1.9.0) for Android mobile devices to leverage its native capabilities for geolocation and real-time communication.
Geolocation: For distance calculations, the Haversine formula was implemented in the API, which receives the mobile device’s geographic coordinates and calculates proximity to points of interest stored in a database.
Database: MySQL (Ver 15.1 Distrib 10.3.39-MariaDB) was used to store the shopping centers’ coordinates and promotional information.
Petri Nets: Petri nets were used to model the asynchronous behavior of requests between users and the API.
API Development Technology Environment
Mobile Application Technology Environment
Device 1: Huawei smartphone with Android version 9, RAM 4 GB
Device 2 (emulated): Pixel 7 Pro with Android version 13, RAM 2 GB
IDE for Mobile Application Development
IDE for API Development
3.2. Methods
3.2.1. General System Design
The proposed system consists of two main components: a mobile application developed in Kotlin as the frontend and a backend API implemented with Laravel. Communication between these components is carried out through asynchronous HTTP requests, in which the mobile application sends the user’s coordinates to the API in real time. The API responds with relevant promotional advertisements when the user is within a 600-meter radius of a registered shopping center.
A structured methodology is followed for the development of the mobile application and its communication with the API, detailing the implementation of key system components and technology integration. In addition to using Petri nets to model the communication flow between the mobile application and the API, ensuring precise, conflict-free interaction, the modeling allows us to visualize the optimal communication flow, making it smooth and efficient and enhancing the user experience. The proposed methodological process is described below.
3.2.2. Haversine Formula for Proximity Calculation
The distance calculation between the user’s location and shopping centers is performed using the Haversine formula, which estimates the distance between two points on the surface of a sphere based on their geographic coordinates (latitude and longitude). Since the Earth is approximately spherical, this formula provides an accurate estimation of the distance in meters. The Haversine formula is defined by Equation (
1).
The following notations are used:
d is the distance between the two points.
r is the Earth’s radius (approximately 6371 km).
and are the latitudes of the two points in radians.
is the difference in latitudes, .
is the difference in longitudes, .
3.2.3. Mobile Application Development (Frontend)
The mobile application was developed in Kotlin, chosen for its resource efficiency and compatibility with Android. The application utilizes Google Location Services to obtain the user’s location. Its primary goal is to capture the user’s real-time location, send the coordinates to the API, and receive relevant promotional offers when the user is within 600 meters or less of a shopping center. Latitude and longitude coordinates are transmitted to the API via HTTP requests using the Retrofit library. The user interface includes a dynamically displayed share button that appears upon receiving promotions. This button allows users to share offers through social media or messaging applications, leveraging Android Intents to enable seamless integration with multiple platforms.
API Interaction
The following dependencies were added to the build.gradle file:
Google Location Services to track the user’s location.
implementation ("com.google.android.gms:play-services-location:21.3.0")
Retrofit dependencies for HTTP requests
implementation ("com.squareup.retrofit2:retrofit:2.9.0")
implementation ("com.squareup.retrofit2:converter-gson:2.6.4")
The following permissions were added in the manifest.xml file to allow the application access to the internet and GPS usage:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
3.2.4. API Development (Backend)
The API was implemented in Laravel, a PHP-based framework that facilitates the development of scalable web applications. The API receives coordinates from mobile devices and compares the user’s location with the stored coordinates of shopping centers. Each request uses the Haversine formula to calculate the distance between the user and each registered shopping center. If the distance is less than or equal to 600 meters, the API sends relevant promotional advertisements.
API Structure
Through this endpoint, the show method of the OfferController is used, which performs the proximity calculation.
3.2.5. Proximity Calculation
The show method of the offerController controller receives the geographic coordinates sent by the application and calculates the distance between the shopping center and the mobile device (MD).
Algorithm 1 describes the steps to calculate the distance between the mobile device and the shopping center, taking into account the geographical coordinates. The API receives the coordinates and returns a list of offers from any shopping center located within 600 meters or less.
|
Algorithm 1:Show Nearby Stores |
 |
If the calculated distance is less than or equal to 600 meters, the API will send the available offers from the shopping center to the mobile device (MD).
3.2.6. Database
The database was implemented using MariaDB. The stores table contains data on the shopping centers, including the shopping center’s ID and its geographic coordinates (latitude and longitude), as shown in
Table 1.
The promotions associated with each shopping center are stored in the items table, as shown in
Table 2. The coordinates are saved in geographic point format to optimize proximity queries.
3.2.7. Modeling with Petri Nets
To model the asynchronous and concurrent nature of the interaction between the user and the API, Petri nets were used as a formal tool that allows for the description of distributed and concurrent systems. The system’s behavior was modeled through places and transitions, representing events such as receiving coordinates, detecting proximity, and sending promotions.
To represent the Petri net, the structure includes the following places (P) and transitions (T), which reflect the flow of interaction between the mobile application, the API, and the geolocation-based promotions, as shown in
Table 3.
The initial state is shown in vector (
2).
The input matrix (I) describes the number of tokens consumed in each place when a transition is triggered, as shown in
Table 4.
The output matrix (O) describes the number of tokens placed in each place when a transition is triggered, as shown in
Table 5.
The incidence matrix (C) is obtained by subtracting the input matrix from the output matrix by solving Equation (
3), as shown in
Table 6:
Figure 2 shows the Petri net designed to model the flow of tokens between different states and transitions. The sequence of activations allows for the observation of the concurrent and sequential behavior of the proposed system.
3.2.8. Calculation of T-Invariants
Step 1: Incidence matrix (C)
The T-Invariants are non-negative vectors that satisfy Equation (
4), obtained through linear algebra. Given a system with 11 places (
) and 9 transitions (
), the incidence matrix
C describes how transitions affect places. Each row corresponds to a place, and each column corresponds to a transition.
The values in the matrix are as follows:
1: A token is added to the place when the transition occurs.
-1: A token is removed from the place when the transition occurs.
0: The transition does not affect the place.
Table 6 shows the incidence matrix (C)
Step 2: Define the linear system
To obtain the T-invariants, it is necessary to solve Equation (
4)
Here, is a column vector of size 9 (corresponding to the number of transitions). The solution describes the combinations of transitions that, when activated, do not alter the total number of tokens in the system.
Step 3: Solve the system of equations
By solving the system of equations using linear algebra methods, a set of equations derived from the incidence matrix C is obtained.
Step 4: Solve the system
This is a homogeneous system of equations. When solving, we find that all transitions
are related, as shown in Equation (
5):
In other words, are proportional to each other. This indicates that all transitions can be activated in sequence without altering the total distribution of tokens in the system.
T-Invariants
The resulting T-invariant can be represented as a vector where all elements are equal to the same scalar value k. If a vector
x is a solution, any scalar multiple
, with
k>0, is also a valid solution. This implies that kk serves as a scaling factor for the T-invariant, allowing its magnitude to be adjusted proportionally. Specifically, the vector can be expressed as in Equation (
6):
where the invariant property of the system is reflected.
This T-invariant indicates that all transitions can fire together repeatedly without changing the global state of the Petri net.
T-Invariant Analysis
The fact that all the transitions are related suggests that the net exhibits cyclical behavior. This implies that the system returns to its original state once all transitions have occurred, allowing the transitions to repeat indefinitely. In practical terms, this system models a continuous process that neither consumes nor generates tokens cumulatively.
A single non-trivial T-invariant was obtained, confirming the cyclical behavior of the system. This analysis is useful for understanding the conservation of resources or tokens in a system and for detecting potential repetitive execution cycles.
Liveness
A Petri net is live if, for any initial marking, it is possible to reach a configuration in which any transition can eventually be fired. This means that no transitions become unreachable over time.
The obtained T-invariant is , indicating that all transitions are related in a way that allows them to activate cyclically, without any becoming permanently inactive.
This implies that the net exhibits cyclical behavior in which transitions can repeat indefinitely, suggesting that all transitions can fire at some point, fulfilling the liveness condition.
Therefore, the net is live.
Boundedness
A Petri net is bounded if there exists an upper limit for the number of tokens in any place, regardless of how many times the transitions are fired. Formally, a net is k-bounded if the number of tokens in each place does not exceed a fixed number k.
The T-invariant is , which suggests that the number of tokens in the places is conserved. Each transition moves a token from one place to another without accumulating tokens in any place.
There is no excessive accumulation of tokens in any place, so no token limit is exceeded. This implies that the net is 1-bounded, meaning the number of tokens in any place never exceeds 1.
Therefore, the net is bounded.
3.2.9. System Evaluation
The system evaluation was conducted by measuring two key metrics:
API Response Time: The time taken by the API to process a proximity request and send a response with promotions was measured. Tests were conducted in a controlled environment.
Proximity Detection Accuracy: The accuracy of the Haversine formula was tested to determine its capability to detect whether a user was within a 600-meter radius of a shopping center.
Offers are received on MD1 and MD3 if and only if they are within a radius of 600m or less from the participating shopping centers, as shown in
Figure 3.
4. Results and Discussions
4.1. Results
The implementation of the mobile application and API for the real-time delivery of promotional ads was evaluated in a controlled environment, simulating user interaction with shopping centers. The following presents the results obtained from the performance metrics and the effectiveness of the system based on the detected proximity.
4.1.1. System Performance
Multiple tests were conducted to evaluate the system’s response time, recording the time from when the user entered the 600-meter radius of a shopping center to the reception of a promotional ad. The results are summarized in
Table 7, which shows the test conducted with the HEB, GranD Toreo, and Soriana Carrera shopping centers in Ciudad Victoria, Tamaulipas.
During the tests, the geographic coordinates of these shopping centers were configured in the API’s database.
The data show that the average response time for ad delivery is approximately 131 ms.
The offers recorded in the API database are for testing purposes.
Figure 4 displays the available offers in three different shopping centers (HEB, GranD Toreo, and Soriana Carrera) as seen on a mobile application interface. Each screen represents a specific shopping center, showing the store’s name, the calculated distance between the user and the shopping center, and a list of items on sale. For each item, details include the item name, regular price, discount percentage, and discounted sale price.
Soriana Carrera (Distance: 349 meters): The available items include a professional notebook and school scissors, with their regular and discounted prices. The user’s location (latitude and longitude) and an execution time of 131 ms are also presented.
HEB (Distance: 344 meters): The displayed offers include a soccer ball, a tennis ball, a baseball, and a bath towel, each with respective prices, discounts, and final sale prices. The latitude and longitude coordinates are shown at the bottom, with an execution time of 136 ms.
GranD Toreo (Distance: 135 meters): Offers here include a professional notebook, school scissors, and a soccer ball, with details on regular and sale prices. The geographic coordinates and execution time (126 ms) are also displayed.
Each screen allows the user to retrieve offers with the button labeled "OBTAIN OFFERS" at the bottom, suggesting that the application can fetch real-time data based on the user’s proximity to these shopping centers.
One of the key aspects evaluated was the accuracy of the Haversine formula in detecting proximity. The data demonstrate that the implementation enabled precise identification of when the user was within the configured proximity radius for each shopping center, ensuring timely delivery of promotional advertisements.
4.2. Discussions
The effectiveness of Petri nets in managing asynchronous systems was evidenced by consistent response times and the absence of communication collisions between the mobile application and the API. The net’s structure enabled a token distribution that accurately reflected the flow of concurrent events, such as receiving coordinates and verifying proximity. This ensured that messages were processed sequentially without interrupting other processes, thereby optimizing the user experience.
Petri net modeling provided a clear view of potential bottlenecks in the interaction flow. By representing key places and transitions within the system, such as location reception and promotion delivery, areas for improvement in the communication flow were identified. This resulted in increased efficiency in delivering real-time promotions.
Comparing these results to those in recent studies further highlights the advantages of our approach. For instance, Landolsi et al.[
5] demonstrated that effective location tracking algorithms could significantly enhance proximity detection in mobile applications by reducing data redundancy and improving system responsiveness. Our implementation aligns with these findings, as the Haversine formula provided accurate proximity detection, confirmed by response times averaging 131 ms.
Moreover, Hsieh [
15] emphasized the importance of using discrete timed Petri nets to analyze resource failures in cyber-physical systems, ensuring liveness and boundedness. Similarly, our system’s T-invariant analysis confirmed its capability to maintain a continuous flow of interactions without excessive token accumulation, validating the robustness of the Petri net model.
Additionally, the net’s ability to manage asynchronous behavior resulted in a seamless user experience, where real-time updates occurred without noticeable interruptions. The network’s structure also enabled an evaluation of liveness and boundedness, ensuring that system transitions remain available for activation when needed and that the number of tokens does not exceed a reasonable limit.
The integration of Petri nets into the modeling of proximity logic proved to be a robust and scalable methodology for such applications. It optimized the delivery of location-based content and facilitated the system’s future expansion.
5. Conclusions and Future Works
The design and implementation of the mobile application for real-time delivery of promotional advertisements has proven to be an effective and efficient solution for communication between shopping centers and users. Through the use of the Haversine formula and geolocation, a system has been established that accurately detects user proximity, allowing the API, developed with Laravel, to send relevant information at timely moments.
Modeling the system’s behavior with Petri nets has been crucial to understanding and optimizing the asynchronous and concurrent nature of interactions. This approach has ensured a smooth user experience by minimizing response times and maximizing the relevance of delivered promotions, creating a seamless, uninterrupted user experience.
The Petri net structure has facilitated the identification of potential bottlenecks and has proven invaluable for ensuring the liveness and boundedness of the system, meaning that all transitions remain available at any time without exceeding a reasonable limit on resources. This contributes to the robustness and stability of the system—key elements for applications that require real-time interactions.
The combination of modern technologies, such as Kotlin for the mobile application and Laravel for the backend, with Petri net modeling has proven to be an effective and scalable solution, paving the way for future expansions and improvements in the functionality of similar applications.
In conclusion, this research not only highlights the feasibility of the implemented system but also lays the foundation for future applications in proximity marketing. The integration of formal models, such as Petri nets, in mobile application and web service development offers a valuable approach to improving the efficiency and effectiveness of similar systems in the future.
Regarding the limitations to consider, the following are highlighted:
Standard Petri nets, as used in this study, lack the ability to learn or adapt to dynamic changes in behavioral patterns.
The API may face scalability issues, particularly if the number of requests increases significantly.
The mobile application may encounter compatibility problems with older Android versions or devices with limited hardware capabilities.
Regarding future work, the following aspects are proposed:
Enhancing the Petri net structure by integrating neural components to enable learning capabilities, allowing the system to deliver promotions based on user interests.
Implementing load distribution technologies to optimize system performance under high demand.
Conducting tests on a variety of devices to ensure compatibility and optimizing the code for devices with limited hardware resources.
The share button enables promotions to reach a broader audience. As future work, it is suggested to integrate tracking metrics to evaluate the real-time impact of shared promotions.
Author Contributions
Conceptualization: J.V., R.M., and J.F.L.; writing—original draft preparation: J.V., R.M., and H.H.; methodology: J-A.H-A., J.V., and H.H.; writing—review and editing: J.V., R.M., and J.F.L.; investigation: J.V., R.M., and J-A.H-A.; supervision: R.M. and J-A.H-A.; visualization: H.H. and J-A.H-A.; software: J.V., R.M., and J.F.L. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no funding.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Acknowledgments
We would like to thank Victoria Polytechnic University for supporting this project.
Conflicts of Interest
The author declares no conflicts of interest.
Abbreviations
The following abbreviations are used in this manuscript:
| MD |
Mobile device |
| PN |
Petri net |
References
- Girela-Serrano, B. M.; Spiers, A. D. V.; Ruotong, Liu; Gangadia, S.; Toledano, M. B.; Di Simplicio, M. Impact of mobile phones and wireless devices use on children and adolescents’ mental health: a systematic review. Eur. Child Adolesc. Psychiatry (2024), 33, 1621–1651. [CrossRef]
- Cevahir, A.; Beyza, T. The current state and future of mobile security in the light of the recent mobile security threat reports. Multimed. Tools Appl. (2023), 82, 20269–20281. [CrossRef]
- Sandesara, M.; Bodkhe, U.; Tanwar, S.; Alshehri, M. D.; Sharma, R.; Neagu, B.; Grigoras, G.; Raboaca, M. S. Design and Experience of Mobile Applications: A Pilot Survey. Mathematics 2022, 10, 2380–2401. [Google Scholar] [CrossRef]
- Riabova, T.; Havrylyuk, I.; Tetyana, V.; Kustovska, O.; Makhynia, T. Marketing Strategies in the Era of Mobile Applications: The Use of Geolocation and Contextual Advertising. Econ. Aff. 2024, 69, 1005–1020. [Google Scholar] [CrossRef]
- Landolsi, M. A.; Yahaoui, H.; Koura, M. A. Efficient Mobile Location Tracking and Data Reduction for Proximity Detection Applications. IEEE Access 2022, 10, 134172–134182. [Google Scholar] [CrossRef]
- Yang, H.; Lin, S. The consideration factors of adopting location-based advertising push platform. Int. J. Int. J. Inf. Syst. Change Manag. 2023, 13, 209–233. [Google Scholar] [CrossRef]
- Aversa, J.; Azmy, A.; Hernandez, T. Untapping the potential of mobile location data: The opportunities and challenges for retail analytics. J. Retail. Consum. Serv. 2024, 81, 103993. [Google Scholar] [CrossRef]
- Swearngin, A.; Wu, J.; Zhang, X.; Gomez, E.; Coughenour, J.; Stukennborg, R.; Garg, B.; Hughes, G.; Hilliard, A.; Bigham, J. P.; Nichols, J. Towards Automated Accessibility Report Generation for Mobile Apps. ACM Trans. Comput.-Hum. Interact. 2024, 31, 1–44. [Google Scholar] [CrossRef]
- Huang, J.; Liang, J.; ALI, S. A Simulation-Based Optimization Approach for Reliability-Aware Service Composition in Edge Computing. IEEE Access 2020, 8, 50355–50366. [Google Scholar] [CrossRef]
- Emish, M.; Kelani, Z.; Hassani, M.; Young, S. D. A Mobile Health Application Using Geolocation for Behavioral Activity Tracking. Sensors MDPI 2023, 23, 7917. [Google Scholar] [CrossRef]
- Ding, Z.; Yang, R. Modeling and Analysis for Mobile Computing Systems Based on Petri Nets: A Survey. IEEE Access 2017, 6, 68038–68056. [Google Scholar] [CrossRef]
- Junaedi, E.; Dini, F. Application of the haversine distance method to the job and vacancies search system in the entertainment sector in Indonesia. J. Tek. Inform. 2024, 5, 433–443. [Google Scholar]
- Mallik, R.; Hazarika, A. P.; Dastidar, S. G.; Sing, D.; Bandyopadhyay, R. Development of An Android Application for Viewing Covid-19 Containment Zones and Monitoring Violators Who are Trespassing into It Using Firebase and Geofencing. Trans. Indian Natl. Acad. Eng. 2020, 5, 163–179. [Google Scholar] [CrossRef] [PubMed]
- Brito, C.; Rodrigues, L.; Santos, B.; Fé, I.; Nguyen, T.; Min, D.; Lee, J.; Silva, F. A. Stochastic Model Driven Performance and Availability Planning for a Mobile Edge Computing System. Applied Sciences 2021, 11, 4088. [Google Scholar] [CrossRef]
- Hsieh, F. Temporal Analysis of Influence of Resource Failures on Cyber-Physical Systems Based on Discrete Timed Petri Nets. Applied Sciences 2021, 11, 6469. [Google Scholar] [CrossRef]
- Asaad, S. M.; Maghdid, H. S. A Comprehensive Review of Indoor/Outdoor Localization Solutions in IoT era: Research Challenges and Future Perspectives. Computer Networks 2022, 212, 109041. [Google Scholar] [CrossRef]
- Madleňák, A. Geolocation Services and Marketing Communication from a Global Point of View. SHS Web of Conferences 2021, 92, 02040. [Google Scholar] [CrossRef]
- Dahouda, M.K.; Jin, S.; Joe, I. Machine Learning-Based Solutions for Handover Decisions in Non-Terrestrial Networks. Electronics 2023, 12, 1759. [Google Scholar] [CrossRef]
- Zohud, T.; Zein, S. Cross-Platform Mobile App Development in Industry: A Multiple Case-Study. Int. J. Comput. 2021, 20, 46–54. [Google Scholar] [CrossRef]
- Brito, C.; Silva, L.; Callou, G.; Nguyen, T.; Min, D.; Lee, J.; Silva, F. A. Offloading Data through Unmanned Aerial Vehicles: A Dependability Evaluation. Electronics 2021, 10, 1916. [Google Scholar] [CrossRef]
- Velazquez, J.; Machucho, R.; Mesa, F. Modelado de Software para Dispositivos Móviles Usando Redes de Petri. TecnoINTELECTO, 2013, 7, 10–25, https://shorturlat/RhQL8. [Google Scholar]
- Dimitrijević, N.; Zdravković, N.; Milićević, V. An Automated Grading Framework For The Mobile Development Programming Language Kotlin. Int. J. Qual. Res. 2023, 17, 313–324. [Google Scholar] [CrossRef]
- Christakakis, P.; Papadopoulou, G.; Mikos, G.; Kalogiannidis, N.; Ioannidis, D.; Tzovaras, D.; Pechlivani, E.M. Smartphone-Based Citizen Science Tool for Plant Disease and Insect Pest Detection Using Artificial Intelligence. Technologies 2024, 12, 101. [Google Scholar] [CrossRef]
|
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).