As research in the Internet of Thing area progresses, and a multitude of proposals exist to solve a variety of problems, the need for a general principled software engineering approach for the systematic development of IoT systems and applications arises. In this paper, by synthesizing form the state of the art in the area, we attempt at framing the key concepts and abstractions that revolve around the design and development of IoT systems and applications, and draft a software engineering methodology centered on these abstractions.
 In this article, the authors introduce the vision of smart social mobility services, noting that widespread deployment will require the identification and implementation of a general-purpose coordination infrastructure to support the effective realization of such services. In this paper, we introduce MobIoT, a service-oriented middleware that enables large-scale mobile participatory sensing. Scalability is achieved by limiting the participation of redundant sensing devices. Precisely, MobIoT allows a new device to register its services only if it increases the sensing coverage of a physical attribute, along its expected path, for the set of registered devices. We present the design and implementation of MobIoT, which mobile devices use to determine their registration decision and become accessible for their services. Through experiments performed on real datasets, we show that our solution scales, while meeting sensing coverage requirements. The Web of Things extends the Internet of Things by leveraging Web-based languages and protocols to access and control each physical object. In this article, the authors summarize ongoing work promoting the concept of an avatar as a new virtual abstraction to extend physical objects on the Web. An avatar is an extensible and distributed runtime environment endowed with an autonomous behavior. Avatars rely on Web languages, protocols, and reason about semantic annotations to dynamically drive connected objects, exploit their capabilities, and expose user-understandable functionalities as Web services. Avatars are also able to collaborate together to achieve complex tasks. Sooner or later, we'll all become part of an urban superorganism, putting our ICT devices and unique human capabilities to use for the good of both ourselves and society.  Swarmlets are applications and services that leverage networked sensors and actuators with cloud services and mobile devices. This article offers a way to construct swarmlets by composing "accessors,"' which are wrappers for sensors, actuators, and services, that export an actor interface. Actor semantics provides ways to compose accessors with disciplined and understandable concurrency models, while hiding from the swarmlet the details of the mechanisms by which the accessor provides sensor data, controls an actuator, or accesses a service. This architecture can leverage the enormous variety of mechanisms that have emerged for such interactions, including HTTP, Websockets, CoAP, and MQTT. Recognizing that these standards have emerged because of huge variability of requirements for bandwidth, latency, and security, accessors embrace heterogeneity instead of attempting to homogenize.