smart India

Smart Cities

Current resources and infrastructure are hardly enough to cope with the increasing demand that population growth and geographic concentration generates.

Making cities smarter can help optimize resource and infrastructure utilization toward increased sustainability. One approach involves creatively combining the large amounts of data generated by multiple city sources (such as sensor networks, traffic systems, user devices, and social networks) to create integrated services and applications, improving city services, and making better use of city resources. However, efficiently and effectively using all these data sources is a challenge.

Our capability is integrating all of domains into a complete and consistent solution that require basic services from the underlying software infrastructure. Such basic services could be provided by a novel, comprehensive software platform, which could include facilities for application development, integration, deployment, and management, easing the construction of sophisticated Smart Cities applications. We define a software platform for Smart Cities as

“an integrated middleware environment that supports software developer’s in designing, implementing, deploying, and managing applications for Smart Cities.”

Enabling Technologies

The most common enabling technologies employed in platforms for Smart Cities. Can be grouped under four main categories:

  • Internet of Things (IoT): to control sensors and actuators responsible for retrieving information from the city;
  • Big Data: to support storage and processing of the data collected from the city;
  • Cloud Computing: to provide elasticity to the services and data storage; and
  • Cyber-Physical Systems: to enable the interaction of systems with the city environment.
Functional Requirements:

The main goal of a platform for Smart Cities is to facilitate the development of Smart City applications. Towards this aim, most of the analyzed platforms implement requirements for collecting data from the city, managing and sharing data, and providing tools to facilitate the development of Smart City applications.

Applications Run-time:

Some platforms focus on managing the execution of applications. Our goal is to facilitate the deployment and integration of such applications. Some platforms provide a complete environment for developers to deploy their applications; others offer an execution run-time service for applications developed with tools the platform provides.

WSN Management:

Many of the analyzed platforms have a Wireless Sensor Network (WSN) management layer to control and monitor the devices deployed in the city. Most of these platforms use IoT concepts to organize and manage the WSN. Our team can integrate such platforms that include features to manage all the device activities, such as adding, removing, and monitoring the sensors and actuators.

Data Processing:

Some platforms use specific processing components, such as inference engines, workflow processing and big data processing tools. These components process large data sets, and their main purpose is to analyze, verify, aggregate, and filter the data from the city. In addition, some platforms make real-time analyses of data streams.

External Data Access:

Almost all platforms describe an interface for external applications to access the platform data. We use an API to allow access to the data generated in the city. Also, we can use cloud computing concepts to provide the city data as a service.

Service Management:

Our team adopt a Service-Oriented Architecture, in which the platform functionalities are offered by services. We can provide features to applications, such as access to raw sensors data and analyzed data, and workflow engines. We use tools to enable developers to deploy services on the platform and make them available to other applications. Our platforms also use service compositions and choreographies to create new services or applications.

Software Engineering Tools:

Platforms we use can provide a set of tools for the development and maintenance of services and applications. For describing and implementing applications, create visual interfaces, workflow design tools to define data or service flows and create Smart City applications. Moreover, some these platforms use analytics and reporting tools to facilitate the development of data visualization and reports, and describe the use of a Smart City application SDK

Definition of a City Model:

These platforms provide a model of the city to facilitate the manipulation and understanding of the data, and to facilitate the integration of the collected data. The city model is used to allow queries in the data from the city sensor network.

Based on the functional requirements aforementioned, It can be observed that we can integrate the main platforms activities to control the city data life cycle:
(1) Collecting the data with a WSN,
(2) Managing the data in the platform,
(3) Processing the data using city models
(4) Sharing the raw and processed data allowing external access.

These activities are highly related to the enabling technologies, such as IoT with the WSN management, Data Management and Processing with Big Data, and Service Management with Cloud Computing.