Morfogeneesi

Piia Aalto
Tietojenkäsittelytieteen laitos
Helsingin yliopisto
Piia.Aalto@helsinki.fi

Abstract

Paragrahp of abstract text here.


SISÄLLYS

1. Johdanto
2. Biologista taustaa
3. Solujen erilaistuminen
3.1 Erilaistumisprosessi
3.2 Soluyhteisön tasapainoisuus
3.3 Soluryhmittymien erilaistuminen
3.4 Päätelmiä
4. Monisoluisuus keinoelämässä
4.1 Tierra
4.1.1 Monisoluisuus Tierrassa
4.1.2 Ongelmia ja lisäominaisuuksia
4.2 Evoluutio ja monisoluisuus
4.3 Esimerkki solun genotyypistä
4.4 Johtopäätöksiä ja tulevaisuudennäkymiä
5. Yhteenveto
Lähteet

1. Johdanto

Solujen erilaistuminen on yleinen ilmiö monisoluisen organismin kehityksessä. Vaikka soluilla onkin samanlaiset perimät, silti ne erikoistuvat erilaisiin tehtäviin monisoluisen organismin kehittyessä. Biologinen solun kehittyminen riippuu paitsi solun omasta geneettisestä ohjauksesta myvs ympäristötekijöistä: naapurisolujen ja soluväliaineen tilasta ja viesteistä [NiKoVi90]. Mitä vähemmän erilaistunut solu on, sitä pystyvämpi se on jakautumaan. Monisoluiset organismit kykenevät erikoistuneiden solujensa ja elintensä avulla tehokkaasti mukautumaan ympäristöönsä, vieläpä muokkaamaan olosuhteita itselleen edullisemmiksi.

Kolmannessa kappaleessa käsitellään abstraktia mallia solujen erilaistumisesta, missä solut ovat vuorovaikutuksessa keskenään ympäristön kautta [FuKa97]. Vaikka Furusawan ja Kanekon malliin ei löydy luonnosta täysin vastaavaa biokemiallista tapahtumaa, antaa se kuitenkin oikeansuuntaisen kuvan biologisesta ilmiöstä.

Neljännessä kappaleessa kuvataan Thearlingin ja Rayn suorittamia kokeita, joissa käsitellään monisoluisten, digitaalisten organismien evoluutiota keinoelämässä [ThRa94]. Rinnakkaiset ohjelmat virtuaalisen tietokoneen jaetussa muistissa kuvastavat yksittäisiä organismeja.

2. Biologista taustaa

Morfogeneesilld tarkoitetaan yksilön-, alkion- tai nuoruudenkehitystä [Aik92]. Olion kehityksessä on kaksi perustapahtumaa, solujen kasvu ja niiden keskinäinen tehtävien jako eli erilaistuminen [NiKoVi90]. Kasvu voi perustua yksittäisten solujen suurenemiseen tai solujen lukumäärän lisääntymiseen. Erilaistuminen tarkoittaa solun muuttumista erilaiseksi kuin kanta- eli emosolu. Erilaistumiseen vaikuttaa solujen keskinäinen vuorovaikutus eli aineiden kulku solusta soluun solukalvon ldpi. Solukalvon läpäisykykyä ohjaavat ennen muuta ulkoisen ja sisäisen nesteen konsentraatioerot [NiKoVi90]. Aineet pyrkivät siirtymään väkevämmästä liuoksesta laimeampaan (diffuusio). Ulkoiset konsentraatioerot aiheuttavat puolestaan osmoosin, joka on diffuusio puoliläpäisevän kalvon läpi.

3. Solujen erilaistuminen

Furusawa ja Kaneko ovat tutkineet solujen erilaistumista [FuKa97]. He ovat keskittyneet tutkimaan lähinnä erilaistumiseen liittyviä hierarkisia sääntvjä, erilaistumisen vaikutusta soluyhteisvn tasapainoisuuteen ja soluryhmittymien välisiä eroavuuksia. Heidän mallinsa sisältää solujen sisäiset biokemialliset reaktiot, solujen välisen vuorovaikutuksen ja solujen jakautumisen.

