Atomic Services: sustainable ecosystem of smart city services through pan-European collaboration

by   Flavio Cirillo, et al.
NEC Corp.

In a world with an ever increasing urbanization, governance is investigating innovative solutions to sustain the society evolution. Internet-of-Things promises huge benefits for cities and the proliferation of smart city deployments demonstrates the common acceptance of IoT as basis for many solutions. The city pilots developments occurred in parallel and with different designs thus creating fragmentation of IoT. The European project SynchroniCity aims to synchronize 8 smart cities to establish a shared environment fostering a self-sustained business growth. In this article we present the collaborative methodology and shared efforts spent towards the creation of a common ecosystem for the development of smart city services. Our design evolves around the concept of "atomic services" that implements a single functional block to be composed for full-fledged smart city services. This creates opportunities for diverse stakeholders to participate to a global smart cities market. The methodology and outcome of our efforts will be followed by 10 new cities globally, thus expanding the market range for IoT stakeholders



There are no comments yet.


page 2

page 6


Smart City IoT Services Creation through Large Scale Collaboration

Smart cities solutions are often monolithically implemented, from sensor...

Knowledge co-creation in the OrganiCity: Data annotation with JAMAiCA

Numerous smart city testbeds and system deployments have surfaced around...

Smart Cities: Potentialities and Challenges in a Context of Sharing Economy

The purpose of the present paper is to show how blockchain and IoT techn...

Market-Oriented Information Trading in Internet of Things (IoT) for Smart Cities

Internet of Things (IoT) technology is a fundamental infrastructure for ...

Design for the Right to the Smart City in More-than-Human Worlds

Environmental concerns have driven an interest in sustainable smart citi...

SysMART Outdoor Services: A System of Connected and Smart Supermarkets

Smart cities are today's modern trend. Many high-tech industrial firms a...

Semi-supervised Deep Reinforcement Learning in Support of IoT and Smart City Services

Smart services are an important element of the smart cities and the Inte...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

The Internet-of-Things (IoT) concept has been widely adopted in the context of smart cities due to the huge potential benefits for the ever increasing urbanized society, in terms of services for the citizens and for business growth. The proliferation of smart cities’ infrastructure is extensive around the world [1]. The developments of smart cities happened in parallel following different approaches and designs. Consequently this led to the isolation of IoT segments between cities, and even among domains within the same city [2]. To overcome this situation the SynchroniCity project111 has the purpose of “synchronizing” IoT infrastructures of smart cities in order to address the “city lock-in” barrier. Eight cities in Europe (i.e. Milan, Santander, Porto, Helsinki, Eindhoven, Antwerp, Manchester, and Carouge) have been chosen as pilot cities (named reference zones - RZs) for being harmonized [3]. RZs are jointly developing and instantiating an overlay infrastructure on top of existing systems. The outcome of this project will be then leveraged soon by 10 new cities joining SynchroniCity and afterwards within the Open & Agile Smart Cities (OASC)222 association by the more than 100 cities worldwide involved.

On top of the synchronized IoT infrastructures, several IoT applications are conceived for the betterment of citizens life. The applications are to be developed in cooperation amongst city pilots and other stakeholders (such as academia and SMEs), breaching the barrier of monolithic vertical developments only sustainable for big companies [4]. The idea is to build smart city applications by composing small services [5], namely atomic services333online available:
, where each constitutes a well-defined functional block. Internet-of-Things ecosystem, indeed, is envisioned to be not only about data but also services [6]. This approach embraces the concepts of service oriented architecture (SOA) [7], opening opportunities also to small stakeholders in the IoT market [8].

Because of the large pilot nature of SynchroniCity project, we could move from the collaborative creation approach within the same urban area [9] to a pan-European multi-actor collaboration. The project partners planned to implement 11 smart city applications, namely ”city services”, based on the exploitation of homogenized and similar IoT data sources and categorized in three application themes [10]

