The relation between a structure and the function running on that structure is of central interest in many fields, including computer science, biology (organ vs. function), psychology (body vs. mind), architecture (designs vs. functionality), etc. Our paper addresses this question with reference to computer science recent hardware and software advances, particularly in areas as robotics, AI-hardware, self-adaptive systems, IoT, CPS, etc.At the modeling, conceptual level, our main contribution is the introduction of the concept of "virtual organism" (VO), to populate the intermediary level between rigid, slightly reconfigurable, hardware agents and abstract, intelligent, adaptive software agents. A virtual organism has a structure, resembling the hardware capabilities, and it runs low-level functions, implementing the software requirements. Roughly speaking, it is an adaptive, reconfigurable, distributed, interactive, open system, consisting of a network of heterogeneous computing nodes, with a constrained structural shape, and running a bunch of overlapping functions. The model is compositional in space (allowing the virtual organisms to aggregate into larger organisms) and in time (allowing the virtual organisms to get composed functionalities).Technically, the virtual organisms studied here are in 2D (two dimensions) and their structures are described by regular 2D pattens; adding the time dimension, we conclude our VO model is in 3D (with 2D for space and 1D for time). By reconfiguration, an organism may change its structure to another structure belonging to the same 2D pattern. We illustrate the VO concept with three increasingly more complex VOs: (1) a tree collector organism (TC-organism); (2) a feeding cell * Parts of the results in this paper have been presented to the