Solujen sisäiset reaktiot kuvataan tietynlaisena matriisiverkkona, johon vaikuttaa 16 erilaista kemikaalia. Matriisista voidaan päätellä solun reaktio, kun tietyt kemikaalit ovat yhteydessä keskenään. Reaktioiden ehtona on katalyytin olemassaolo. Tiettyjen kemikaalien reaktion tulos voi toimia myvs toisen reaktion entsyyminä.

Solut kommunikoivat ympäristön kanssa kuljettamalla kemikaaleja sisään ja ulos. Kemikaalien siirtyminen solusta toiseen riippuu diffuusiosta eli soluseinän ulko- ja sisäpuolisen nesteen väkevyyseroista. Furusawa ja Kaneko jakavat kemikaalit kahteen osaan, toiset pystyvät läpäisemään solukalvon ja toiset eivät. Läpäisykykyisten kemikaalien virtaamisnopeus määräytyy matemaattisesta kaavasta, jossa otetaan huomioon soluyhteisvn solujen kokonaismäärä, solun kasvuvauhti ja diffuusiovakio.

Solut "imevät" läpäisykykyisiä kemikaaleja ympäristöstä. Reagoidessaan solun sisällä muiden kemikaalien kanssa niistd syntyy läpäisykyvyttömiä kemikaaleja, esimerkiksi solukalvoa tai DNA:ta. Solu jakautuu kahtia, kun sen koko on kaksinkertaistunut. Jakaantuneen solun tyttäret ovat kemialliselta rakenteeltaan melkein identtiset, mutta pieniä eroja voi esiintyä.

3.1 Erilaistumisprosessi

Diffuusion avulla soluun tulee uusia kemikaaleja, mikä aiheuttaa solun kasvun. Solun koon kaksinkertaistuttua jakautuu se kahdeksi melkein samanlaiseksi soluksi. Tytärsolujen samanlaisuus äitisolun kanssa johtaa ajan kuluessa jälleen solujen jakautumiseen. Solujen määrän kasvaessa jotkut solut alkavat käyttäytyä erilailla kuin alkuperäinen solu (tyyppi 0). Furusawan ja Kanekon kokeessa syntyi uusi solutyyppi, kun solujen kokonaismäärä kasvoi kuuteentoista.. He kutsuivat näitä soluja 1-tyypeiksi. Kun solujen määrä edelleen kasvoi, syntyi tyyppiä 2 olevia soluja. Tyyppiä 0 olevalla solulla oli mahdollisuus erikoistua tyyppiä 1 tai 2 olevaksi soluksi, tai pysyä samantyyppisenä. Tyyppiä 1 ja 2 olevat solut puolestaan eivät voi enää muuttua takaisin tyypiksi 0.

Joissakin Furusawan ja Kanekon suorittamissa kokeissa erilaistumisprosessi pysähtyi edellä kuvattuun tilanteeseen (solut tyyppiä 0, 1 tai 2), mutta useimmissa tapauksissa erilaistumisprosessi kuitenkin jatkui. Tällöin tapahtui siis hierarkista erikoistumista. 1-tyypin solut voivat edelleen erilaistua joko 3-, 4- tai 5-tyypin soluiksi. Solutyyppien 3, 4 ja 5 esiintyminen riippuu alkuperäisen solun kemiallisesta koostumuksesta.

Kuva 1. Sääntökaavio(Tässä pitäisi siis olla kuva)

Furusawan ja Kanekon kokeissa solun erilaistuminen toisen tyyppiseksi soluksi riippui tietyistä säännöistä. Näitä sääntöjä esittää kuvan 1 tila-automaattimainen kaavio. Tyyppi 5 on muista tyypeistä poikkeava, sillä tyyppiä 5 olevan solun esiintyminen soluyhteisössä aiheutti lopulta kaikkien soluyhteisön solujen erilaistumisen tyypiksi 5.

Tyyppimuunnos ei tapahtunut samaan aikaan solun jakautumisen kanssa, vaan tytärsolu pystyi muuttumaan toisentyyppiseksi soluksi vasta päästessään ympäristön vaikutuksen alaiseksi. Tytärsolujen pienet eroavuudet kasvoivat suuriksi eroiksi koko järjestelmässä vallitsevan epävakaisuuden ansiosta. Eri tyyppisten solujen olemassaolo puolestaan tasapainotti järjestelmää.

3.2 Soluyhteisön tasapainoisuus

