—Bringing together heterogeneous computing devices and appliances gives rise to a spontaneous environment where resources exchange messages, such as a mobile phone telling the car’s stereo to mute. We also witness computer-augmented resources become physically simpler to use (e.g. less buttons) but become more complex to handle in their digital dimension (e.g. overloaded user interfaces). As a consequence, the behavior of the pervasive applications leveraging these resources gets even more complex to understand and configure. This demands for tools that help developers and end-users inspect and manipulate the current state of the pervasive computing environment during execution time. We present models and tools that support the development and deployment of applications that can be observed at runtime, by means of the messages they exchange, the properties they manipulate and the rules they define.