A Choreography-Based and Collaborative Road Mobility System for L’Aquila City
Abstract
:1. Introduction
2. Related Work
3. CHOReVOLUTION Approach
3.1. CHOReVOLUTION IDRE Underlying Technologies
- (1)
- The Front–end layer consists of the following:
- (1.1)— The CHOReVOLUTION Studio is an Eclipse-based IDE that allows for (i) designing a choreography exploiting BPMN2 Choreography Diagrams; (ii) defining all the details required to instrument the interaction among the services involved in the choreography (e.g., service signatures, identity attributes and roles); and (iii) driving the generation of BCs, As, and CDs exploiting the automated generation facilities offered by the back-end layer.
- (1.2)— The CHOReVOLUTION Console is a web-based application that allows for (i) configuring, administering and triggering actions on running services and choreographies; and (ii) monitoring the execution of a choreography with respect to relevant parameters, such as execution time of choreography tasks, number of messages exchanged for the execution of tasks, end-to-end deadlines, etc.
- (2)
- The Back–end layer consists of the following:
- (2.1)— The Synthesis Processor implements the activities of the synthesis process shown in Figure 3. In particular, it takes as input the BPMN2 choreography diagram and the models of the participant services, and generates all the needed additional software entities that are required to concretely realize the choreography, i.e., CDs, As, and BCs. Finally, it generates a concrete description of the choreography (ChorSpec) that is passed to the Enactment Engine (via the Identity Manager) for deployment and enactment purposes.
- (2.2)— The Enactment Engine (EE) is a REST API that extends the Apache Brooklyn project [46]. It automatically deploys the choreography based on the choreography deployment description by using the Cloud Layer. The EE also interacts with the Identity Manager to include into the deployment description the actual deployment and runtime details. Then, once a choreography is deployed and running, the EE listens for command requests from the Identity Manager for runtime choreography control. It is worth noticing that, although choreography monitoring and control is performed by centralized IDRE components (e.g., EE and IdM), the realization and running of the choreography still remain fully distributed into the various artifacts generated by the Synthesis Processor.
- (2.3)— The Federation Server handles the runtime authentication and authorization for services that use different security mechanisms at the protocol level by storing various credentials on behalf of the caller.
- (2.4)— The Identity Manager (IdM) is based on Apache Syncope project [45] and it is responsible for managing users and services. In particular, the IdM is able to query the services for supported application contexts and played roles; force a specific application context for a certain service (put in “maintenance” or disable/enable). The Service Inventory is a sub-component of the IdM. It acts as a central repository for the description models of the services and things that can be used during the synthesis process.
- (3)
- The Cloud layer executes concrete service choreography instances on a cloud infrastructure and adapts their execution based on the actual application context. At execution time, for each choreography, in the CHOReVOLUTION cloud, there are (i) a set of choreography instances at different execution states; and (ii) a set of virtual machines executing a custom-tailored mix of services and middleware components to serve different parts of the choreography. VMs are installed and configured with services according to selectable policies. Due to the fact that EE is based on Apache Brooklyn, the CHOReVOLUTION IDRE is not constrained to a specific Infrastructure as a Service (IaaS) platform (e.g., Open Stack [47], Amazon EC2 [48]).
- Service providers interact with the CHOReVOLUTION Studio to define the description models (i.e., interface and security models) of existing services and then publish them into the Service Inventory. The benefit they obtain is to foster and ease the reuse of their services by developers, hence increasing the opportunities to be involved in new businesses.
- Choreography developers interact with the CHOReVOLUTION Studio to (i) model a choreography by using the Choreography Modeler; (ii) Realize the modeled choreography through the automatic synthesis of BCs (for solving heterogeneity issues), CDs (for solving coordination issues) and As (for solving interface mismatches). This is done by exploiting the Synthesis Processor.
- Choreography operators interact with the CHOReVOLUTION console to (i) deploy and enact the generated choreography-based application through a structured process that involves the back-end layer; (ii) monitor the status of the execution cloud environment; and (iii) monitor the execution of the choreography instances and managing their lifecycle.
4. Case Study
4.1. The CHOReVOLUTION Synthesis Method at Work on the CRMS Use Case
- –
- Roads Status provides real-time information about the roads status by combining several kinds of informations including data gained from liquid presence sensors (by 5G technologies) dislocated along the main streets of the city, and on the main communication roads that connect the city with the periphery.
- –
- Weather provides weather information by using data obtained from a local source, i.e., the Center of Excellence Telesensing of Environment and Model Prediction of Severe events (CETEMPS) (http://cetemps.aquila.infn.it). The CETEMPS manages a considerable network of instrumentation and data from remote sensing (ground and satellite data): a primary station for receiving second generation Meteosat data (https://www.eumetsat.int/website/home/index.html), a meteorological radar, a wind profiling radar, an acoustic radar, optical radars, a station for radio survey and ozone survey, weather stations, induced fluorescence detectors, radiometers and photometers.
- –
- Air Quality provides information on air quality, which is assessed by monitoring concentrations of pollutants by sensors deployed at specific points in the city. These analyses are accompanied by the study of meteorological parameters that affect the dispersion of pollutants (wind speed and direction, humidity, radiation, etc.). This service can be used to trace low-polluting routes or, in the case of multi-modal transport, which involves the use of alternative transportation vehicles such as electric bicycles, electric scooters, buses, cars, etc., to trace routes that allow for avoid areas with high pollution. It uses data gained from the Regional Environmental Protection Agency (ARTA) (https://www.artaabruzzo.it) that manages the regional network (“Regione Abruzzo”) for monitoring air quality.
- –
- Congestion and Accidents exploits a traffic congestion monitoring system using real traffic data. The system consists of a vehicle detector (VD) sensors subsystem and a control center subsystem. The VD sensor subsystem is used to collect traffic data and send it to the control center.
4.2. Experimental Evaluation
- Effort for implementing the (possibly) distributed workflow (coordination logic): effort to develop the distributed coordination logic that guarantees the collaboration among the involved concrete services;
- Effort for implementing the missing logic (business logic): effort to implement the missing business logic beyond the one implemented by the reused services;
- Effort for integrating third-party or legacy services: effort required to interconnect heterogeneous third-party or legacy services to fit the (possibly) distributed workflow specification.
5. Conclusions and Future Work
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Caprotti, F.; Cowley, R.; Datta, A.; Broto, V.C.; Gao, E.; Georgeson, L.; Herrick, C.; Odendaal, N.; Joss, S. The New Urban Agenda: Key opportunities and challenges for policy and practice. Urban Res. Pract. 2017, 10, 367–378. [Google Scholar] [CrossRef]
- European Commission. Urban Agenda for the EU. 2016. Available online: https://ec.europa.eu/futurium/en/urban-agenda (accessed on 13 March 2019).
- Schaffers, H.; Komninos, N.; Pallot, M.; Trousse, B.; Nilsson, M.; Oliveira, A. Smart Cities and the Future Internet: Towards Cooperation Frameworks for Open Innovation. In The Future Internet; Domingue, J., Galis, A., Gavras, A., Zahariadis, T., Lambert, D., Cleary, F., Daras, P., Krco, S., Müller, H., Li, M.S., et al., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 431–446. [Google Scholar] [Green Version]
- Albino, V.; Berardi, U.; Dangelico, R. Smart Cities: Definitions, Dimensions, Performance, and Initiatives. J. Urban Technol. 2015, 22, 2015. [Google Scholar] [CrossRef]
- Winters, J. Why are Smart Cities Growing? Who Moves and Who Stays. J. Reg. Sci. 2011, 51, 253–270. [Google Scholar] [CrossRef]
- Komninos, N.; Pallot, M.; Schaffers, H. Special Issue on Smart Cities and the Future Internet in Europe. J. Knowl. Econ. 2013, 4, 119–134. [Google Scholar] [CrossRef]
- Silva, B.N.; Khan, M.; Han, K. Towards sustainable smart cities: A review of trends, architectures, components, and open challenges in smart cities. Sustain. Cities Soc. 2018, 38, 697–713. [Google Scholar] [CrossRef]
- Montori, F.; Bedogni, L.; Bononi, L. A Collaborative Internet of Things Architecture for Smart Cities and Environmental Monitoring. IEEE Internet Things J. 2018, 5, 592–605. [Google Scholar] [CrossRef]
- Marabissi, D.; Mucchi, L.; Fantacci, R.; Spada, M.R.; Massimiani, F.; Fratini, A.; Cau, G.; Yunpeng, J.; Fedele, L. A Real Case of Implementation of the Future 5G City. Future Internet 2019, 11, 4. [Google Scholar] [CrossRef]
- Stuckmann, P.; Zimmermann, R. European research on future Internet design. IEEE Wirel. Commun. 2009, 16, 14–22. [Google Scholar] [CrossRef]
- Dolui, K.; Datta, S.K. Comparison of edge computing implementations: Fog computing, and mobile edge computing. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva, Switzerland, 6–9 June 2017; pp. 1–6. [Google Scholar] [CrossRef]
- Autili, M.; Inverardi, P.; Tivoli, M. Automated Synthesis of Service Choreographies. IEEE Softw. 2015, 32, 50–57. [Google Scholar] [CrossRef]
- Güdemann, M.; Poizat, P.; Salaün, G.; Ye, L. VerChor: A Framework for the Design and Verification of Choreographies. IEEE Trans. Serv. Comput. 2016, 9, 647–660. [Google Scholar] [CrossRef]
- Cámara, J.; Bellman, K.L.; Kephart, J.O.; Autili, M.; Bencomo, N.; Diaconescu, A.; Giese, H.; Götz, S.; Inverardi, P.; Kounev, S.; et al. Self-aware Computing Systems: Related Concepts and Research Areas. In Self-Aware Computing Systems; Springer: Cham, Switzerland, 2017; pp. 17–49. [Google Scholar] [CrossRef]
- Autili, M.; Inverardi, P.; Mignosi, F.; Spalazzese, R.; Tivoli, M. Automated Synthesis of Application-Layer Connectors from Automata-Based Specifications. J. Comput. Syst. Sci. 2015, 104, 17–40. [Google Scholar] [CrossRef]
- Autili, M.; Salle, A.D.; Perucci, A.; Tivoli, M. On the Automated Synthesis of Enterprise Integration Patterns to Adapt Choreography-based Distributed Systems. arXiv 2015, arXiv:1512.07682. [Google Scholar] [CrossRef]
- Autili, M.; Salle, A.D.; Tivoli, M. Synthesis of Resilient Choreographies. In Software Engineering for Resilient Systems, Proceedings of the 5th International Workshop, SERENE 2013, Kiev, Ukraine, 3–4 October 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 94–108. [Google Scholar] [CrossRef]
- Autili, M.; Ruscio, D.D.; Salle, A.D.; Inverardi, P.; Tivoli, M. A Model-Based Synthesis Process for Choreography Realizability Enforcement. In Fundamental Approaches to Software Engineering, Proceedings of the 16th International Conference, FASE 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, 16–24 March 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 37–52. [Google Scholar] [CrossRef] [Green Version]
- Autili, M.; Mostarda, L.; Navarra, A.; Tivoli, M. Synthesis of decentralized and concurrent adaptors for correctly assembling distributed component-based systems. J. Syst. Softw. 2008, 8, 2210–2236. [Google Scholar] [CrossRef]
- Autili, M.; Inverardi, P.; Tivoli, M. Choreography Realizability Enforcement through the Automatic Synthesis of Distributed Coordination Delegates. Sci. Comput. Program. 2018, 160, 3–29. [Google Scholar] [CrossRef]
- Autili, M.; Salle, A.D.; Gallo, F.; Pompilio, C.; Tivoli, M. Model-driven adaptation of service choreographies. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing (SAC ’18), Pau, France, 9–13 April 2018; pp. 1441–1450. [Google Scholar] [CrossRef]
- Autili, M.; Salle, A.D.; Gallo, F.; Pompilio, C.; Tivoli, M. Aiding the Realization of Service-oriented Distributed Systems. In Proceedings of the 34th Annual ACM Symposium on Applied Computing (SAC’19), Limassol, Cyprus, 8–12 April 2019. [Google Scholar]
- Falco, E.; Malavolta, I.; Radzimski, A.; Ruberto, S.; Iovino, L.; Gallo, F. Smart City L’Aquila: An Application of the “Infostructure” Approach to Public Urban Mobility in a Post-Disaster Context. J. Urban Technol. 2018, 25, 99–121. [Google Scholar] [CrossRef]
- Champelovier, D.; Clerc, X.; Garavel, H.; Guerte, Y.; Lang, F.; Powazny, V.; Serwe, W.; Smeding, G. Reference Manual of the LOTOS NT to LOTOS Translator (Version 5.4); INRIA/VASY: Saint Ismier Cedex, France, 2011; 149p. [Google Scholar]
- Garavel, H.; Lang, F.; Mateescu, R.; Serwe, W. CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes. In Tools and Algorithms for the Construction and Analysis of Systems, Proceedings of the 17th International Conference, TACAS 2011, Held as Part of the Joint European Conferences on Theory and Practice of Software (ETAPS 2011), Saarbrücken, Germany, 26 March–3 April 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 372–387. [Google Scholar] [CrossRef] [Green Version]
- Güdemann, M.; Salaün, G.; Ouederni, M. Counterexample Guided Synthesis of Monitors for Realizability Enforcement. In Automated Technology for Verification and Analysis; Chakraborty, S., Mukund, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 238–253. [Google Scholar]
- Basu, S.; Bultan, T. Choreography Conformance via Synchronizability. In Proceedings of the 20th international conference on World Wide (WWW ’11), Hyderabad, India, 28 March–1 April 2011; pp. 795–804. [Google Scholar]
- Trainotti, M.; Pistore, M.; Calabrese, G.; Zacco, G.; Lucchese, G.; Barbon, F.; Bertoli, P.; Traverso, P. ASTRO: Supporting Composition and Execution of Web Services. In Service-Oriented Computing—ICSOC 2005; Benatallah, B., Casati, F., Traverso, P., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 495–501. [Google Scholar]
- Hu, D.H.; Yang, Q. CIGAR: Concurrent and Interleaving Goal and Activity Recognition. In Proceedings of the Twenty-Third Conference on Artificial Intelligence (AAAI-08), Chicago, IL, USA, 13–17 July 2008; pp. 1363–1368. [Google Scholar]
- Carbone, M.; Montesi, F. Deadlock-freedom-by-design: Multiparty asynchronous global programming. In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’13), Rome, Italy, 23–25 January 2013; pp. 263–274. [Google Scholar]
- Lanese, I.; Montesi, F.; Zavattaro, G. The Evolution of Jolie—From Orchestrations to Adaptable Choreographies. In Software, Services, and Systems—Essays Dedicated to Martin Wirsing on the Occasion of His Retirement from the Chair of Programming and Software Engineering; Springer: Berlin/Heidelberg, Germany, 2015; pp. 506–521. [Google Scholar]
- Passerone, R.; de Alfaro, L.; Henzinger, T.A.; Sangiovanni-Vincentelli, A.L. Convertibility verification and converter synthesis: Two faces of the same coin. In Proceedings of the 2002 IEEE/ACM International Conference on Computer-aided Design (ICCAD 2002), San Jose, CA, USA, 10–14 November 2002; pp. 132–139. [Google Scholar] [CrossRef]
- Bennaceur, A.; Issarny, V. Automated Synthesis of Mediators to Support Component Interoperability. IEEE Trans. Softw. Eng. 2015, 41, 221–240. [Google Scholar] [CrossRef]
- Calvanese, D.; De Giacomo, G.; Lenzerini, M.; Mecella, M.; Patrizi, F. Automatic Service Composition and Synthesis: The Roman Model. IEEE Data Eng. Bull. 2008, 31, 18–22. [Google Scholar]
- Salaün, G. Generation of Service Wrapper Protocols from Choreography Specifications. In Proceedings of the Sixth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2008), Cape Town, South Africa, 10–14 November 2008; pp. 313–322. [Google Scholar] [CrossRef]
- Poizat, P.; Salaün, G. Checking the realizability of BPMN 2.0 choreographies. In Proceedings of the ACM Symposium on Applied Computing (SAC 2012), Riva, Trento, Italy, 26–30 March 2012; pp. 1927–1934. [Google Scholar] [CrossRef]
- Basu, S.; Bultan, T.; Ouederni, M. Deciding choreography realizability. In Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, PA, USA, 22–28 January 2012; pp. 191–202. [Google Scholar] [CrossRef]
- Gößler, G.; Salaün, G. Realizability of Choreographies for Services Asynchronously. In Formal Aspects of Component Software, Proceedings of the 8th International Symposium (FACS 2011), Oslo, Norway, 14–16 September 2011; Revised Selected Papers; Springer: Berlin/Heidelberg, Germany, 2011; pp. 151–167. [Google Scholar] [CrossRef]
- Salaün, G.; Bultan, T.; Roohi, N. Realizability of Choreographies Using Process Algebra Encodings. IEEE Trans. Serv. Comput. 2012, 5, 290–304. [Google Scholar] [CrossRef]
- Basu, S.; Bultan, T. Automatic verification of interactions in asynchronous systems with unbounded buffers. In Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE ’14), Vasteras, Sweden, 15–19 September 2014; pp. 743–754. [Google Scholar] [CrossRef]
- Autili, M.; Tivoli, M. Distributed Enforcement of Service Choreographies. arXiv 2014, arXiv:1502.03512. [Google Scholar] [CrossRef]
- Autili, M.; Ruscio, D.D.; Salle, A.D.; Perucci, A. CHOReOSynt: Enforcing choreography realizability in the future internet. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (FSE-22), Hong Kong, China, 16–22 November 2014; pp. 723–726. [Google Scholar]
- Autili, M.; Salle, A.D.; Gallo, F.; Pompilio, C.; Tivoli, M. On the Model-driven Synthesis of Adaptable Choreographies. In Proceedings of the 5th International Workshop on Model-Driven Engineering for Component-Based Software Systems (ModComp 2018) Co-Located at MODELS 2018, Copenhagen, Denmark, 14 October 2018; pp. 12–17. [Google Scholar]
- Bouloukakis, G. Enabling Emergent Mobile Systems in the IoT: From Middleware-Layer Communication Interoperability to Associated QoS Analysis. (Systèmes Mobiles Émergents dans l’IoT: de l’Interopérabilité au niveau Middleware de Communication à l’Analyse de la Qualité de Service Associée). Ph.D. Thesis, INRIA, Paris, France, 2017. [Google Scholar]
- Apache. Apache Syncope. Available online: https://syncope.apache.org/ (accessed on 14 June 2019).
- Apache. Apache Brooklyn. Available online: https://brooklyn.apache.org/ (accessed on 14 June 2019).
- OpenStack. Open Stack. Available online: https://www.openstack.org/ (accessed on 14 June 2019).
- Amazon. Amazon Elastic Compute Cloud (Amazon EC2). Available online: https://aws.amazon.com/ec2/ (accessed on 14 June 2019).
- Valenti, M.; Masedu, F.; Mazza, M.; Tiberti, S.; Di Giovanni, C.; Calvarese, A.; Pirro, R.; Sconci, V. A longitudinal study of quality of life of earthquake survivors in L’Aquila, Italy. BMC Public Health 2013, 13, 1143. [Google Scholar] [CrossRef]
- SMAU. L’Aquila Smart City: Rete Elettrica Intelligente e Verde. 2015. Available online: https://www.smau.it/milano15/success_stories/laquila-smart-city-rete-elettrica-intelligente-e-mobilita-verde/ (accessed on 13 March 2019).
- Ray, P. A survey on Internet of Things architectures. J. King Saud Univ. Comput. Inf. Sci. 2018, 30, 291–319. [Google Scholar] [CrossRef] [Green Version]
- Presidency of the Council of Ministers. Linee del Programma a Sostegno Delle Attività Produttive e Della Ricerca (Delibera CIPE n.135/2012). 2019. Available online: http://sisma2009.governo.it/intervento/ricostruzioni/sviluppo/azioni-per-lo-sviluppo/ (accessed on 13 March 2019).
- MISE. Progetto 5G—Area 2: Prato e L’Aquila. 2017. Available online: https://www.mise.gov.it/images/stories/documenti/Sintesi-progetto-5g-presentazione-13102017.pdf (accessed on 13 March 2019).
- Fiber, O. Open Fiber e Wind Tre, al via la sperimentazione del 5g a L’Aquila. 2017. Available online: https://www.mise.gov.it/images/stories/documenti/Sintesi-progetto-5g-presentazione-13102017.pdf (accessed on 13 March 2019).
- Orlowski, A.; Romanowska, P. Smart Cities Concept: Smart Mobility Indicator. Cybern. Syst. 2019, 50, 118–131. [Google Scholar] [CrossRef]
- Althunibat, S.; Badarneh, O.S.; Mesleh, R. Random Waypoint Mobility Model in Space Modulation Systems. IEEE Commun. Lett. 2019, 23, 884–887. [Google Scholar] [CrossRef]
- Fielding, R.T. Architectural Styles and the Design of Network-based Software Architectures. Ph.D. Thesis, University of California, Irvine, CA, USA, 2000. [Google Scholar]
- Shull, F.; Singer, J.; Sjberg, D.I.K. Guide to Advanced Empirical Software Engineering, 1st ed.; Springer: New York, NY, USA, 2010. [Google Scholar]
Experimental Tasks | Experimental Unit 1 | Experimental Unit 2 |
---|---|---|
Coordination Logic | Dev1 | Dev3 |
Prosumer Services | Dev2 | Dev4 |
Adaptation Logic | Dev1 | Dev4 |
Experimental Tasks | Experimental Unit 1 | Experimental Unit 2 |
---|---|---|
Coordination logic | The code realizing the distributed coordination logic is automatically generated into a set of CDs, without requiring any manual intervention | Implement the coordination logic and the business logic for each of the distributed workflows. Design a mechanism to realize distributed workflow (subsequent tasks, parallel/decision gateways). Design a mechanism to handle asynchronous tasks in parallel. |
Prosumer services | The skeleton code of the prosumer services is automatically generated. Thus, developers are required to only fill in the blanks of highlighted and partially ready pieces of code | The prosumer services are manually implemented. In particular, for each choreography task involving a specific participant, all the logic to manipulate received messages and to build the messages to be sent need to be coded from scratch. The developers have to maintain the data and message storage to ensure the messages are well parsed and routed through different distributed flows with no data lost. |
Adaptation logic | Starting from an adapter model the adaptation logic is automatically generated into a set of ADs | The adaptation logic to bind the concrete services to the choreography participants in case of interfaces mismatches is manually implemented. |
Tasks | Experimental Unit 1 (ph) | Experimental Unit 2 (ph) |
---|---|---|
Coordination logic | 0 | 100 |
Prosumer services | 12 | 22 |
Adaptation logic | 12 | 28 |
Total | 24 | 150 (126 saved) |
© 2019 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/).
Share and Cite
Autili, M.; Di Salle, A.; Gallo, F.; Pompilio, C.; Tivoli, M. A Choreography-Based and Collaborative Road Mobility System for L’Aquila City. Future Internet 2019, 11, 132. https://doi.org/10.3390/fi11060132
Autili M, Di Salle A, Gallo F, Pompilio C, Tivoli M. A Choreography-Based and Collaborative Road Mobility System for L’Aquila City. Future Internet. 2019; 11(6):132. https://doi.org/10.3390/fi11060132
Chicago/Turabian StyleAutili, Marco, Amleto Di Salle, Francesco Gallo, Claudio Pompilio, and Massimo Tivoli. 2019. "A Choreography-Based and Collaborative Road Mobility System for L’Aquila City" Future Internet 11, no. 6: 132. https://doi.org/10.3390/fi11060132
APA StyleAutili, M., Di Salle, A., Gallo, F., Pompilio, C., & Tivoli, M. (2019). A Choreography-Based and Collaborative Road Mobility System for L’Aquila City. Future Internet, 11(6), 132. https://doi.org/10.3390/fi11060132