Kuvassa 1 esiintyvät säännöt olivat olemassa ilman niiden varsinaista määritystä. Vaikka tietyillä soluilla oli mahdollisuus erilaistua useaksi erityyppiseksi soluksi, ei valintaa oltu formaalisti määritelty, mutta se ei myöskään ollut satunnainen. Valinta riippui soluyhteisön solutyyppien jakaumasta. Jos esimerkiksi solutyypin 1 esiintymiä poistetaan soluyhteisöstä, alkavat 0-tyypin solut erikoistua 1-tyypin soluiksi, kunnes tasapaino jälleen saavutetaan. On siis olemassa korkeamman tason dynamiikkaa, joka kontrolloi solujen jakautumista ja erilaistumista riippuen eri tyyppisten solujen lukumäärien suhteesta.

3.3 Soluryhmittymien erilaistuminen

Kuvassa 1 esiintyy 6 erityyppistä solua. Tämä ei kuitenkaan tarkoita sitä, että nämä solut esiintyisivät yhtä aikaa samassa soluyhteisössä. Soluyhteisöt koostuvat ainoastaan kahdesta tai kolmesta eri tyyppisestä solusta: esimerkiksi soluyhteisö voi sisältää soluja, joiden tyyppi on 0, 1 ja 2 tai 0, 2 ja 4. Yhdestä alkusolusta voi siis jakautumisien ja erikoistumisien kautta syntyä useanlaisia soluyhteisöjä. Vaikka kahdessa eri soluyhteisössä esiintyisi täsmälleen samantyyppisiä soluja, niiden jakaumat voivat silti olla erilaiset. Tämä johtuu solujen keskinäisistä sijainneista suhteessa toisiinsa.

3.4 Päätelmiä

Furusawan ja Kanekon kokeet osoittivat, että solujen erilaistumiseen vaikuttavat sekä solun sisdinen dynamiikka että solujen välinen vuorovaikutus keskenään. Solujen erilaistumisprosessi seurasi hierarkisia sääntöjä, ilman että näitä sääntöjä erikseen määriteltiin. Tämä johti soluyhteisön tasapainoisuuteen ja erilaisuuteen.

4. Monisoluisuus keinoelämässä

Yksi suurimmista haasteista keinoelämän alueella on monisoluisten olioiden esittäminen. Thearlingin ja Rayn kehittämä malli perustuu Tierra-järjestelmään, jossa yksilöt ovat itseään kopioivia konekielisiä ohjelmia [ThRa94]. Monisoluiset digitaaliset organismit ovat puolestaan rinnakkaisia prosesseja. On olemassa kolme asiaa, jotka täytyy ottaa huomioon siirrettdessä orgaaninen monisoluisuus digitaaliseen maailmaan: monisoluiset organismit ovat peräisin yksisoluisesta jakautuneesta yksilöstä, jokaisella monisoluisen solulla on sama perimä sekä jokaisella solulla on mahdollisuus erilaistua.

Monisoluisuus digitaalisessa maailmassa tarkoittaa sitä, että ohjelma muodostaa genotyypin ja prosessori vastaa solua. Jokaisella digitaalisella solulla on siis oma muistialueensa, jossa sijaitsee solun kopio ohjelmasta (=genotyyppi). Jos käytetään jaettua muistia, on genotyypin kopioiminen jokaiselle solulle muistin ja prosessointiajan tuhlausta. Siksi onkin käytetty yhtä muistialuetta useammalle prosessorille. Monisoluisuus voi kehittyä yhdestä solusta solun jakautumisten avulla. Alkuperäinen solu (prosessori) suorittaa käskyn, joka luo toisen solun (rinnakkainen prosessori). Erilaistumista tapahtuu silloin, kun eri prosessorit suorittavat eri osaa jaetusta ohjelmasta.

4.1 Tierra

Tierra on virtuaalinen tietokone, joka on suunniteltu sietämään geneettisiä mutaatioita ja uudelleenyhdistymistä. Tämä tarkoittaa sitä, että konekieliset ohjelmat ovat elinkelpoisia myös bittimuunnosten ja jaksojen vaihdosten jälkeen.

