Some Example Meta-Artifacts Inspired by Science and Nature

Some Example Meta-Artifacts Inspired by Science and Nature

DOI: 10.4018/978-1-4666-0131-4.ch012
OnDemand PDF Download:
No Current Special Offers


Science reveals the workings of the mechanisms behind the natural phenomena. If one can entertain an idea of nature exhibiting definite features of design, then, perhaps human designers could learn from it some of its structures and methods to solve problems faced by human designers. Imitating the natural may be beneficial to tackle tough problems. The chapter provides few such examples. In the first case, the workings of the nervous system, including the brain as revealed by the science have been forward engineered by researchers in artificial neural networks. In the second case, the most versatile designer, i.e. the evolutionary process, has been employed to design solutions for problems in various areas of human activity. In the third case, the “non-scientific” vagueness inherent in human judgment has been harnessed in a fascinating way to provide useful solutions.
Chapter Preview

Designing By Imitating

Modern design tradition relies heavily on principle of accumulated design. Solutions to a variety of problems invented earlier remain in the common human design repository (e.g. in the form of patents) ready to be re-used for the engineering of new artifacts. This cumulativeness is the major factor contributing towards rapid pace of technological progress and the vast variety of human-made objects. If every new artefact had to be built from scratch, without the accumulated design knowledge, the world of the artificial would have been far, far poorer. The term “re-inventing the wheel” refers to situations where a given solution is invented anew, despite the fact that similar idea had appeared before. To re-invent the wheel means to ignore the principle of accumulated design.

Principles of good design emphasize the processes by which the existing solutions are fit in the context of new designs in an effective and efficient manner. Early software developers had to write volumes of code to produce applications of clumsy monolithic nature. One could only wonder of many times fragments of code performing some common function had to be re-invented again and again. The modularity principle in software engineering had dictated that programs should be broken into modules, i.e. subroutines and functions, which could be re-used in other parts of programs. For most commonly used functions and procedures the libraries had been created, which contained the units of code used commonly by applications.

Object orientation in software engineering had brought about a new level of abstraction: a class. Classes bundled together related properties and behaviour into units, which corresponded to some concepts in a given problem domain. Due to the principles of encapsulation and information hiding object-orientation had promoted relative independence of classes from each other. Object-oriented software is easy to test and maintain as it is well organized in terms of interacting objects. A given class, representing some important business concept, e.g. account, or customer, could now be borrowed and reused in new applications. Class libraries provide a repository for classes which, when re-used make re-invention unnecessary. The advance of components and component-oriented development facilitated easy way for the developers to effortlessly embed existing executable chunks of functionality into their applications. The service orientation allows to obtain a particular functionality within a given system context without having to embed this functionality in the system.

Thus, reuse is a principle of efficient design process. What is interesting, the processes invented by humans in one domain could sometimes be carried over, with appropriate adjustments to the other domain. Some known solutions appear to be transcendental with respect to various areas of human activities. In such cases, it is probably not appropriate to use the term “reuse,” but something like borrowing, or imitation.

Consider an example of annealing from metallurgy. Atoms of metals bond together forming microstructures. Initially these microstructures may be far from “perfect” meaning that they cause internal tension in a metal. Such metals may be brittle, which makes them unsuitable in situations where hardness and solidity are required. The trick is to “shake up” the metal so that the atoms would then settle down into more stable formations. This is done by heating the metals, and then cooling down the temperature so that the atoms re-arrange into more stable structure. The process has long been known and used in metallurgy.

In certain types of systems (e.g. decision support systems) optimization feature is often required. When impossible to employ “strong” optimization techniques, such as linear programming, there is a choice of using so-called heuristic algorithms. These produce solutions, which are not necessarily “optimal,” but often satisfactory. One simple heuristic optimization method is known as “hillclimbing.” It imitates a person trying to climb to the top of a hill, when the top cannot be seen in advance, e.g. due to foggy conditions. The person would take a step in random direction. If the new location is lower than the previous one, the person would return to the previous location. If the new position is higher, then he or she would retain it, and then try a new step. After a number of such steps the person would find out that every random step leads to a lower altitude, which means that he or she had reached the top (or its vicinity).

Complete Chapter List

Search this Book: