P systems: A Modelling Language Marian Gheorghe Department of Computer Science University of Sheffield Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Summary Modelling bio-communities Modelling bio-communities State machines & P systems State machines & P systems Experiments Experiments P systems – modelling paradigm P systems – modelling paradigm Future work Future work Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
What is a model? A simplified description of a complex entity or process A simplified description of a complex entity or process A representation of a set of components of a process, system, or subject area, generally developed for understanding, analysis, improvement, and/or replacement of the process A representation of a set of components of a process, system, or subject area, generally developed for understanding, analysis, improvement, and/or replacement of the process A representation of reality used to simulate a process, understand a situation, predict an outcome, or analyze a problem A representation of reality used to simulate a process, understand a situation, predict an outcome, or analyze a problem Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
What to model? Bio-communities: social insects (ants, bees, wasps), bacterium communities, cells Bio-communities: social insects (ants, bees, wasps), bacterium communities, cells Component description/behaviour: structure, rules, Component description/behaviour: structure, rules, Interactions: type, dynamicity Interactions: type, dynamicity Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Integrative Bio-research Abstract Modelling Empirical Research Parameters Hypotheses Testing – Specifications Assumptions – Requirements Robust biosystem rules Bioinspired computing General biological theory Holistic view Verification
Modelling Bio-Communities Multi-agent systems: social insect communities provide an accessible model of requisites in their design e.g. minimal rule set and population size. Multi-agent systems: social insect communities provide an accessible model of requisites in their design e.g. minimal rule set and population size. Biological system simulation: methods of modelling insect societies should be of utility when simulating other organisms e.g. bacteria, human cells, tissues etc. Biological system simulation: methods of modelling insect societies should be of utility when simulating other organisms e.g. bacteria, human cells, tissues etc. Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Modelling Social insects Top down Probabilistic models of whole population dynamics e.g. fluid flow modelling of army ant traffic. Probabilistic models of whole population dynamics e.g. fluid flow modelling of army ant traffic. Bottom up Agent-based models utilising individual rule sets. Agent-based models utilising individual rule sets. Population dynamic emerges when sufficient agents interact. Population dynamic emerges when sufficient agents interact. Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Model Organism – The Pharaoh’s Ant Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
The Pharaoh’s Ant - Foraging Exploration Exploration Food Discovery and Return Food Discovery and Return Recruitment Recruitment Trail Dynamics / Traffic Trail Dynamics / Traffic Decision Selection Decision Selection Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Trail Formation A strong trunk trail and a network of minor trails emerges. A strong trunk trail and a network of minor trails emerges. A preliminary set of rules underlying this process has been estimated A preliminary set of rules underlying this process has been estimated Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Nest activities Feeding (larvae, ants) Feeding (larvae, ants) Looking for food Looking for food Moving around Moving around Foraging Foraging Doing … nothing (inactive) Doing … nothing (inactive) Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
X-machine model Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel Input e.g. pheromones, food, social and environmental stimuli etc. Ant + M 1 q 0 initial state Ant + M 2 q 1 next state Functions Output Γ Behaviour elicited e.g. trail following, recruitment
Why X-machines ? State machine model widespread in man-made systems’ construction State machine model widespread in man-made systems’ construction Well-developed verification and testing methods Well-developed verification and testing methods Easy to model Easy to model Modularity Modularity Graphical representation Graphical representation Tools Tools Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Simulation results (Nest) 3cm x 3cm nest size 3cm x 3cm nest size 100 workers larvae 100 workers larvae worker model: 7 states; 22 transitions worker model: 7 states; 22 transitions foraging happens in cycles (alterations may occur) foraging happens in cycles (alterations may occur) no specialisation no specialisation problem: tuning different parameters problem: tuning different parameters Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Limitations Communication model rather ad-hoc Communication model rather ad-hoc No real formalism of functions associated with transitions No real formalism of functions associated with transitions No tool for interacting components No tool for interacting components … Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
A new modelling paradigm Biologically motivated Biologically motivated Fully formal model Fully formal model Genuinely distributed Genuinely distributed Dynamic structure Dynamic structure … Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
P systems Cellular biology Cellular biology A hierarchical arrangement A hierarchical arrangement Each membrane delimits a region Each membrane delimits a region Each region contains a multiset of elements (simple molecules, DNA sequences, other regions … ) Each region contains a multiset of elements (simple molecules, DNA sequences, other regions … ) The chemicals/bio-elements evolve in time according to some (rewriting/combination) rules specific to each region or may be moved across the membranes The chemicals/bio-elements evolve in time according to some (rewriting/combination) rules specific to each region or may be moved across the membranes The rules may also dissolve/create/move regions The rules may also dissolve/create/move regions Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
P systems a model of bio- communities Initially an abstract model of cell structure and functioning Initially an abstract model of cell structure and functioning Tissue P systems Tissue P systems Population P systems Population P systems Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Population P systems A population of bio-units A population of bio-units The units evolve The units evolve Dynamic structure Dynamic structure Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Population P systems (2) Usual bio-units components (P systems) Usual bio-units components (P systems) Tissues P systems communication rules Tissues P systems communication rules Dynamic structure Dynamic structure – Components – Links (bonds) Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Population P Systems: a Modelling paradigm Rule types: transformation, communication (exchange of elements) – and a combination of both, bond making rules Rule types: transformation, communication (exchange of elements) – and a combination of both, bond making rules Each rule has a guard and refers to local elements Each rule has a guard and refers to local elements Bio-units created/removed dynamically Bio-units created/removed dynamically Bio-units: change their type, divide, die Bio-units: change their type, divide, die Each bio-unit has a type Each bio-unit has a type Environment Environment Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Code example foodL>=0: foodL--> foodL-FoodDecayRate foodL>=0: foodL--> foodL-FoodDecayRate next(this.pos, pos): next(this.pos, pos): foodL>HungryL: foodL>HungryL: forager: forager: forager --> inactive; pos; pher; foodL Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Advantages Fully formal Fully formal Easy/Natural to model Easy/Natural to model Easy to extend/reuse (bacteria, tissue) Easy to extend/reuse (bacteria, tissue) Adequate for a bottom-up approach Adequate for a bottom-up approach An underlying graphical representation An underlying graphical representation Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Further developments Further investigations Further investigations New features New features More complex case studies More complex case studies Tools Tools Environment builder Environment builder Handling of data generated Handling of data generated Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Conclusions Two modelling approaches Bottom-up/local modelling strategy Local – global (individual – social) Modelling – (small) case studies … programming; hmmm Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel
Thanks Jean-Pierre Ban âtre Jean-Louis Giavitto Pascal Fradet Olivier Michel Mike Holcombe Duncan Jackson Francesco Bernardini Fei Luo James Clarke Peter Langton Taihong Wu Yang Yang Unconventional Programming Paradigms; Sept’04 – Mont Saint Michel