1 research outputs found

    Adaptive virtual organisms: A compositional model for complex hardware-software binding

    Full text link
    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
    corecore