The Internet of Things (IoT) is emerging as the next big wave of digital presence for billions of devices on the Internet. Smart Cities are practical manifestation of IoT, with the goal of efficient, reliable and safe delivery of city utilities like water, power and transport to residents, through their intelligent management. A data-driven IoT Software Platform is essential for realizing manageable and sustainable Smart Utilities, and for novel applications to be developed upon them. Here, we propose such a service-oriented software architecture to address two key operational activities in a Smart Utility -- the IoT fabric for resource management, and the data and application platform for decision making. Our design uses open web standards and evolving network protocols, Cloud and edge resources, and streaming Big Data platforms. We motivate our design requirements using the smart water management domain; some of these requirements are unique to developing nations. We also validate the architecture within a campus-scale IoT testbed at the Indian Institute of Science (IISc), Bangalore, and present our experiences. Our architecture is scalable to a township or city, while also generalizable to other Smart Utility domains. Our experiences serves as a template for other similar efforts, particularly in emerging markets, and highlights the gaps and opportunities for a data-driven IoT Software architecture for smart cities.
@cite_24: The focus of the Internet has recently shifted from current computers and mobile devices to everyday objects, people, and places; consequently, the Internet of Things (IoT) promises to be not only a compelling vision but the actual driving force of the upcoming fourth Industrial Revolution. Novel cyber-physical, customized, and highly pervasive services are impacting our lives, involving several stakeholders and fostering an unseen globally interconnected ecosystem. However, IoT system development is a multifaceted process that’s complex, error-prone, and time-consuming. Although modeling and simulation are crucial aspects that could effectively support IoT system development, an integrated approach synergistically providing both of them is lacking. The authors propose a hybrid approach that uses agents for IoT modeling and OMNeT for simulation, providing mapping guidelines between the agent paradigm and the OMNeT simulator abstractions. The proposed approach has been applied in small-, medium-, and large-scale IoT scenarios, where relevant performance indexes of IoT entities communication have been measured and analyzed.
@cite_40: 
@cite_27: The Internet of Things (IoT) vision is increasingly being realized to facilitate convenient and efficient human living. To conduct effective IoT research using the most appropriate tools and techniques, we discuss recent research trends in the IoT area along with current challenges faced by the IoT research community. Several existing and emerging IoT research areas such as lightweight energy-efficient protocol development, object cognition and intelligence, as well as the critical need for robust security and privacy mechanisms will continue to be significant fields of research for IoT. IoT research can be a challenging process spanning both virtual and physical domains through the use of simulators and testbeds to develop and validate the initial proof-of-concepts and subsequent prototypes. To support researchers in planning IoT research activities, we present a comparative analysis of existing simulation tools categorized based on the scope of coverage of the IoT architecture layers. We compare existing large-scale IoT testbeds that have been adopted by researchers for examining the physical IoT prototypes. Finally, we discuss several open challenges of current IoT simulators and testbeds that need to be addressed by the IoT research community to conduct large-scale, robust and effective IoT simulation, and prototype evaluations.
Yet another dimension of large scale IoT deployments is the ability to plan the deployment ahead of time, and with limited field explorations. Here, modeling and simulation environments are useful design tools @cite_27 . While our SmartConnect tool @cite_40 helps with WSN design planning, more comprehensive tools exist to allow one to span sensing, networking, device management and data management design within the IoT ecosystem @cite_24 . Large scale deployments will benefit from mapping the proposed solutions to such simulation environments to evaluate specific technologies.