: “human-centric traffic management”, “multi-modal transportation”, and “community policy suite”. For those applications a total of 8 atomic services have been identified by following two approaches. The bottom-up approach started from the requirements of the city services. We have compiled and distributed a questionnaire to prioritize requirements, and to discover previous experiences and available assets. The questionnaire was answered by representative of all the 8 pilot cities plus an additional experienced SME. From this phase we have identified 3 available assets (e.g. geographical routing, visualization services) that were adopted as atomic services to address cities requirements. Their integration was performed in an agile manner with continuous synchronization with interfaces evolution (both with the SynchroniCity infrastructure and between atomic services). This resulted with the identification of 3 new needed atomic services (e.g. for handling General Transit Feed Specification - GTFS data). Applications have then being designed on top of these initial set of atomic services. During the second, top-down, approach we analyzed the common points between applications architectures. Thus we have shared design and implementation efforts with definition of re-usable functional blocks, resulting with other 2 atomic services (i.e. data analytics based estimator service). The services were then adopted and integrated with other customized components, specific of the smart city application. We demonstrate that huge percentage (up to 87,5%) of the IoT applications to be developed was addressed collaboratively. Current developments of the SynchroniCity projects, with 10 new cities and 16 new city services, will certainly enrich the roster with additional atomic services.

The design of the adopted collaborative methodology is introduced in Section II. The analysis of the gathered information is described in Section III. Atomic services embodiments, and an actual combination and customization for the implementation of one of the smart city applications, is presented in Section IV. Finally Section V shows the evaluation of the effectiveness of the followed approach.

Ii Atomic Services: collaborative approach to IoT application creation

Cities within SynchroniCity cooperated for the creation of “city services” as direct demonstration of a shared ecosystem. A city service is an application built for citizens targeting their needs with the aim of “smartify” the life within urban area. The eleven planned city services are categorized under three application themes [10]: “human-centric traffic management” improves cycling experience and safety; “multi-modal transportation” provides city travellers attractive alternative to private vehicle such as the combination of integrate public transport and shared mobility services; “community policy suite” assists policy maker with an intelligence layer for city governance.

Fig. 1: City services and atomic services shared ecosystem.

As collaborative approach we have chosen to build city services on top of components named “atomic services444Formerly known also as “baseline services””. These components are single functional blocks using data to return any kind of feature, either managing, enriching, joining or filtering the input data from the SynchroniCity infrastructure, and/or data coming from other sources. Atomic services have similarity with the concept of microservice in the fact of being a self-contained piece of software targeting a specific task. Nevertheless, an important characteristic of atomic service is that it must be re-usable (hence generic) by more than one city services. Therefore, whilst an atomic service can be used as a microservice of a certain city service, the contrary cannot be always true. For example, as a database service is not conceived primarily as a microservice but only used in different manners as such in microservice design [11], so an atomic service is not a microservice per se. Atomic services are offering facilities, on the one hand, to ease city services development and reduce the time-to-market and, on the other hand, to share efforts among city services teams. The nature of the atomic services facilitates reference zone customization and stimulates replication based on common solutions and designs. These common solutions prevent both “vendor lock-in” from the cities’ perspective and “city lock-in” from the perspective of city service and middleware providers. Figure 1 depicts the overall concept of the shared ecosystem. Operational smart city systems are homogenized with the FIWARE-based SynchroniCity framework and data are then exposed with same interfaces and data-models (red arrows). City services might use none, one or a combination of the features offered by atomic services. Data and services marketplaces expose valuable assets to third parties enabling an attractive and sustainable ecosystem.

The design of the city services started with the identification of stakeholders and functional requirements (FRs) for each of the application themes [10]. As methodology to define atomic services from FRs we grouped them in small subsets, and for each of the subset we have assigned an atomic service to address the related FRs. These components are cooperatively implemented among cities (involving also their technical partners), and the final atomic services shared with the others.

In total, at the time of writing this work (Feb. 2019), there have been identified up to 8 atomic services, categorized as follow: 2 data prediction services for parking, and traffic flow; 2 visualization services, that are a dashboard and a metrics visualizer; 1 data elaboration service for geographic route calculation; and 3 data transformation services related to generate or retrieve General Transit Feed Specification (GTFS) and GTFS-RT from NGSI. Due to the active project and long run ambition of the SynchroniCity project, it is foreseen to have more atomic services in the future.

Ii-a Questionnaire

The identified FRs cover all the aspects of an application theme, and typically not all are required by a specific city service. Moreover cities and project partners have previous experiences with smart cities applications, thus already existing components might be re-used simply off-the-shelf, or with minimal integration effort.

