Project Description: Network middleware is a fundamental component of an end-to-end infrastructure where a variety of heterogeneous devices and applications are in operation. The middleware provides a facility to allow the differing capabilities, characteristics, and requirements to be supported in an interoperable manner, providing a translator functionality between the application and the hardware. Previously developed examples of middleware include CORBA [1] and DCOM [2]. The smart city is an environment which can benefit particularly from the integration of middleware technology, providing a common approach to integrating the requirements across the range of devices and applications running here. A single middleware could, for example, provide support by accommodating the range of ontologies used across the smart city, such as the Smart Appliances REFerence (SAREF) ontology [3], the Urban Energy ontology [4], or the Places ontology [5]. Such ontologies are currently rolled-out and operated in a highly specific manner. This approach to operation does not fit with the envisaged perspective of smart cities, where devices will be rapidly integrated into the network and interoperability is immediately achievable. This is partly due to limitations in the middleware available, which does not support such interoperable operation: middleware which supports current approaches to operation are generally vendor-specific. IBM, for example, offers a service to develop a specific middleware on a per business basis specific to the company objectives [6]. Such an approach, however, does not allow easy extensibility if the business objective changes or expands. Such an approach also does not support the envisaged perspective of the smart city. While attempts are being made in this respect, such as in [7] and [8], a generic and therefore fully interoperable solution is not yet provisioned. The objective of this project is therefore to consider the way in which this might be achieved. In this project, the student is required to develop a network middleware which promotes a generic approach to operation in the smart city. The middleware will be responsible for retaining a range of ontologies by which data may be classified for transportation to a centralised repository for storage or further use. The degree to which this is achieved will be dependent on the role which the manufacturer or developer wishes to play in the smart city. The middleware should also support operation where the ontology is not retained, promoting ease of extensibility as devices and applications operating in the smart city evolve. This data can be retained within a section of unclassifiable data in the repository to which the data is transported, with possible smart processing techniques applied to exploit its utility. The overall approach proposed therefore, is not vendor-specific, fulfilling requirements of a next generation architecture. The task in this project is therefore to develop a middleware architecture, in terms of its organisation and the protocol which facilitates its operation, to provision a generic approach which supports operation across the smart city IoT, and a vendor-specific approach where vendors participate in the scheme. The middleware and operational protocol provisioned should be extensible to support new applications and devices as the IoT evolves. The implementation can take place in an open source network simulation package, such as NS-3 [9] or OMNeT++ [10]. References: [1] OMG, "Corba Website"; Available at: http://www.corba.org/. [2] Microsoft, "Distributed Component Object Model"; Available at: https://technet.microsoft.com/en-us/library/cc958799.aspx. [3] Smart Appliance, "Smart Appliances REFerence (SAREF) ontology"; Available at: https://sites.google.com/site/smartappliancesproject/ontologies/reference-ontology. [4] Semanco Toosl, "Urban Energy Ontology"; Available at: http://www.semanco-tools.eu/urban-enery-ontology. [5] The Places Ontology; Available at: http://vocab.org/places/schema.html. [6] IBM, "Optimise Middleware Investments for Greater Efficiency and Value"; Available at: http://www-935.ibm.com/services/uk/en/it-services/systems/middleware-services/. [7] Oracle, "Internet of Things: Role of Oracle Fusion Middleware," Apr. 2015; Available at: http://www.oracle.com/us/solutions/machine-to-machine/iot-wp-2190408.pdf [8] F. J. Villanueva, M. J. Santofimia, D. Villa, J. Barba, and J. C. Lopez, "Civitas: The Smart City Middleware, from Sensors to Big Data," in Proc. of the 7th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 2013, pp. 445-450. [9] NS-3 Homepage; available at: https://www.nsnam.org/. [10] OMNeT++ Homepage; Available at: https://omnetpp.org/.