  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
modelling, 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. 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 and their structures are described by regular
2D pattens; adding the time dimension, we conclude the VO model is in 3D. 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; (2) a feeding cell; and
(3) a collection of connected feeding cells. We implemented a simulator for
tree collector organisms and the quantitative results show reconfigurable
structures are better suited than fixed structures in dynamically changing
environments. We briefly show how Agapia - a structured parallel, interactive
programming language where dataflow and control flow structures can be freely
mixed - may be used for getting quick implementations for VO's simulation.