For these motivations we have created a questionnaire (see Table I) with the following targets: 1) identify previous experiences with the application themes, 2) identify re-usable software components, 3) identify possibility to interact with the SynchroniCity infrastructure (read-only or read-write), 4) identify which packaging tool is preferred for sharing components, 5) identify license foreseen for the atomic/city services to be implemented, 6) prioritize application themes FRs for each city.


Do you have already implemented an application satisfying
   the proposed use-cases [10]?

If yes at the above question, can you please provide an
   architecture overview (sub-components, atomic services)?

Do you have any related atomic services already implemented?

If yes at the above question, are you willing to share them
   (OpenSource, Freeware, Licensing etc.)?

If yes at the above question, can you please provide an
   architecture overview for each atomic services you possess?

Do you envision any additional atomic service to share across
   application of the same theme and/or across application of
   different themes? Please give a brief description/suggestion.

Is the NGSI data from the IoT infrastructure read-only towards
   the atomic services or the atomic services will be capable
   of writing new data? (e.g. new entities or commands like in
   the case of traffic light controlling)

Which methods and related tools are desired for atomic service
   deployment (e.g. docker, debian package)?

Will the new code your are going to implement for

   SynchroniCity be reusable? (Open Source, Freeware etc.)?

Which FR your application
   shall satisfy? (Priority 0 to 5:
   0 for FR not needed, 5 for
   FR of utmost importance)
   In case you have atomic
   services implemented, which
   FR does it fully or partially
Already satisfied;
Partially satisfied;
not implemented;

TABLE I: Atomic services and city services questionnaire

Ii-B Functional Requirements (FRs) analysis.

We have distributed the questionnaire to the 8 cities plus additional partners that have worked with other cities (some of the questions were not applicable to the latter group). The questionnaire was answered by all the involved cities for each application themes, with additional answers by other cities and partners of the project. Table II shows the cities that answered the questionnaires; between brackets are the additional cities not directly involved in the related application themes. In total 9 partners have participated, categorized in 5 municipalities, 2 SMEs, and 2 academia/research foundations. From the answers we have filtered and prioritized the functional requirements with the following criteria: 1) threshold to filter out FRs not to be addressed because not of common interest: more than 2 cities with priority equal or higher than 3; 2) filter out FRs already supported by the data producers and IoT framework; 3) rank by priorities average.

Application Theme
Cities answering
the quest.
FRs to
Human-centric traffic mgmt.
Ant, Ein, Mil;
(Car, San)
12 8 7
Multi-modal transportation
Hel, Mil, Por,
San; (Car)
33 28 19
Community Policy Suite
Car, Man, Por;
9 8 8

TABLE II: Functional Requirements (FRs) of common interest

In particular, for point 2), we have evaluated the SynchroniCity framework [12] and the legacy IoT systems involved. For instance, the security layer of the IoT framework fully addresses three FRs (plus partially a fourth one). In fact, the Single Sign-On (SSO) approach is envisioned for all the city services that are developed following the SynchroniCity philosophy of a shared ecosystem. This, on the one hand, relieves the application developer from the burden of managing credentials, and on the other hand, the city service users (e.g. citizens) to create a new user for every new city service. Another FR was addressed by the geographical data query and subscription methods offered by the infrastructure. Finally the cities IoT providers together with the adoption of a common standard, such as OMA NGSI [13], and common data models, such as FIWARE data models555, were already addressing six data related requirements. Table II summarizes the filtered FRs, a more detailed list of selected FRs can be viewed in [5].

Iii Requirements Analysis

The identification of atomic services followed two different approaches: bottom-up and top-down. The bottom-up approach started from making an inventory of available software assets that address at least one FR. Afterwards, we chose the ones best suited for the IoT environment on which those assets are going to work, or with better offered features. The bottom-up approach encompasses also the analysis of the integration with the IoT infrastructure (e.g. data format mediation). The integration might be realized either with customization of the available assets or with the identification of new services. The second approach (top-down) started from the comparison between the designs of city services. Functional blocks that appear in multiple designs are selected to become atomic services and to be implemented with shared efforts.

