A system for interconnecting and coordinating a plurality of devices, services and applications, the system comprising: at least one physical device ; a first module which comprises a first database storing at least one pre-defined canonical device , wherein the canonical device corresponds to a pre-defined canonical form, the canonical form defining a set of minimum capabilities for a type of physical device, wherein the at least one physical device is associated with at least one canonical device which matches at least some of the capabilities of the physical device; a second module which comprises a second database storing one or more synthetic devices , wherein each synthetic device comprises one or more canonical devices and at least one rule, the at least one rule defining how the one or more canonical devices are combined to define the overall behaviour or function of the synthetic device; and at least one processor which is configured to: associate the at least one physical device to the at least one pre-defined canonical device by comparing the capabilities of the physical device with the set of minimum capabilities defined by the canonical form; and control the at least one physical device via the associated canonical device by applying the at least one rule for a synthetic device incorporating the associated canonical device; and wherein the at least one processor is further configured to implement an object capability model which defines security permissions associated with each canonical and synthetic device, and to control the at least one physical device by applying the permissions set by the object capability model. at least one physical device ; a first module which comprises a first database storing at least one pre-defined canonical device , wherein the canonical device corresponds to a pre-defined canonical form, the canonical form defining a set of minimum capabilities for a type of physical device, wherein the at least one physical device is associated with at least one canonical device which matches at least some of the capabilities of the physical device; a second module which comprises a second database storing one or more synthetic devices , wherein each synthetic device comprises one or more canonical devices and at least one rule, the at least one rule defining how the one or more canonical devices are combined to define the overall behaviour or function of the synthetic device; and at least one processor which is configured to: associate the at least one physical device to the at least one pre-defined canonical device by comparing the capabilities of the physical device with the set of minimum capabilities defined by the canonical form; and control the at least one physical device via the associated canonical device by applying the at least one rule for a synthetic device incorporating the associated canonical device; associate the at least one physical device to the at least one pre-defined canonical device by comparing the capabilities of the physical device with the set of minimum capabilities defined by the canonical form; and control the at least one physical device via the associated canonical device by applying the at least one rule for a synthetic device incorporating the associated canonical device; and wherein the at least one processor is further configured to implement an object capability model which defines security permissions associated with each canonical and synthetic device, and to control the at least one physical device by applying the permissions set by the object capability model. <EOS>