Ohjelmia kutsutaan "olioiksi" tai "organismeiksi", ja niiden käyttämää äärellistä määrää muistia "liemeksi" (soup). Virtuaalikoneen käyttöjärjestelmä tarjoaa "jakaja"-palvelua jakamaan prosessointiaikaa kasvavalle yhteisölle. Kun oliot täyttävät muistialueen, käyttöjärjestelmä kutsuu "leikkaaja"-palvelua, joka tappaa joitakin olioita niin, että muistialueelle jää vapaata tilaa vastasyntyneille olioille. Käyttöjärjestelmä luo myös virheitä, jotka vastaavat mutaatioita. Itseään kopioivat ohjelmat (oliot), joita suoritetaan virtuaalisessa tietokoneessa (Tierra) yhdessä käyttöjärjestelmän luomien virheiden (mutaatiot) kanssa vastaavat Darwinin evoluutioteoriaa luonnon valinnasta.

4.1.1 Monisoluisuus Tierrassa

Monisoluisuuden lisääminen Tierraan vaati kahden uuden konekäskyn lisäämisen. Ensimmäinen konekäsky mahdollisti uuden prosessorin luomisen samalle oliolle (split). Oliolle annetaan tällöin uusi aikaviipale, jolloin jokaisella olion prosessorilla on oma aikaviipaleensa. Tämän jälkeen uudelle prosessorille kopioidaan rekisterit, pino ja käskynosoitin alkuperäisesta prosessorista. Prosessorien tunnistettavuuden vuoksi jokaisen prosessorin DX-rekisteriä (sisältää muistiosoitteen) muutetaan tekemällä bittisiirto vasemmalle ja uuden prosessorin vastaavaa arvoa kasvatetaan yhdellä.

Toinen lisätty konekäsky oli nimeltään join. Kun tietty prosessori oliossa on päässyt join-käskyn suorittamiskohtaan, jää se odottamaan muiden prosessoreiden pääsyä samaan kohtaan. Tällöin kaikkien paitsi alkuperäisen solun (prosessori) toiminta lakkautetaan. Konekäsky luotiin välttämään Tierrassa esiintyvää rajoitusta, joka sallii vain yhden solun jakautumisen oliossa.

4.1.2 Ongelmia ja lisäominaisuuksia

Ongelmaksi muodostui rekisterien tietojen muuttaminen. Itse asiassa ei ollut keinoa suoraan käsitellä DX-rekisterin sisältöä, vaan oli käytettävä pino- operaatioita. Tämä aiheutti tehottomuutta rinnakkaisten prosessorien tunnistamiseen liittyvissä toiminnoissa.

Monisoluinen organismi on paljon monimutkaisempi kuin yksisoluinen organismi, joten käskyjoukkoa jouduttiin muutaman kokeen jälkeen vielä laajentamaan. Lisätyt käskyt yksinkertaistivat monisoluisen organismin rakennetta. Ensimmäinen käsky (zeroD) nollasi DX-rekisterin sisällön. Toinen käsky (shr) puolestaan teki CX-rekisterille bittisiirron oikealle. Koska CX- rekisteri tyypillisesti sisälsi olion koon, jakoi shr-operaatio tehokkaasti olion koon kahdella. Kaksi muuta käskyä perustuivat yleiseen hajautettujen, rinnakkaisten prosessien tekniikkaan. Käskyt suorittavat operaation, joka kertoi koon (joka tavallisesti ensin on jaettu prosessorien määrällä) prosessorin osoitteella. Tämä arvo on vastine, joka jakaa muistin tasaisesti rinnakkaisten prosessorien kesken. Kun tämä arvo lisätään perusosoitteeseen, saadaan selville jokaisen rinnakkaisen prosessin yksilökohtainen aloituskohta. Käskystä luotiin kaksi versiota: offAACD ja offBBCD.

4.2 Evoluutio ja monisoluisuus

Lisättyjen käskyjen jälkeen Thearling ja Ray loivat jälleen uuden esi-isän. Solulla oli käytettävänään 52 erilaista käskyä, ja kopiointioperaatio oli jaettu kahdelle rinnakkaiselle prosessorille. Koko esi-isän kehitys tulisi siis olemaan evoluution ansiota. Monisoluinen esi-isä oli paljon tehokkaampi tuottaja kuin yksisoluinen serkkunsa. Monisoluinen esi-isä tuotti melkein kaksi kertaa enemmän jälkeläisiä kuin vastaava yksisoluinen. Tästä väistämättä seurasi monisoluisten vallitsevuus yhteisössä.

