  Although timing and synchronization of a dynamically-changing set of elements
and their related power considerations are essential to many cyber-physical
systems (CPS), they are absent from today's programming languages, forcing
programmers to handle these matters outside of the language and on a
case-by-case basis. This paper proposes a framework for adding time-related
concepts to languages. Complementing prior work in this area, this paper
develops the notion of dynamically federated islands of variable-precision
synchronization and coordinated entities through synergistic activities at the
language, system, network, and device levels. At the language level, we explore
constructs that capture key timing and synchronization concepts and, at the
system level, we propose a flexible intermediate language that represents both
program logic and timing constraints together with run-time mechanisms. At the
network level, we argue for architectural extensions that permit the network to
act as a combined computing, communication, storage, and synchronization
platform and at the device level, we explore architectural concepts that can
lead to greater interoperability, easy establishment of timing constraints, and
more power-efficient designs.
