We increasingly live in cyber-physical spaces: spaces that are both physical and digital, and where the two aspects are intertwined. Cyber-physical spaces may exhibit a range of behaviors, from smart control of heating, ventilation, and light to visionary multi-functional living spaces that can be spatially re-organized in a dynamic way. In contrast to traditional physical environments, cyber-physical spaces often exhibit dynamic behaviors: they can change over time and react to changes occurring in space. Current design of spaces, however, does not normally accommodate the cyber aspects of modern spatial environments and does not capture their dynamic behavior. Spatial design, although done with CAD tools and following certain international processes and standards, such as Building Information Modelling (BIM), largely produces syntactic descriptions of spaces which lack dynamic semantics. As a consequence, designs cannot be automatically (and formally) analyzed with respect to various requirements emerging from dynamic cyber-physical spaces; safety, security or reliability requirements being typical examples of this. This paper will show an avenue for research which can be characterized as rethinking the design of spatial environments, i.e., dynamic cyber-physical spaces, from a software engineering perspective. We outline our approach where formally analyzable models may be automatically extracted from BIM depending on the analysis required, and then checked against formally specified requirements, both regarding static and dynamic properties of the design, prior to the construction phase (at design time). To realize automated operational management, these models can also be used during operation to continuously check satisfaction of the requirements when changes occur, and possibly enforce their satisfaction through self-adaptive strategies (at run-time).