Kokeet tehtiin rinnakkaisella supertietokoneella, jotta voitaisiin tarkastella suurempaa ja nopeampaa evoluution simulaatiota. 200 miljoonan konekäskyn jälkeen huomattiin asteittaista lisääntymisen nopeutumista. Tämä johtui siitä, että prosessorien lukumäärä organismeissa kasvoi hiljalleen kahdesta neljään. Lisäksi dominoivien organismien koko kasvoi alkuperäisestä 44:stä 52:een. 44:n kokoisissa organismeissa oli vain kaksi solua (prosessoria), kun taas 52:n kokoisissa niitä oli neljä. Yksi huomattava ominaisuus oli, että koon pienentäminen tapahtui kahden prosessorin tapauksessa poistamalla kaksi käskyä, ja neljän prosessorin tapauksessa poistamalla neljä käskyä. Työtaakka jaetaan siis tasan eri prosessorien kesken, eikä siten voida käsitellä tilannetta, jossa käskyjen määrä ei ole jaollinen prosessorien määrällä.

Ensimmäisten neljän prosessorin olioiden ilmestyttyä, 15 käskyä 52:sta eivät olleet enää merkitseviä. Ne olivat eräänlaisia introneita, jotka olivat jäänteitä kuolleista esi-isistä. Samanlaisia introneita voidaan myvs löytää ihmisistä, esimerkkinä tästä häntäluu. Evoluution vaikutuksesta neljän prosessorin olioiden pituus väheni ensin 48:aan (268 miljoonaa kellosykliä), sitten 44:ään (346 miljoonaa kellosykliä) ja lopulta 40:een (biljoona kellosykliä). Jokaisessa näissä kehityksen vaiheissa evoluutio poisti joitakin introneita pituuden kuitenkin aina ollessa jaollinen neljällä. Evoluutio toisin sanoen optimoi perusalgoritmin.

4.3 Esimerkki solun genotyypistä

Nop0 ; beginning template

adrb ; find beginning + template size

nop1 ;

subAC ; sub template size from beginning

movAB ; put beginning in BX

adrf ; find end

nop0 ;

nop0 ;

subCAB ; calculate size

mal ; allocate space for daughter

incC ; intron (since CX no longer used)

split ; 2 CPUs