traffic flow
from ngsi
   ✓    ✓    ✓    ✓    ✓
   ✓    ✓

TABLE III: Atomic Services selected with different approaches.

Iii-a Bottom-up approach

The questionnaire answers gave an overall view about available assets, that we could exploit to start designing the applications. For example, we have identified two candidates as routing service to be used in two of the three application themes (i.e. human-centric traffic management and multi-modal transportation): OpenTripPlanner (OTP)666 and BRouter777 The choice fell upon OTP since it covers more FRs compared with BRouter, in particular regarding the possibility of including real-time information (such as road accidents and air quality) in the routing calculation. Furthermore OTP was already successfully tested on a previous smart city application of a partner city (i.e. Helsinki888 The chosen routing service was not ready to be used with the SynchroniCity infrastructure, since it is accepting as input data packaged in General Transit Feed Specification (GTFS)999 and GTFS-Realtime (GTFS-RT) whereas the IoT systems are all following the NGSI standards and FIWARE data models. Being FIWARE an open community, this incompatibility of format has been resolved with the definition of new data models101010FIWARE Urban Mobility data model: specifically devoted to map and/or carry GTFS data within NGSI. For that reason, three new atomic services have been designed: the GTFS Fetcher discovers and extracts GTFS static data from the IoT platform; the NGSI Urban Mobility to GTFS generates GTFS files from the discovered NGSI urban mobility data laying in the IoT system; the GTFS-RT from NGSI, similarly, generated GTFS-RT files. Following the philosophy of re-usability and IoT service ecosystem creation, we have designed these atomic services as standalone, instead of glue code wrapping the OTP. Thus these GTFS related services can be adopted in other context requiring NGSI and GTFS.

Two other tools have been identified related to data visualization. The first one, namely SmartCities Dashboard, displays IoT devices and data on a map. The second tool, i.e. the Metrics Visualizer (based on Grafana

111111, visualizes timeseries of IoT data. Both of them were already integrated and tested with the SynchroniCity infrastructure.

Iii-B Top-down approach

With the identified assets some aspects of the actual city services were not addressed. For that reason we proceeded with the design of the final applications. In particular there were missing data inputs regarding real-time parking situations aggregated by city neighbourhoods, parking situations forecasts, and traffic flow status within urban area. For those purposes we envisaged two atomic services performing data analytics on time-series data: Parking Probability Estimator, and Traffic Flow Estimator.

Section IV depicts the two estimator atomic services. In addition, it presents a concrete example of atomic services composition for the realization of the city service that will be operational in the city of Santander (Spain)

Iv Atomic Service Embodiments

Iv-a Data analytics atomic services

Amongst the roster of atomic services, we focus in this section on two of them, which make a thorough use of the off-the-shelf assets exposed by the different reference zones. Namely, we concentrate on parking and traffic (intensity) data to build two different so-called atomic services: one estimates the availability of a free parking spot, the other “predicts” the state of the traffic. On top of them, cities build their own application, which might embrace them in, for instance, a single-stop-shop.

Fig. 2: Parking and traffic flow estimators shared architecture

By means of an Artificial Intelligence (AI) engine, based on the Keras framework


Keras. The Python Deep Learning Library -
, these two services bring the potential to go beyond the current status of the cities, alike most of the current off-the-shelf applications and services, and offer an estimation (i.e. one hour ahead in time) of what is about to happen in a particular (and queried) area. The way to address this is shown in Figure 2, where we can distinguish between four different components:

  1. Estimator API. This component can be seen as the communication broker. Its operation can be split into the following tasks, as reflected in the figure: 1) Harvest data from the RZs’ FIWARE framework (query/response, subscription-based and historical queries); 2) send data to the AI prediction modules to train the models, and receive the output of the predictions; 3) persist and synchronize all the context information within the atomic service using Orion Context Broker131313; 4) log every event happened in any of the sub-components; 5) expose (via a standalone RESTful API) the results of the predictions (and other context information).

  2. AI Prediction Engine. Core of the estimation operations. It deals with the typical workflow of most AI applications: data processing, learning/training and predicting/estimating.

  3. Performance monitoring. In order to cope with all the “logs” and events gathered at the Estimator API module, we rely on a Elastic Search-Kibana-Logstash (ELK) stack141414Elastic - to keep track and analyze/quantify the performance as a whole.

  4. Orion CB. We rely on this component for a twofold role: on the one hand, to work as a regular context manager that aggregates the data from the RZs, on the other hand, to harvest the output of the estimator and behave as a cache-like system.

