Biology's next revolution == AOP


Below is a submission I have sent to Nature magazine in response to a great essay detailing how "Horizontal Gene Transfer", as opposed to mendelian inheritance of genes, is emerging as an important pattern of software evolution in Nature. Basically, biologists are indeed finding that AOP like strategies for software maintenance and evolution are present in nature. I am writing this as a "software practitioner" to help nudge them along what seems like the right path to investigate. Biologists are increasingly talking about "middleware" of nature, the components that seem cross-cutting across the domains of life. Did you know we share 90% of genetic code with mice? Is that that surprising to middleware developers?

I will also put a podcast soon with a talk on that topic.

Dear Sir,

I read with great interest your recent essay on "Biology's next revolution" (Nature vol 445, p 369, 25 January 2007). The emerging pattern you are observing, Horizontal Gene Transfer (HGT), is similar to a pattern known in software programming circles as "Aspect Oriented Programming" (AOP).

Conventional software development uses "Object Oriented Programming" (OOP, java, C#). OOP software objects inherit behavior from their parent objects, much like traits are passed on in mendelian inheritance.


In practice, however, OOP has shown to be brittle and cumbersome for large software programs. Maintaining and evolving large complex systems has become a problem in and on itself. Tangled code made the evolution of individual functions complicated if not impossible without complete retooling of the applications.


Enter AOP. In AOP large complex systems are broken down into smaller independent modules, some of them reusable across the object hierarchy. Those that are "cross cutting" are called aspects, that are "weaved" together at execution time. This approach allows teams to focus on, maintain and evolve specific underlying functionality, independently of each other and in a cross-cutting fashion across the object domains.


It complements OOP inheritance by doing horizontal propagation of AOP code, much like HGT complements Mendelian inheritance. We can now evolve those software systems and reuse that common infrastructure across applications. Just like our specie shares alot of genetic code with other domains of life, software applications share a lot of common code. Accessing databases, publishing as web services, transactions, dependencies and security are all today identified as "aspects" of an application that can be woven in. The emerging infrastructure is known as "middleware", today a multi-billion dollar business of which I am a retired executive (JBoss was my business).


Similarly many pathways needed for life (cell cycle pathways, energy production pathways, persistence and repair in DNA, photosynthesis etc) are highly conserved across domains of life. There is evidence, as in the case of "rhodopsin", that these pathways can persist in independent free floating RNA in retro-viral vehicles or bacteria (nature's aspects?) and evolve somewhat independently of the final species that adopt them to their benefit.


That nature would evolve an efficient software maintenance strategy, be it retro-viral of bacterial gene transfer, akin to AOP which was designed, seems like a reasonable assumption indeed.


In that spirit, however, I found myself in disagreement, with the following statement you made "We regard as regrettable the conventional concatenation of
Darwin's name with evolution, because other modalities must also be considered". The focus on "species" as the main selection point of evolution may be augmented to included gene populations as you argued, but the basic tenet of Darwinism, "survival of the fittest" is surely not under question here.


Au contraire, It seems intuitive that HGT confers an increased fitness function to a population of genes using it for maintenance and rapid evolution purposes. Quite simply put, use of HGT should increase fitness (to be quantified in population dynamics), just like AOP increased maintainability and evolutivity in the OOP software systems that used it. A system with an increased capacity to adapt to evolutionary pressure, should prevail from a population dynamic point of view.


That we are shifting the focus away from "species" (or applications) to "gene populations" (or middleware) fitness is in no way in contradiction with Darwin's hypothesis of "survival of fittest". Establishing these fitness functions for HGT mechanisms would certainly make Darwin proud, if he only had our tools!

marcf

Comments

Unknown said…
So I don't get it. How is it any more like AOP than it is like opening up an editor and changing the code or like code generation via ant scripts and XML? Maybe its my lack of understanding. In genetics, viruses sometimes suck up genes from their infectees and transfer them to their next infectee. Prions and RNA sometimes cause mutations. So using these as tools you can potentially edit code. I guess I just don't get how this is more like AOP than it is like any kind of editor or code generator. Moreover what AOP does is conceptually similar to injecting what in the old days would have been a "long call" (meaning the injected code really calls "out" to some functionality rather than actually just spicing it in). With the potential exception of nerve cells I just don't *see* that exactly. Anyhow it could be my lack of genetics background but I'm missing the connection that makes this all the comparable.
Unknown said…
Evolution of searching and sorting process. Evolution is the process of the best species solution in a specific environment at a specific time. Since evolution is not forward looking, (no forward references) this is the best it can do.

AOP appears to be anther process furthering evolution infrastructure/context.
It allows evolution to accelerate. Other elements of the infrastructure are diversity elements such as sex.

Did sex come from evolution or did evolution come from sex?

Is it true that any process that can exist does exist?

No!

Anyway thriving processes that coexist and co prosper. They can coevolves. Processes that evolve is the more general form of evolution.

I think these broad ubermoments are emerging..

It is like finding out that linear systems theory applies to linear equations, then series and functions then operators.

I look forward to the day when Biology touches Physics, but I realize that there is "plenty of room on the bottom for Physics".

http://www.its.caltech.edu/~feynman/plenty.html

"C" is the eigenlanguage.
Adam Warski said…
Isn't AOP an adaptation of an old concept, functional programming, to object-oriented languages, like Java? After all, the main idea is to:
(1) define a higher-order function (that is, aspect)
(2) define where to apply the aspect - and maybe here is the point that AOP and traditional functional programming differ - the pointcuts aren't defined together with the code, they can be manipulated independently.

Anyway, what I wanted to say, is that (1) and (2), together being called "AOP", aren't tied, may be used separately and may have different parallels in biology/evolution/etc.
Anonymous said…
85cc免費影城85cc免費影片免費 a 片台灣論壇免費影片線上免費a片觀看85cc免費影片線上觀賞a片免費看免費A片A片-sex女優王國免費卡通影片線上觀看小魔女免費影城免費看 aa的滿18歲影片免費a片卡通sex888影片分享區520sex貼片區sex520免費影片免費色咪咪影片網免費影片下載aaaaaa片俱樂部成人a影片論壇aaa片免費看短片後宮0204movie免費影片gogo2sex馬子免費影片免費線上a片aaa片免費看短片sex888免費看影片免費 a 片aaa的滿18歲卡通影片免費線上avdvdaaaa彩虹頻道免費影片sexdiy影城aaaa 片俱樂部sex520免費影片85cc成人影城洪爺影城免費線上歐美A片觀看彩虹頻道免費影片免費卡通影片線上觀看臺灣情色網線上免費a長片浪漫月光論壇 sex383線上娛樂場dudu sex免費影片 杜蕾斯成人bbs x693 com sex888sogo 成人論壇plus論壇sex520免費影片sex999日本美女寫真集sex888 freebbs hk85cc免費影片微風成人av論壇亞洲免費影片線上直播日本 avdvd 介紹免費觀賞視訊情色遊戲sexdiy影城免費成人視訊一本道 a片 東京熱情色影片免費影片下載asex888免費看影片論壇sex888movie影城情色小說本土辣妹34c影片直播吉澤明步免費a片av080免費試看免費aa片試看sex888 freebbs hk卡通美女a片免費試看aa的滿18歲影片a 免費影片觀賞aaa免費看影片aaaaa片俱樂部影片5278論壇免費影片觀賞av博物館sex383線上娛樂場日本 avdvd 介紹免費觀賞avdvd無碼情色電影sexy girl video movie亞洲禁果影城卡通aa片免費看383movie成人影城ut13077視訊聊天aio性愛dvd辣妹影片直播金瓶影片交流區免費a片卡通hilive tv 免費電影彩虹頻道免費短片台南援交友留言彩虹頻道免費短片aio交友愛情館a 免費影片觀賞

Popular posts from this blog

$6.66B for BEA: Larry goes Shopping

Thug vs Thug: Porsche 1, Hedge Funds: 0

Quickies #3, protecting IP in OSS