ifz ; intron (since CX cant be zero

movCD ; intron (since ifz not true)

shr ; size = size / 2

offAACD ; split genome into 2 halves &

offBBCD ; adjust AX and BX accordingly

zeroD ; zero out DX before second split

pushB ; save beginning on stack

shr ; size = size / 2

split ; 4 CPUs

offAACD ; re-partition genome into 4 and

offBBCD ; adjust AX and BX accordingly

nop1 ; copy loop starts here

nop0 ;

movii ; copy instr from mother to daughter

decC ; decrement number of instr to copy

ifz ; if number of instr to copy == 0

jmp ; jump back to just before join

nop0 ;

nop1 ;

join ; join up multiple CPUs

divide ; divide mother and daughter

ret ; return to beginning of creature

nop1 ; ending template

nop1 ; ending template

Kuva 2. Olion 0040aba genotyyppi

Kuvassa 2 näkyy olion 0040aba genotyyppi. Kyseinen nelisoluinen olio, jonka koko oli 40 kehittyi kahden solun esi-isästä, jonka koko oli 80. Käskyjoukossa on vielä kolme intronia jäljellä, mutta näiden poistaminen on mahdotonta, sillä käskyjen määrä ei silloin enää olisi jaollinen neljällä. Aluksi tämä olio tutkii itsensä saadakseen selville alku- ja loppupäänsä muistissa. Alku- ja loppupäästä olio päättelee kokonsa. Tämän jälkeen olio varaa tilaa tyttärelleen ja jakaantuu kahtia. Koko jaetaan kahdella ennen muistialueen jakamista kahden solun kesken. Rinnakkaiset prosessorit tekevät yhteistyötä kopioidessaan tytärsolulle genotyypin. Toinen prosessori kopioi ensimmäisen puolikkaan ja toinen prosessori toisen puolikkaan koodista. Ennen seuraavaa jakautumista olio nollaa DX-rekisterin. Juuri ennen toista jakaantumista olio laittaa BX-rekisterin sisällön pinoon. Rekisterin sisältöä tullaan tarvitsemaan monistamisprosessin jälkeen.

Toisen jakaantumisen jälkeen koko jaetaan jälleen kahtia, mikä aiheuttaa alkuperäisen koon pienenemisen neljännekseen. Edellisellä kerralla prosessorit jakoivat genotyypin puoliksi, kun nyt taas jokaiselle prosessorille jää vain neljäsosa koodista. Genotyypin kopiointi tapahtuu jokaisen prosessorin suorittaessa kopiointisilmukkaa, joka päättyy join-käskyyn. Divide-käsky aiheuttaa sen, että äitisolu menettää oikeutensa kirjoittaa tyttären muistiin. Tällöin tytär saa myös käskynosoittimen pinosta. Kun aloitusosoite (BX- rekisterin sisältö) otetaan pois pinosta, ryhtyy olio jälleen suorittamaan koodia alusta.

4.4 Johtopäätöksiä ja tulevaisuudennäkymiä

Ensimmäinen kokeilu evoluutiosta ja rinnakkaisista prosesseista tuotti hedelmällisiä tuloksia. Evoluutio on Thearlingin ja Rayn kokeissa kasvattanut spontaanisti rinnakkaisuutta ja tehokkaasti jakanut toiminnan prosessorien kesken. Solujen erilaistuminen on kuitenkin tapahtunut erilaisten tietojen käsittelyn kautta, eikä erilaisen koodin suorituksen kautta. Tulevaisuudessa toivotaankin digitaalisten organismien pystyvän kehittämään menetelmiä sekä erilaisen tiedon käsittelyyn että eri koodin suoritukseen.

Lähitulevaisuudessa on tarkoituksena luoda laaja, moninainen alue globaaliin verkkoon digitaalisille organismeille. Kokeeseen osallistuvat solmut suorittavat Tierraa taustaprosessina luoden virtuaalisen aliverkon olemassaolevaan verkkoon. Digitaaliset organismit ovat vapaita liikkumaan ympäri virtuaalista verkkoa. Energian saanti (prosessointiaika) vaikuttaa organismien toimintaan. Organismeille kehittyy kyky ennakoida energian saatavuus ja navigoida pitkin verkkoa dynaamisesti vaihtuvan topologian vaikutuksesta.

5. Yhteenveto

Alkionkehitys on monimutkainen prosessi, jossa solu toimii geneettisen kontrollin ohjaamana. Solut ovat vuorovaikutuksessa keskenään kemiallisten, automaattisten ja sähköisten mekanismien kautta. Furusawa ja Kaneko ovat tutkineet abstraktia mallia solujen erilaistumisesta. He havaitsivat, että solujen erilaistuminen perustuu dynaamiseen epätasapainoisuuteen, toisinsanoen tytärsolujen hiuksenhienoon eroavuuteen, sekä ympäristön vaikutukseen. Erilaistuminen seuraa tiettyjä hierarkisia sääntöjä, joita ei etukäteen tarvitse määritellä. Dynaamisesta epätasapainoisuuäesta ja hierarkisista säännöistä seuraa soluyhteisvn tasapainoisuus. Thearling ja Ray puolestaan ovat kokeilleet evoluution sovittamista digitaaliseen monisoluiseen organismiin. Heidän kokeissaan evoluutio on lisännyt monisoluisuusastetta, ja samalla soluille on tehokkaasti jakautunut omat tehtävät. Thearling ja Ray ovat suunnitelleet haastavampaa ongelmaa evoluutiokysymykseen: miten evoluutio vaikuttaa moninaisiin, globaaliin verkkoon sijoittuviin digitaalisiin organismeihin.

Lähteet

[Aik92] Annukka Aikio, Uusi sivistyssanakirja, Otava, 11. painos, 1992

[FuKa97] Chikara Furusawa, Kunihiko Kaneko, Emergence of Differentiation Rules leading to Hierarchy and Diversity, European Conference on Artificial Life 1997, 172-181

[NiKoVi90] Mikko Niemi, L. Kalevi Korhonen, Ismo Virtanen, Solu- ja molekyylibiologia, Weilin+Gvvs, 2. painos, Tampere, 1990

[ThRa94] Kurt Thearling, Thomas S. Ray, Evolving Multi-cellular Artificial Life, 1994 Artificial Life IV, Proceedings of the Fourth International Workshop on the Synthesis and Simulations of Living Systems, 283-288