Presentation Outline ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Background Self-Replication Genome memory Self-Repair Conclusion Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Introduction ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Embryonics: biological inspiration Background Self-Replication Genome memory Self-Repair Conclusion Gianluca Tempesti Bio-inspired hardware Field-Programmable Gate Arrays BioWall Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The BioWall ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E • How does it work? Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Von Neumann’s Constructor ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Von Neumann’s Universal Constructor (Uconst) can build a copy of itself (Uconst’) and of any finite machine (Ucomp’), given the description of both D(Uconst+Ucomp). DAUGHTER CELL Ucomp' M' Uconst' D(Uc onst+Ucomp) MOTHER CELL Ucomp M Uconst D(Uconst+Ucomp) Gianluca Tempesti GENOME Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Von Neumann to Embryonics UComp Universal Computation UTM on MicTree Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E UConst Universal Construction MicTree on MuxTree Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Universal Construction ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E How do we go from an FPGA to a cellular array? Knowing that the structure of the cells varies with each application! CELLULAR SELF-REPLICATION Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Artificial Organism ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is an artificial organism? An application-specific computing system. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Artificial Organism ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is an artificial organism? An application-specific parallel computing system, made up of a two-dimensional array of artificial cells. Where each cell contains the entire genetic material of the organism. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Artificial Cell ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is an artificial cell? A small (but universal) processor containing: • a memory for the genome program; • an interpreter and a coordinate system; • a functional unit and a routing unit. ROUTING UNIT GENOME INTERPRETER MEMORY COORDS FUNC X,Y UNIT Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Bio-Inspired Hardware ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is the size of a cell? It depends on the application!! ROUTING UNIT GENOME INTERPRETER MEMORY COORDS FUNC X,Y PROGRAMMABLE CONNECTIONS UNIT LOGIC ELEMENTS PROGRAMMABLE FUNCTIONS CONFIGURATION I/O ELEMENTS Solution: A novel FPGA architecture! Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Artificial Cell ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is an artificial cell? A small (but universal) configurable processor , made up of a two-dimensional array of artificial molecules. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Artificial Molecule ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What is an artificial molecule? An FPGA element of the MuxTree family containing: • a programmable function; • a set of fixed and programmable connections; • a configuration register. NOB NIB NOUT WOB EIB SB WIB EOB FU WIN WOUT NOUT FF Q D1 D SEL EOUT EIN INPUT_SEL SIB SOB EIB EOB CFG[19:0] SIB Gianluca Tempesti SOB CREG SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The 4 Levels of Embryonics ORG ORG A O M Gianluca Tempesti F E c b a Population level (∑ organisms) D C L EL C f MUX COMP MUX Organism level (∑ cells) Cell level (∑ molecules) e d LE U C LE E E ORG ORG G R B O ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN d Molecule level (∑ transistors = FPGA) Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Defining the Needs ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E What do we need? To develop a bio-inspired FPGA architecture capable of: • Supporting cellular-level self-replication. • Storing the (large) genome in each cell. • Supporting cellular-level self-repair while tolerating minor faults at the molecular level. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Self-Replication Background Self-Replication Genome memory Self-Repair Conclusion Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Langton’s loop Our novel self-replicating loop The membrane builder Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Langton’s Loop ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E TURN INSTRUCTION SHEATH ELEMENT CONSTRUCTING ARM ADVANCE INSTRUCTION Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Propagation of Langton’s Loop Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 Our Novel Loop ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E CONTROL ELEMENT DATA ELEMENTS GATE ELEMENT SHEATH ELEMENT Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Loop’s Propagation Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The LSL Loop ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E EMPTY SPACE NOP ADVANCE TURN RIGHT TURN LEFT INIT SEQUENCE Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Membrane Builder ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E WALL JUNCTION ITER=000 Gianluca Tempesti Cours Systèmes et Programmation Génétiques ITER=104 13 Janvier 2003 Cellular Division ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E To implement cellular division, we need to split up the FPGA into a two-dimensional grid of identical sub-arrays of molecules, of variable size depending on the application. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Membrane in MuxTree Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The Membrane in MuxTree CFG 2 CFG 5 CFG 8 CFG 2 CFG 5 CFG 8 CFG 1 CFG 4 CFG 7 CFG 1 CFG 4 CFG 7 CFG 0 CFG 3 CFG 6 CFG 0 CFG 3 CFG 6 CONFIGURATION BITSTREAM Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 12 2 112112 12112 2112112 12112112 112 2112112112 112112112 2112 Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Membrane in MuxTree Gianluca Tempesti X CFG 2 X CFG 5 X CFG 8 X CFG 2 X CFG 5 X CFG 8 X CFG 1 X CFG 4 X CFG 7 X CFG 1 X CFG 4 X CFG 7 X CFG 0 X CFG 3 X CFG 6 X CFG 0 X CFG 3 X CFG 6 Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The BioWall Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 Self-Replication Background Self-Replication Genome memory Self-Repair Conclusion ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Gianluca Tempesti Memory in MuxTree Cyclic vs. addressable memories Cyclic memory implementation Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The MUXTREE Molecule ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Every cell must store the (large) genome program. NOB NIB NOUT WOB EIB SB WIB EOB FU WIN WOUT NOUT FF Q D1 D SEL EOUT EIN INPUT_SEL SIB SOB EIB EOB CFG[19:0] SIB SOB CREG SIN However, the only memory elements in the MUXTREE molecule are a single D-type flip-flop and the configuration register CREG. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Genome Memory ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E A "conventional" addressable memory is not suited to our architecture (decoding logic too large, incompatible storage). However, the access pattern of the genome program allows us to use a different kind of memory, which we will call cyclic memory. Performance-wise, it is not efficient (jumps) but the storage structure is perfectly suited to a shift-register implementation. Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Genome Memory: Implementation ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Our configuration register CREG is a shift register. And all the connections required for a cyclic memory are already in place for configuration and/or repair. FF CREG[19:0] A: X 0 INPUT SELECT[7:0] SWITCH BLOCK[7:0] FU[2:0] B: 0 1 DATA[7:0] SWITCH BLOCK[7:0] MEM[2:0] C: 1 1 Gianluca Tempesti DATA[15:0] Cours Systèmes et Programmation Génétiques MEM[2:0] 13 Janvier 2003 Self-Repair Background Self-Replication Genome memory Self-Repair Conclusion ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Gianluca Tempesti MuxTree Self-test Self-repair MuxTree and MicTree Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Cellular Self-Repair ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E How do we implement cellular self-repair? We need a hardware mechanism to detect the faults and to generate a KILL signal. HARDWARE = MOLECULAR LAYER Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 MuxTree NOB NIB ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E NOUT WOB EIB SB WIB EOB FU WIN WOUT NOUT FF Q D1 D SEL EOUT EIN INPUT_SEL SIB SOB EIB EOB CFG[19:0] SIB Gianluca Tempesti SOB CREG SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 MuxTree: Function ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E NOUT FU M2 10 FF_OUT SB S INIT Q D FF_IN I F FU NOUT FF Q D1 D SEL 1M10 FCK EOB EIB M M0 1INPUT_SEL 0 M3 M4 01 234 567 01 234 567 01 WIN EOUT WOUT EIN SIB SOB Gianluca Tempesti RS[2:0] LS[2:0] 0 1 CREG SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 MuxTree: Connections NOB SB NIB NOB SOB NOUT EOB ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E WOB WOB NC[1:0]012 3 SC[1:0] 0123 EC[1:0] 0123 WC[1:0] 01 23 EIB SB WIB EOB FU NIB EIB NOUT SIB WIB WIN EOUT WOUT EIN CREG SIB Gianluca Tempesti SOB SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 MuxTree: Register ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E SB FU NOC GIC WIC S0 S1 Gianluca Tempesti NIC T H 1 1 1 1 1 1 1 11 1 00 0 00 0 00 0 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4CFG[19:0] 32 1 0 LS RS NC SC EC WC I S M S3CREG CREG SOC SIC Cours Systèmes et Programmation Génétiques EOC S2 13 Janvier 2003 Why does my system crash? ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Software bugs – Programming errors, communication errors Design errors – Bad design (e.g., Pentium bug), layout errors Fabrication defects – Process deficiencies, mask defects Lifetime faults – Radiation-induced faults, electron migration, age Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Fault Modeling E E Actual faults: – – – – ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN Shorts Opens Bridging Memory flips Fault models: – Stuck-at-1 – Stuck-at-0 Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Test at fabrication Test patterns Built-In Self-Test Test hardware Fault Detection ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E INPUT PATTERNS Test logic PROBES Fault OUTPUTS KNOWNOUTPUTS VALUES KNOWN Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Fault Tolerance ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E ACTIVE ACTIVE Triplication SPARE SPARE Reconfiguration Online self-repair Gianluca Tempesti RESET RECONFIGURE RECONFIGURE MAJORITY FUNCTION FAULT FAULT ACTIVE OUTPUT ACTIVE Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Function Self-Test NOB NIB NOUT ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E NOUT FAULT_DET WOB EIB SB WIB EOB FD NOUT COMP NOUT FF_IN FU NOUTFF_IN NOUT FU2 FU1 FF_OUT FF_OUT QFF FF Q FF Q D1 D D1 D FF DD2 SEL SEL SEL D3 D Q INPUT_SEL INPUT_SEL INPUT_SEL MAJ NOUT WIN WOUT EOUT EIN CREG SIB Gianluca Tempesti SOB SIN SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Connections Self-Test NOB NIB ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E NOUT FAULT_DET WOB EIB SB WIB EOB FD FU1 NOUT FF Q D1 D SEL WIN WOUT INPUT_SEL NOUT COMP NOUT FF_IN FF_IN FF_OUT FF_OUT FF D3 D Q NOUT FU2 QFF DD2 SEL INPUT_SEL EOUT EIN MAJ CFG[19:0] SIB Gianluca Tempesti SOB CREG SIN Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Register Self-Test 0 1 0 1 0 1 FF D1 SB Q 0 1 D Q 0 1 D FF D2 FF D3 D 0 1 Q 0 1 E E FD FU1 NOUT FF Q D1 D SEL MAJ 0 1 ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN INPUT_SEL COMP FF_OUT NOUT FF_OUT FF D3 D Q FU2 Q FF D D2 SEL INPUT_SEL MAJ FROM_FF 1 11111111111111111 11 00000000000000000000 0 1 TO_FF F_DET 0 1 CREG 0 Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Register Faults: Stuck-at-0 0 1 D FF D1 FF D2 0 1 D 0 1 D Q 0 1 Q 0 1 FF D3 Q ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 0 1 MAJ 0 1 0 1 1 1111111111 0 0 0000000 00000000000000000000 0 1 F_DET 0 0 1 Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Register Faults: Stuck-at-1 1 0 D FF D1 FF D2 1 0 D 1 0 D Q 1 0 Q 1 0 FF D3 Q ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 1 0 MAJ 1 0 1 0 1 1111111 11 111111111 00000000000000000000 0 F_DET 0 1 1 0 Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 Self-Repair Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN 0 0 1 1 0 0 X X CFG 2 CFG 5 CFG 8 SPARE 1 1 0 0 1 1 1 X X CFG 1 CFG 4 CFG 7 SPARE 0 0 1 1 0 0 X X CFG 0 CFG 3 CFG 6 SPARE Cours Systèmes et Programmation Génétiques E E 13 Janvier 2003 Reconfiguration ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN 0 0 1 1 0 0 X X 0 0 1 1 0 0 X X CFG 2 CFG 5 CFG 8 SPARE CFG 2 CFG 5 CFG 8 SPARE 1 1 0 1 1 1 X X 1 1 X X 0 0 1 1 CFG 1 CFG 4 CFG 7 SPARE CFG 1 DEAD CFG 4 CFG 7 0 0 1 1 0 0 X X 0 0 1 1 0 0 X X CFG 0 CFG 3 CFG 6 SPARE CFG 0 CFG 3 CFG 6 SPARE 0 1 0 1 0 1 0 1 0 0110110110 0011011011 0001101101 0000110110 0000011011 0000001101 0000000110 0000000011 0000000001 0000000000 Gianluca Tempesti E E 0 1 0 1 0 1 1001001001 1100100100 0110010010 1011001001 1101100100 0110110010 1011011001 1101101100 1011011011 1101101101 0110110110 Cours Systèmes et Programmation Génétiques 0000000000 1000000000 0100000000 0010000000 1001000000 0100100000 0010010000 1001001000 0100100100 0010010010 1001001001 13 Janvier 2003 Rerouting Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN 0 0 1 1 0 0 X X CFG 2 CFG 5 CFG 8 SPARE 1 1 X X 0 0 1 1 CFG 1 DEAD CFG 4 CFG 7 0 0 1 1 0 0 X X CFG 0 CFG 3 CFG 6 SPARE Cours Systèmes et Programmation Génétiques E E 13 Janvier 2003 The Spare Columns Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The New Membrane Builder ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E The spare columns should be contained within a block (cell). TIME = 000 TIME = 165 HORIZONTAL WALL WALL VERTICAL WALL JUNCTION JUNCTION SPARE COLUMN ITER=000 Gianluca Tempesti Cours Systèmes et Programmation Génétiques ITER=104 13 Janvier 2003 The Membrane in MuxTree X X CFG 2 X X CFG 5 X X SPARE X X CFG 2 X X CFG 5 X X SPARE X X CFG 1 X X CFG 4 X X SPARE X X CFG 1 X X CFG 4 X X SPARE X X CFG 0 X X CFG 3 X X SPARE X X CFG 0 X X CFG 3 X X SPARE CONFIGURATION BITSTREAM Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 1123 3 011230 1 3011230 230 0 01 23 12301123 1230 01 123 0 12301123 12301123 0112301123 0 123 01 12301123 123 0 01 0 01 00 1230 010 1230 0 1230 Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The KILL Signal Gianluca Tempesti ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN 0 0 CFG 6 X X SPARE X X 0 0 CFG DEAD 0 X X 1 1 CFG DEAD 3 X X 0 0 CFG DEAD 6 X X SPARE DEAD 0 0 CFG 0 1 1 CFG 3 0 0 CFG 8 X X SPARE X X 0 0 CFG DEAD 2 X X 1 1 CFG DEAD 5 X X 0 1 0 1 CFG DEAD 8 5 X X 0 0 SPARE CFG DEAD 8 0 0 CFG 2 1 1 CFG 5 1 1 CFG 7 X X SPARE X X 1 1 CFG DEAD 1 X X 0 0 CFG DEAD 4 X X 1 1 CFG DEAD 7 X X 1 1 SPARE CFG DEAD 7 1 1 CFG 1 0 0 CFG 4 0 0 CFG 6 X X SPARE X X 0 0 CFG DEAD 0 X X 1 0 1 0 CFG DEAD 3 0 X X 0 1 0 1 CFG DEAD 6 3 X X 0 0 SPARE CFG DEAD 6 0 0 CFG 0 1 1 CFG 3 0 0 CFG 8 X X SPARE X X 0 0 CFG DEAD 2 X X 1 1 CFG DEAD 5 X X 0 0 CFG DEAD 8 X X SPARE DEAD 0 0 CFG 2 1 1 CFG 5 Cours Systèmes et Programmation Génétiques E E 13 Janvier 2003 MuxTree and MicTree Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The BioWall Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 Conclusion Background Self-Replication Genome memory Self-Repair Conclusion ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Gianluca Tempesti Hierarchical Structure The BioWall and Beyond Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The 3 Layers 1,3 2,3 3,3 1,3 1,2 ORGANISM 2,2 3,2 1,1 2,1 1,3 2,3 2,3 ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN 3,3 1,3 1,2 ORGANISM 2,2 3,2 1,2 ORGANISM 2,2 3,2 3,1 1,1 2,1 3,1 1,1 2,1 3,1 3,3 1,3 2,3 3,3 1,3 2,3 3,3 1,2 ORGANISM 2,2 3,2 1,2 ORGANISM 2,2 3,2 1,2 ORGANISM 2,2 3,2 1,1 3,1 1,1 3,1 1,1 3,1 Gianluca Tempesti 2,1 2,1 Cours Systèmes et Programmation Génétiques 2,3 2,1 E E 3,3 13 Janvier 2003 The BioWall Gianluca Tempesti Cours Systèmes et Programmation Génétiques ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E 13 Janvier 2003 The Future of Embryonics (1) ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E • Self-directed replication M M + SR Uconst D(Uconst+M) M Gianluca Tempesti SR D(M) D(SR+M) Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The Future of Embryonics (2) ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E • Convergence of the POE axes Phylogeny (P) PO hardware PE hardware POE hardware Ontogeny (O) OE hardware Epigenesis (E) Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003 The End ÉCOLEPOLYTECHNIQU FÉDÉRALEDELAUSANN E E Background Self-Replication Self-Repair Conclusion Time for some questions... Gianluca Tempesti Cours Systèmes et Programmation Génétiques 13 Janvier 2003