I. Introduction
Large-scale smart environments (LSEs) are pervasive and distributed systems covering a wide geographical area [1], [2] and characterized by a huge number of possibly heterogeneous, interacting Internet of Things (IoT) devices. Their deployment aims to provide enhanced cyber-physical services to its users/inhabitants. Since new devices can be added to and removed from LSEs, they are recognized as high-dynamic systems. In addition, such systems are required to be capable to evolve their functionalities over time, according to changes in their finalities. As a consequence, they should support the possibility to add, update, and remove functionalities depending on the available devices and services. Within an LSE, besides native objects, which are directly deployed, owned, and managed by a specific LSE, other two kinds of entities are considered, namely foreign and external objects, which are better specified in the following. The first ones are objects that can enter and exit an LSE and do not belong to the LSE itself; private mobile devices are typical example of this type of objects [3]. The other ones are located outside the LSE, and are usually able to provide general purpose exploitable functionalities. In the considered open and dynamic scenario, issues such as entity discovery, trustworthiness, interoperability, data processing, and management need to be addressed. Furthermore, it is of paramount importance to have methodological guidelines and tools to foster the development of LSEs by dealing with their complexity.