After all the process, end users can retrieve a new level of knowledge built upon the raw data directly gathered from the underlying RZs.

Iv-B Atomic services as building blocks for city services

As we have seen in previous sections, atomic services are intended to provide a simple and well defined functionality. We can build complex final services, on top of the SynchroniCity platform, as a composition of atomic services. This section describes the design of a urban routing service deployed on top of a SynchroniCity instance.

From an overarching perspective, the whole service presents a three-layered design, as shown in Figure 3. At the bottom, through its Context Broker, the SynchroniCity platform provides context information that is adapted, in a middle layer, by the atomic services, so can be consumed by the routing engine on top. It is worth noting that, although the routing service uses Open Trip Planner151515 (OTP) as default engine, the design allows other implementations. Advanced routing engines can be fed with static and dynamic (real-time) transportation data using GTFS and GTFS-RT. The design in Figure 3 embraces two atomic services within the SynchroniCity framework, GTFS fetcher and GTFS-RT from NGSI, addressing static and real-time data respectively.

The approach followed by the atomic services is different: GTFS Fetcher acts as a proxy for existing data, while GTFS-RT from NGSI is a data translator. The reason is that the GTFS static information is usually available in cities, while real-time traffic information is typically exploited using proprietary formats. For that reason, we rely on NGSI and well defined data-models to provide a uniform representation of real-time information, and it is then exposed as GTFS-RT.

In the following we briefly describe the basic functionalities of both atomic services.

Iv-B1 GTFS fetcher

As depicted in Figure  3, this service is made of three components: service orchestrator, file fetcher, and routing engine plugin. First, upon configuration the orchestrator retrieves the corresponding context information, and indicates the file fetcher where the require GTFS files are located. At the same time, the context information is processed and stored to properly carry out GTFS updates (e.g. validity period is checked). Once the GTFS file is retrieved, the routing engine plugin interacts with the OTP so that it uses the updated information when providing new routes.


The GTFS-RT from NGSI atomic service creates GTFS-RT feeds from NGSI entities. As shown in Figure 3 a subscriber module creates subscriptions to the context broker to get notified when the corresponding entities are updated. Then, the notification is propagated to a translator component, that is the central part of the service. This component creates or updates GTFS-RT binary file with the new notified information, using protocol buffer161616 Finally, the generated GTFS-RT feeds can be consumed through a REST interface, making the final service totally agnostic of the SynchroniCity integration.

Fig. 3: Routing service design

V Evaluation

The roster of the atomic services, together with the features offered by the SynchroniCity framework, are already addressing a big percentage of application themes FRs of common interest among cities (see Section II). Figure 4 shows that the coverage goes from 50 to 87,5%. More specifically: 7 FRs addressed out of 8 for the human-centric traffic management; 21 FRs addressed out of 28 for the multi-modal transportation; for the community policy suite only 4 out of 8 FRs are covered.

Fig. 4: Coverage in percentage of Function Requirements per application theme

The atomic services have been offered as software components to smart city developers that would need to deploy and integrate them with their city services. Figure 5 summarizes their adoption in each of the pilot cities involved in SynchroniCity. The most used atomic services are those that offer the most unique and complex features such as the data analytics estimators and the routing component together with integration atomic services. The offered visualization tools have been scarcely utilized. This is due to inclination of the city services developers to implement the graphical interface on their own in order to have a clear branding imprint with ”look and feel” of the application. This explains also the lack of usage of atomic services in community policy suite applications since the visualization features are the most meaningful part. Nevertheless, even if not displayed in Figure 5, the dashboard and the metrics visualizer have been utilized for fast prototyping and IoT data and devices discovering at city services development phase.

Fig. 5: Adoption of the atomic services per city services

Finally figure 6 shows the distribution of contribution and cooperation amongst governance institutes, academia, industry and small and medium enterprises (SMEs).

Fig. 6: Distribution of atomic service contributions per stakeholders

Vi Conclusions

