Como se deu a transição da vida unicelular para a multicelular*?
Este é um dos tópicos mais importantes da moderna biologia evolutiva e, na realidade, insere-se em um domínio bem mais amplo que é o das grandes transições evolutivas. Este tópico também está intimamente relacionado com a evolução da cooperação entre organismos, como já havia comentado em uma resposta anterior. Como afirma Michod, alguns dos principais marcos na diversificação da vida e da evolução da organização hierárquica dos seres vivos são consequências de uma série de transições evolutivas: de genes para redes de genes para a primeira célula; de procariotas para células eucarióticas; de células para organismos multicelulares; de seres com reprodução assexuada para populações sexuadas; e de organismos solitários para os organismos sociais [1].
De uma maneira resumida, tais transições exigem a reorganização da aptidão. Isso quer dizer, a transferência da aptidão do antigo nível individual para o novo nível supraindividual, além da especialização das unidades de nível mais baixo em componentes da aptidão do novo indivíduo de nível superior. Compreender por que (pressões seletivas ambientais) e como (genética, estrutura populacional, fisiologia e desenvolvimento subjacente) as características básicas de um indivíduo evolutivo – i.e. como a hereditariedade da aptidão, a indivisibilidade e a evoluibilidade mudam a sua referência a partir do nível antigo para o novo nível – é um grande desafio [1].
Como abordei em vários artigos para o nosso blog (“Evolução da multicelularidade em laboratório”, “Evolução da multicelularidade em laboratório II”, “Evolução do ciclo reprodutivo multicelular: Lições da evolução experimental!” e a resposta “Multicelularidade com uma ajudinha das bactérias?”.), avanços têm sido alcançados através do estudo experimental da evolução da multicelularidade, onde são usadas espécies de algas da família dos Volvox, leveduras e outros eucariontes unicelulares [1, 2, 3].
Estas diversas linhas de investigação experimentais e comparativas, combinadas com uma compreensão cada vez melhor da dinâmica e evolução dos genomas (e dos componentes moleculares subjacentes a organização celular) nos sugerem que que muitas linhagens devem ter evoluído seguindo mais ou menos o mesmo padrão geral de séries de transformação:
unicelular → colonial → multicelular (→ multicelular complexo).
Existem três abordagens básicas para explicar como este processo de especialização celular aconteceu, que são, em muitos aspectos, complementares. A primeira envolve a evolução da cooperação (versus 'deserção'). Para cooperarem umas com as outras, as células muitas vezes especializam-se em determinados comportamentos e funções. Particularmente importantes para a evolução das grandes transições evolutivas são as formas onerosas de cooperação (em sentido técnico isso é chamado de 'altruísmo'), em que há custos para os indivíduos que adotam tais práticas. Essa abordagem implica que o altruísmo exporta a aptidão de um nível mais baixo (os custos de ser altruísta) para um nível mais elevado (os benefícios do altruísmo). Porém, uma vez que a cooperação evolui, abre-se a possibilidade de outra estratégia evolutiva, a 'deserção' (o 'egoísmo'), o que leva a um segundo tipo de hipótese para a evolução de células especializadas, a 'mediação de conflitos'. Caso as oportunidades de deserção puderem ser reguladas, aumentado a cooperatividade das células, isso resultará em funcionamento mais harmonioso do grupo como um todo [1, 2, 4, 5].
Neste perspectiva, muitas características dos organismos multicelulares podem ser encaradas como ''mediadoras de conflitos'', isto é, adaptações para reduzir conflito e aumentar a cooperação entre as células. Entre essas características destacam-se o alto nível de similaridade genética resultante do desenvolvimento a partir de uma única célula progenitora, taxa de mutação reduzida em virtude da compartimentalização em um núcleo, controle de células egoístas pelo sistema imunológico, controle parental de fenótipo celular, morte celular programada de células (que é modulada por sinais recebidos pelas células vizinhas), tamanho do corpo determinado e a separação precoce entre os tecidos somáticos (soma) e germinativos (germe). Para que estes mediadores de conflito funcionem são necessários diferentes tipos de células especializadas.
A terceira hipótese para a especialização envolve as vantagens da divisão do trabalho e da sinergia que pode originar-se quando as células se especializam em comportamentos e funções omplementares, sendo a divisão mais básica de trabalho nos organismos a entre funções reprodutivas e vegetativas (ou sobrevivência) [1, 2]. Entre as vantagens evolutivas que podem ser obtidas através da multicelularidade - que requer uma cooperação estrita entre as diversas células componentes e o 'sacrifício' de sua individualidade - estão a maior eficiência por causa da economia de escala e divisão de trabalho, a diminuição do risco de predação em virtude do tamanho, a possibilidade de maior complexidade comportamental e portanto maior versatilidade e maior espectro na exploração de modos de vida e constituição de nichos. Porém, este processo equivalente a 'tragédia dos comuns', fenômeno em que os indivíduos a curto prazo podem ter vantagens muito maiores não contribuindo com o sucesso coletivo e explorando os recursos comuns. Por isso para que a multicelularidade (e a cooperação, de modo mais geral) possa evoluir é preciso que os 'interesses' dos indivíduos sejam alinhados e - para o surgimento de seres realmente multicelulares – que estes interesses, eventualmente, sejam transferidos para a entidade mais ampla formada por eles, o que demanda uma série de condições específicas.
Recentemente, dois artigos de revisão [4, 5] ofereceram análises mais abrangentes deste fenômeno que merece serem discutidas e divulgadas. Os artigos são de autoria do biólogo evolutivo especializado em plantas Karl Niklas, da Universidade de Cornell, em NY, e do biólogo do desenvolvimento, Stuart A. Newman, NYMC, também em NY. Os dois pesquisadores investigam principalmente os mecanismos e processos físicos e químicos associados a formação de padrões e a evolução morfológica animal. Nestes artigos, Niklas e Newman exploram as forças motrizes por trás destes eventos como aquelas associadas às restrições físicas e químicas (como as vantagens inerentes à organização multicelular) e as prováveis etapas destas transições, bem como quais fatores ecológicos traduziram-se em pressões seletivas e portanto influenciaram na evolução dos organismos multicelulares. Eles mostram como várias das etapas intermediárias são comuns a muitos grupos, envolvendo mecanismos desenvolvimentais e, possivelmente, pressões seletivas equivalentes, mas não necessariamente sendo instanciadas pelos mesmos componentes físicos e vias bioquímicas, como parece ser o caso da multicelularidades em eucariontes clorofilados como as algas e plantas terrestres. Esta constatação faz bastante sentido já que a seleção natural opera a partir de características funcionais e não diretamente sobre seus mecanismos subjacentes, possibilitando que muitos mecanismos diferentes, em diferentes linhagens, produzam características funcionais equivalentes [4, 5].
Para compreendermos melhor este processo de transição, seus prováveis condicionantes e fatores impulsionadores Niklas e Newman propõem dividir a questão em cinco tópicos: (1) a caracterização dos organismos multicelulares em relação a adesividade intercelular e comunicação célula-célula e célula-ambiente; (2) a compreensão da transição fundamental da aptidão definida ao nível das células individuais para a aptidão definida ao nível de uma entidade verdadeiramente multicelular, ou seja, enfocando a mudança no nível da seleção natural e do 'alinhamento da aptidão' e 'exportação da aptidão'; (3) analisar a transição de organismos multicelulares simples para formas mais complexas de multicelularidade; (4) comparar os estados e polaridades das características entre as diferentes linhagens de algas, plantas, fungos e animais; e, por fim, (5) discutir como a evolução de organismos multicelulares foi instigada por 'módulos de padronização genéricos', cujas propriedade físicas teriam sido mobilizadas geneticamente por 'kits de ferramentas' moleculares [veja mais sobre o assunto em aqui, aqui, aqui e aqui] compartilhados ou exclusivos de cada grupo.
Em cada um dos casos conhecidos (especialmente tendo em vista a teoria da seleção multi-níveis) a multicelularidade em sentido mais restrito evolui por meio da aquisição das capacidades de adesão e comunicação célula-célula. Essas capacidades permitiram a cooperação entre as células e sua eventual especialização, o que demandou aquilo que Niklas chamou de 'alinhamento da aptidão' e a 'exportação da aptidão' como meios de eliminar os conflitos entre células e, assim, estabelecer um todo organizado e reprodutivamente integrado [4, 5]. Niklas enfatiza que:
“ … a seleção natural age normalmente em características funcionais ao invés de sobre os mecanismos que as geram ("Muitos caminhos levam a Roma") e que as homologias das sequência do genoma não, invariavelmente, traduzem-se em homologias morfológicas ("Roma não é mais o que era antes).” [5]
Portanto, a evolução independente da multicelularidade pode ser compreendida nesta simples premissa, ou seja, a de que a seleção atua sobre os fenótipos e, portanto, sobre quão bem certas combinações de características funcionam em conjunto:
“Em outras palavras, mesmo que as células adiram em conjunto, utilizando diferentes mecanismos, ou através de diferentes vias de desenvolvimento, se os resultados são agregações cooperativas de células que funcionam bem e, portanto, são capazes de sobreviver melhor e, criticamente, produzir mais descendentes do que suas contrapartidas unicelulares, então, estes vários caminhos evolutivos serão todos possíveis.” [5]
Como explica Niklas:
"O ponto crítico é que a evolução dos organismos multicelulares ocorreu múltiplas vezes e envolveu diferentes 'motivos' de desenvolvimento, como a química das "colas", que permitem que as células para ficar juntos." [5]
Isso fica claro ao analisarmos a questão da adesividade e comunicação célula-célula. No caso dos mecanismos de adesividade e comunicação célula-célula e célula-ambiente fica patente que existe grande variação molecular na forma como estes processos são levados à cabo em cada linhagem. Como explicam Niklas e Newman, a composição da lamela central das paredes celulares das plantas terrestres (as embriófitas), que as mantem juntas, que é dominada por Ca2+þ-rhamnogalacturonanica, é bem distinta quimicamente das proteínas caderinas transmembrana do tipo-1, responsáveis pela adesão de células animais, bem como das glicoproteínas produzidas por muitos fungos, que também funcionam como colas e que exercem funções adesivas similares [4, 5]. Outras características estruturais teciduais continuam a exemplificar esta situação, com é o caso das interconexões intercelulares encontradas na alga verde Volvox que, por sua vez, diferem significativamente dos plasmodesmas das embriófitas, das junções comunicantes das células dos vertebrados ou mesmo dos poros septais intercelulares observados nos fungos, que, mesmo assim, fornecem todos caminhos para a comunicação célula-célula [4, 5].
Estas constatações, por outro lado, levaram a sugestão de que, como a adesão e a comunicação célula-célula são requisitos básicos à evolução dos organismos multicelulares, seus elementos básicos já deviam ter estado presentes nos ancestrais unicelulares, mas não, necessariamente, manifestando as mesmas funcionalidades [4, 5]. De acordo com Rokas [6], comparações entre vários pares de espécies multicelulares aparentadas (que evoluíram independente de outras espécies multicelulares) e unicelulares sugerem que as transições para a multicelularidade estiveram tipicamente associadas ao aumento do número de genes envolvidos na adesão, comunicação e diferenciação celular. Uma análise mais aprofundada do registro de DNA sugere que estes aumentos na complexidade genica são o produto de inovação evolutiva, 'bricolagem' e da expansão do material genético (veja também os artigos “A origem de nova informação genética. Parte I” e “A origem de nova informação genética. Parte II”). Além disso, estes estudos, ao permitirem o vislumbre dos prováveis componentes funcionais destes 'kits de ferramentas' genéticos que teriam sido necessários paras a existência multicelular, ajudaram também a confirmar a suspeita de que muitos destes genes (ou pelo menos de genes homólogos) já estavam em linhagens unicelulares, uma vez que encontravam-se nos parentes unicelulares remanescentes destas linhagens, o que mostra que, muito provavelmente, já deveriam ter estado presentes nos ancestrais comuns de ambos os grupos [4, 5, 6].
A figura mostra as diversas origens de organismos multicelulares entre os principais grupos de eucariontes através de um diagrama filogenético não enraizado, além de bem simplificado e editado [].
Por meio do diagrama, podemos perceber que, embora algumas linhagens sejam inteiramente unicelulares ou multicelulares, a maioria contém uma mistura das duas formas de organização corporal, exibindo por exemplo espécies unicelulares e coloniais (por exemplo, coanoflagelados) ou uma mistura de organização unicelular, colonial e multicelular (por exemplo, ciliados e Estramenopilas). Um ponto muito interessante é que as chamadas linhagens precocemente divergentes persistentes (PED) são dominadas por espécies unicelulares (por exemplo, Prasinófitas do clado Chlorobionta), enquanto que as linhagens que divergem posteriormente exibem uma mistura de organizações coo das algas clorofíceas e carofíceas. Por fim, as linhagens cheias de espécies que divergiram tardiamente (LDP) tendem a ser exclusivamente multicelulares, como facilmente podemos perceber ao observar as plantas terrestres e os animais [4, 5].
Estes achados chamam a atenção para o fato de que, além dos requisitos mais básicos e óbvios que determinam a multicelularidade (a habilidade das células comunicarem e cooperarem entre si e especializarem em funções distintas umas das outras ou seja não fazendo todas exatamente a mesma coisa), as células não devem rejeitar umas as outras, competindo entre si. Elas devem cooperar "alinhando sua aptidão”, o que pode ser alcançado por meio da compatibilidade genética (como ocorre nos modelos de ‘seleção de parentesco’), mas que também pode ser atingido, muito mais eficazmente, quando isso se dá através da clonalidade. Isso, por sua vez, pode ser conseguido por um simples "gargalo genético”, ou seja, com todas células do agregado multicelular sendo derivadas da mesma célula mãe, o que pode ser obtido pela passagem obrigatória por um estágio unicelular (como ocorre com esporos, zigotos ou propágulos assexuados uninucleados) [1, 2, 4, 5]. Veja mais sobre isso no artigo de nosso blog “Evolução do ciclo reprodutivo multicelular: Lições da evolução experimental!”. Existem, portanto, aqui dois caminhos básicos para a multicelularidade:
O primeiro deles é o caminho por agregação, exemplificado por seres como o Dictiostelium cuja fase multicelular resulta na agregação de várias células individuais distintas (veja por exemplo aqui). O segundo, caracterizado pela não disjunção das células filhas após a divisão celular que é o caminho trilhado pela maioria dos grupos que consideraríamos multicelulares mais típicos, como os fungos, algas (incluindo as plantas terrestres e as algas mais próximas) e animais. A multicelularidade verdadeira depende está associada a este segundo tipo de caminho [1, 2, 4, 5].
Em um segundo estágio, como já mencionado, deve ocorrer a "exportação da aptidão" o que requer que as células trabalhem em conjunto, reproduzindo-se como unidades mais coesas, com os indivíduos atuando em concerto, aumentando a aptidão do todo, o que dá origem a um fenótipo coletivo bem distinto, ou seja, a um organismo multicelular completo.
Além disso, como já comentado anteriormente, muitos destes requisitos adaptativos não são exclusivos da evolução da multicelularidade, mas parecem inerentes a evolução da cooperação nos mais diversos níveis da organização biológica, como fica claro ao analisarmos trabalhos como os de Martin Nowak, os quais já foram abordados em nosso blog. [veja “As cinco regras básicas para a evolução da cooperação”] Esses trabalhos e ideias também podem nos ajudar a compreender quando esta cooperação é ameaçada, seja por causa de indivíduos trapaceiros ou de células renegadas, como as que produzem tumores e outros tipos de câncer.
Os teóricos da seleção multi-níveis encaram este processo como parte da evolução da 'individualidade', onde a aptidão passa a ser transferida para níveis mais amplos de organização o que é muito bem exemplificado pelas transições entre a uni e multicelularidade. Assim, através do alinhamento da aptidão e finalmente de sua exportação, emergem novos níveis de organização que acabam por produzir novas pressões seletivas, enfrentadas agora em um nível de organização mais ampla, ou seja, pelo organismo multicelular como um todo. Neste caso específico [D], portanto, parece claro que uma transição no nível de organização, e portanto dos alvos da seleção natural, parece ter realmente ocorrido**. Um exemplo bem completo de como todo este processo pode ocorrer é propiciado pela análise da evolução da multicelularidade nas algas volvicines, que já comentamos, pelo grupo de Richard Michod [1, 2].
Um desses organismos é alga verde multicelular Volvox carteri. Nela o altruísmo reprodutivo é assumido por cerca de 2000 pequenas células somáticas biflageladas, cujo principal papel é manter a viabilidade do organismo, enquanto a reprodução é desempenhada por até 16 células reprodutivas não flageladas. Os pesquisadores conseguiram determinar que a diferenciação terminal de células somáticas nestes algas depende da expressão de um proteína, codificada pelo gene regA, que exerce uma função regulatória, reprimindo a transcrição de outros genes que codificam proteínas do núcleo e dos cloroplastos, suprimindo o crescimento e reprodução das células somáticas. Como elas não podem mais dividir-se, elas não contribuem diretamente na formação da prole, mas contribuem para a sobrevivência e reprodução da colônia por meio do continuo batimento dos flagelos. Esse é basicamente a expressão de um fenótipo (comportamento) altruísta. O que acarreta que o gene regA, cuja expressão é necessária e suficiente para este comportamento, seja, portanto, um 'gene altruísta' [1, 2].
Em V. carteri, quais células expressam regA - e portanto quais diferenciam-se em células somáticas e quais não expressam e tornam-se células reprodutivas - é algo determinado já no início do desenvolvimento. Isso acontece por meio de uma série de divisões celulares assimétricas que garantem que células precursoras da linhagem germinativa permaneçam acima de um tamanho limite que está associado com a expressão de regA. Como esperaríamos, pela teoria da evolução da cooperação, esta característica altruísta é também suscetível a 'deserção'. Isso pode acontecer através do surgimento de mutantes egoístas, como é exemplificado pelo fato das mutações neste gene resultarem em células somáticas que recuperam suas capacidades reprodutivas e que tem por consequência levar a uma perda das suas capacidades flagelares. Porém, como a motilidade é importante para estas algas - uma vez que elas precisam manterem-se na coluna de água em uma posição ideal em relação à intensidade da luz solar -, a sobrevivência e a reprodução de V. carteri depende da atividade flagelar [1, 2].
Além disso, outros estudos mostram que o esforço reprodutivo aumenta com o tamanho da colônia e que, com o investimento no aumento da reprodução, ocorre um declínio da motilidade. As análises dos mutante regA indicam que estes declínios de força flagelar estão associados ao fato das células somáticas mutantes 'desdiferenciarem-se', começando também a se reproduzir. Além disso , durante o desenvolvimento, com o aumento do tamanho das células reprodutivas (apesar da motilidade não se alterar nas espécies de Volvox com menos células), ela pode diminuir consideravelmente nas espécies maiores. Este fato seria devido ao aumento do comprimento dos flagelos, pois como as células aumentam de tamanho, as espécies menores conseguiriam manter sua motilidade, a medida que aumentassem de tamanho durante o desenvolvimento, o que não ocorreria com as as algas maiores, formadas de mais células [1].
Então, seria isso que faz com que a curva, que mostra a relação entre os componentes da aptidão representados pela reprodução e pela sobrevivência, torne-se cada vez mais convexa com o aumento dos tamanhos - o que favorece que as células de grupos maiores tornem-se altruístas reprodutivas. No caso das algas volvocine, as células somáticas beneficiam o grupo tanto pelo reforço a motilidade como pelo aumento de capacidade de mistura do meio circundante, o que permite o transporte mais eficiente de nutrientes e resíduos do que aquele que seria possível por simples difusão [1].
Mas como chegamos a esta situação? Ou seja, como um gene altruísta como regA originou-se?
A resposta está em outro organismo, parente de V. cartieri, a alga unicelular, Chlamydomonas reinhardtii. O ciclo de vida desta alga, plausivelmente, deve ser ser semelhante ao do ancestral comum que ela alga compartilha com V. cartieri. Este ciclo envolve uma fase vegetativa flagelada e móvel. Nesta fase a célula pode crescer em tamanho. Ela é seguida por uma fase na qual o flagelo é absorvido, logo depois acontecendo a divisão celular, que produz duas células filhas. Em C. reinhardtii o gene equivalente a regA pertence a uma família multigênica que compartilha um domínio SAND. Este domínio permite a ligação da proteína codificada pelo gene ao DNA, indicando que este gene, portanto, está envolvido na regulação da transcrição gênica. A ideia portanto é que os genes que controlam características importantes do ciclo vital em C. Reinhardtii (como os diferentes estágios, alocando esforços diferencialmente para reprodução e sobrevivência, dependendo das condições ambientais) possam tornar-se altruístas no contexto de um grupo de células, bastando para isso que eles fossem constitutivamente ligados em algumas células (ou seja, se eles não fossem ativos somente em certas ocasiões) e se as funções vegetativas que eles controlam também beneficiassem o grupo como um todo. E foi exatamente isso que Nedelcu e Michod [citados em 1 e 7] mostram.
O altruísmo reprodutivo na alga multicelular V. carteri evoluiu através da cooptação de um gene de controle do ciclo de vida. A expressão desse gene originalmente, como em C. Reinhardti, no ancestral unicelular de ambas as algas, estava condicionada a pistas ambientais que favoreciam uma estratégia adaptativa que aumentava as chances de sobrevivência imediatas, a um custo temporário da reprodução. Porém, ao mudar seu padrão de expressão temporal (originalmente induzido ambientalmente) para um padrão constitutivo, em um dado contexto espacial, este gene teria passado a codificar um fenótipo altruísta [1, 2].
No gráfico à esquerda [retirado de 1], podemos ver os compromissos (trade offs) entre a viabilidade (v) representada no eixo y e a reprodução (b), no eixo x. Em A podemos perceber que curva muda de côncava para uma curva convexa conforme aumenta o tamanho do grupo.
No esquema abaixo [retirado de 1] podemos ver a mudança no padrão de expressão de um gene de controle do ciclo de temporal para espacial. A expressão do gene é indicada pelas setas espessas, enquanto o efeito sobre a aptidão quando o gene está ligado é mostrado em verde e, o efeito sobre a aptidão quando o gene está desligado, em vermelho. (A) Em um indivíduo unicelular, o gene é expresso em resposta a uma pista ambiental em um contexto temporal, tendo o efeito de aumentar sua sobrevivência, enquanto diminui o investimento em reprodução. (B) O mesmo gene é expresso num contexto espacial dentro de um indivíduo multicelular em resposta a um sinal do desenvolvimento, fazendo que várias células de algumas regiões assumam o fenótipo altruísta. As células em que o gene é expresso aumentam o investimento na sobrevivência e diminuem o esforço na reprodução [1].
Como podemos perceber, mesmo não tendo ainda uma compreensão mais aprofundada sobre a evolução da multicelularidade e das grandes transições, temos progredido bastante no entendimento desta questão e muitas linhas de investigação empíricas e teóricas têm nos ajudado a avançar nesta assunto.
-----------------------------------------------
*Direto do tumblr "Pergunte ao Evolucionismo"
**Embora nada impeça que este processo seja modelado pelas ferramentas analíticas da seleção de parentesco e da aptidão inclusiva. Veja a discussão de Samir Okasha sobre o assunto, especialmente seu tratamento do modelo de Michod [8].
-------------------------------
Literatura Recomendada:
Michod, R.E. 2007. Evolution of individuality during the transition from unicellular to multicellular life. PNAS, USA. 104: 8613-8618. (PDF)
Michod, R. E. and Roze, D. 1999. Cooperation and conflict in the evolution of individuality. III. Transitions in the unit of fitness. Pages 47-91 in Mathematical and Computational Biology: Computational Morphogenesis, Hierarchical Complexity, and Digital Evolution, edited by C.L. Nehaniv. Lectures on Mathematics in the Life Sciences, vol. 26. American Mathematical Society. (PDF)
Miller, S. M. Volvox, Chlamydomonas, and the Evolution of Multicellularity. Nature Education 3(9):65, 2010.
Niklas KJ, Newman SA. The origins of multicellular organisms. Evol Dev. Jan;15(1):41-52, 2-013. doi: 10.1111/ede.12013.
Niklas, Karl J.. The evolutionary-developmental origins of multicellularity. American Journal of Botany 101(1):6-25, 2014. doi:10.3732/ajb.1300314
Rokas A. The molecular origins of multicellular transitions. Curr Opin Genet Dev. Dec;18(6):472-8, 2008. doi: 10.1016/j.gde.2008.09.004.
Michod RE, Nedelcu AM. On the reorganization of fitness during evolutionary transitions in individuality. Integr Comp Biol. 2003 Feb;43(1):64-73. doi:10.1093/icb/43.1.64.
Okasha, S. ‘Multi-level Selection and the Major Transitions in Evolution’, Philosophy of Science 72, 1013-1028, 2005.
King N. The unicellular ancestry of animal development. Dev Cell. Sep;7(3):313-25, 2004. DOI:http://dx.doi.org/10.1016/j.devcel.2004.08.010