Programs Automating Themselves

By Anoop Madhusudanan

Vote on HN
Well, recently I received an interesting question, regarding the possibility of programs or systems automating generation of themselves - probably with out any human intervention.


From a philosophical view point:

Consider Game of Life - It is a full automata system, which, if allowed to grow in a non-limited space, will organize itself to create logical groups, gates etc. Mathematically, it is possible to create automata machines which can re-generate itself, to permute and combine in various ways. Interesting, huh!!

It is very interesting to look towards biologically inspired computing as well - to see evolution of algorithms like Swarm intelligence, Nerual networks, Machine human interaction algorithms, perception algorithms etc.

From a practical view point:

These days, we are moving to higher levels of abstraction - to automate solutions with minimal or no coding. Concepts like Domain Specific Languages are evolving, to enable us to develop software factories, where you can punch out software products with minimal coding. Techniques like Meta coding and code generation complements

Domain Specific Modeling (DSM) involves systematic use of a graphical Domain-specific language (DSL) to represent the various facets of a system. Later, artifacts can be generated from the model, using domain aware generators.

For example, let us take Healthcare domain. It is possible to provide Domain specific representations for operations in health care domain, so that users can mix and match pieces to automate common operations. But on the other side, remember that the requirements in domains also change, so practically it is impossible to build a software factory that can't be exended.

See my posts about DSL and Nerual Networks as well.

No comments:

Post a Comment

Please keep your comments clean.

© 2012. All Rights Reserved.