Organic Knowledge Engineering and Robotics Lab
In addition to using all the principles of CS, the organic CS adds another special layer of tools. It simulates and incorporates both the knowledge of the software engineer and the knowledge of the domain expert.
In a nutshell the organic approach (OA) is treating the problem and the solution process as a living organism (or ecology of organisms if more appropriate). The organic solution is non-algorithmic and evolving using feedback and data-to-knowledge mechanisms. It is as if the solution is like a child – in the beginning having no knowledge (except some basic mechanisms needed for evolution), and by process of feedback and Darwinian natural selection the solution gradually evolves into better and better reactions using the growing body of knowledge.
The most basic aspects of the paradigm are the especially big body of organic knowledge and the organic life-cycle.
Organic knowledge is simulating as far as possible human knowledge and as such it is:
- Very big
- Evolving
- Dialectical
- Conflict-resolution included
- Organized
- Gestalt for prevention of divergence
- Default scripts and behaviors
- Mechanisms for self-awareness, study and reflection
Organic life-cycle is reminiscent of the prototype cycle but it is much more sophisticated. It simulates the growth of human intelligence, creating solutions more and more plausible using mechanisms of feedback and learning. The testing and maintenance stages become the most important. Human feedback, whether by the designer, the human domain experts or the users is crucial and remains vital part for the duration of the life-cycle (though as time goes by the system becomes more and more automated).