================================================================================ ================================================================================ 26/07/07 Daniel/Jean-Louis/Olivier Paper to look at http://arxiv.org/pdf/0704.3639 * A bacteria is defined as a set of guards/actions. An action can be : _ tumble[+/- P] with probability given by pheromone P _ secrete[P, r, e] at a rate \$r\$ with evaporation \$e\$ _ handle material that has a diameter of activity (detect, grab, drop) _ divide _ apoptosis (the bacterium is removed from the environment) _ stick (once you're stuck, tumble still applies, you juste get different movement ; you can stick to a bacterium according to its type) * Materials _ can be dropped, grabed and sensed _ no diffusion _ no evaporation * Pheromones can be defined by _ name _ rate _ peak value _ evaporation * A guard is in the form _ predicate : action all guards are tested/run in parallel. where a predicate is a logical combinations of flags and Pheromones sensing. * A flag is taken from a finite set of boolean value which can be _ set _ reset _ tested. set and reset are delayed to avoid temporal cycles. * All couples (guards, actions) are run/tested in parallel. Definition ========== Flags f1, ..., fn Pheromone Ph1[10, 0.1] Bacteria A1 [`f, `Ph] Flags f123, f17 Bacteria A2 Flags f123, f29 Bacteria B1 [`f12, `Ph13] Inherit from A1[f1, `f12], A2 renaming A1.f123 => Af123, A2.f123 => Bf123 and A1.f17 === A2.f29 renaming f17_29 Flags f1, ..., fn Uses Ph1, ..., Phn Secretes Phm, ...,Php Actions [ f1 & f2 & `f12 => secrete[Ph1, 10, 0.1] f3 => reset f1 f4 => produce[`Ph13] ... ] Initial state ============= We have to define the initial state. It is done by some other primitives handled by the simulator. Programs ======== * sorting, patrolling, routing, Hamiltonian path, foraging, interception, voronoļ, edge detection, wounds healing, Dictyostelium (http://en.wikipedia.org/wiki/Dictyostelid), iGEM at the population level, reconfigurable robotics, school of fish, flock of birds, swarm community... => from the Ants community Handling of Space and Time ========================== continuous/continuous or discrete/discrete or any combination of these. ================================================================================ ================================================================================ 27/07/07 - Daniel/Jean-Louis/Hugues/Olivier ******************************************** Abstract simulation language target towards Synthetic Biology _ inside the cell : automata (finite set of locgical states) _ lot of computing outside the cell (gradients) Three abstract languages ------------------------ L : few bacteria, few molecules => CA L' : few bacteria, lots of molecules (=> gradients) _ discrete space : swarm _ continuous space : ? L'' : tons of bacteria/molecules Hugues suggests that it is close to BDI (http://en.wikipedia.org/wiki/BDI_software_agent)