In this article we have illustrated the collaboration between 8 pilot cities to share efforts for smart city services and build up a sustainable ecosystem. In particular, we have depicted the collaboration methodology used and its application, based on the core concept of atomic service that is a single functional component to be re-used in more than one IoT application. A questionnaire has been implemented and issued to cities and technical partners to gather information regarding previous experiences and actual city needs. The analysis of the answers brought to the identification of required atomic functional blocks, namely atomic services, to be re-used by multiple stakeholders. Further atomic services have been identified by comparing designs of the planned city services.

We then introduce the design and architectures of the chosen atomic services, and of a city service made of a combination of multiple services. Finally, we evaluate the outcome of our approach depicting the actual adoption of the atomic services. Besides, we characterize the collaboration amongst different typology of parties (e.g. academia, industry, SMEs).

The finalization of the smart city services within SynchroniCity is still ongoing and it is foreseen the identification of new atomic services (3 are already on the process to be published as such). In order to keep alive these discussions we have activated a community tool171717 Finally, new pilot cities and city services developers are already joining the SynchroniCity project, pushing for further evolution of the ecosystem.


This work has been partially funded by the European Union’s Horizon 2020 Programme under Grant Agreement No. 732240 SynchroniCity (Delivering an IoT enabled Digital Single Market for Europe and Beyond). The content of this paper does not reflect the official opinion of the European Union. Responsibility for the information and views expressed therein lies entirely with the authors.


  • [1] B. N. Silva, M. Khan, and K. Han, “Towards sustainable smart cities: A review of trends, architectures, components, and open challenges in smart cities,” Sustainable Cities and Society, vol. 38, pp. 697 – 713, 2018.
  • [2] R. Petrolo, V. Loscrì, and N. Mitton, “Towards a smart city based on cloud of things, a survey on the smart city vision and paradigms,” Transactions on Emerging Telecommunications Technologies, vol. 28, no. 1, p. e2931, 2017, e2931 ett.2931.
  • [3] F. Cirillo, F.-J. Wu, G. Solmaz, and E. Kovacs, “Embracing the future internet of things,” Sensors, vol. 19, no. 2, 2019.
  • [4] AIOTI WG02, “Report on innovation ecosystems,” Alliance Internet of Things Innovation, Tech. Rep., 2015.
  • [5] F. Cirillo et al., “SynchroniCity D3.2 - Suite of baseline implementations - basic,” SynchroniCity, Tech. Rep., Jun. 2018.
  • [6] S. Kubler, J. Robert, A. Hefnawy, K. Främling, C. Cherifi, and A. Bouras, “Open iot ecosystem for sporting event management,” IEEE Access, vol. 5, pp. 7064–7079, 2017.
  • [7] M. Abu-Matar, “Towards a software defined reference architecture for smart city ecosystems,” in 2016 IEEE International Smart Cities Conference (ISC2), Sep. 2016, pp. 1–6.
  • [8] M. Westerlund, S. Leminen, and M. Rajahonka, “Designing business models for the internet of things,” Technology Innovation Management Review, vol. 4, pp. 5–14, 07/2014 2014.
  • [9] H. e. Schaffers, “Smart cities and the future internet: Towards cooperation frameworks for open innovation,” in The Future Internet, J. Domingue and et al., Eds.   Springer Berlin Heidelberg, 2011, pp. 431–446.
  • [10] M. Hultermans et al., “SynchroniCity D3.1 - Specification and design of initial IoT applications,” SynchroniCity, Tech. Rep., Jan. 2018.
  • [11] A. Messina, R. Rizzo, P. Storniolo, M. Tripiciano, and A. Urso, “The database-is-the-service pattern for microservice architectures,” in Information Technology in Bio- and Medical Informatics, M. E. Renda, M. Bursa, A. Holzinger, and S. Khuri, Eds.   Cham: Springer International Publishing, 2016, pp. 223–233.
  • [12] M. Maggio et al., “SynchroniCity D2.10 - Reference Architecture for IoT Enabled Smart Cities, Update,” SynchroniCity, Tech. Rep., Aug. 2018.
  • [13] Open Mobile Alliance, “NGSI Context Management,” OMA, OMA-TS-NGSI Context_Management-V1_0, May 2012.