EPSRC Network on Evolvability in Biology & Software Systems

Software Evolution and Evolutionary Computation Symposium Abstracts

University of Hertfordshire, Hatfield, U.K.

7-8 February 2002


Using Molecular Biology as a Metaphor for Generating Architectures for

Using Molecular Biology as a Metaphor for Generating Architectures for Adaptive Evolutionary Information Systems

NEIL MCBRIDE


Centre for IT Services Management Research
De Montfort University
Leicester
United Kingdom

nkm@dmu.ac.uk

Information systems (IS) reside in organisations that are adapting to changing business environments, changing internal structure and changing markets. One of the primary problems with business information systems is their lack of adaptation. Living organisms do not have this problem. While the molecular mechanisms remain stable and predictable, they enable a wide variety of adaptations to occur. Genetic recombination and to a lesser extent mutation enable the generation of new variants. This paper examines the basic molecular mechanism that result in genetic expression. I propose a specification for a evolutionary information system in which executable components may be generated from a specification in a flexible manner which enables the information system to change in response to environmental stimuli.

A biological organism is an aggregate of cells. The cells take on a variety of specialist functions to create functional domains such as the nervous system, heart, arms and hands. Cells differentiate to take up specialist roles. They identify their roles and maintain their roles through communication with surrounding cells and by receiving signals from other controlling systems. Thus the organism is a hierarchy of systems interacting to provide the whole organism with functionality and to render it living. From an examination of the mechanism of protein synthesis some ideas are presented as to how an adaptive evolutionary information system (AEIS) would function.

The specification of an AEIS will define a set of components which are sufficient for all the required domain applications within the organisation. Components may be involved in application-oriented function and in controlling the execution of the specification by determining which components are selected to fulfil the domain's requirement or a service request. Certain component will have a control function, enabling the aggregation of a family of components to fulfil a business function. These homoetic components are analogous to homeotic genes which control the development of whole organs or biological domains such as legs or antenna in fruit flies. Homeotic components will provide cascades of control, supporting the expression of aggregates of components. The structure of components will, like genes in the genome, conform to a standard structure.

This structure will include a start of component signal, one or more message sequences, exons which contain small, discrete units of executable code and introns which provide internal control elements affecting the expression of the components and enable recombination of exons and the spread of exons amongst components. Evolved components may be created by altering or duplicating existing components, adding processing units (exons), sequences of messages and through altering messaging, changing interactions between specification components.

An adaptive EIS may be changed from operational to evolve mode, or may be continuously evolving in response to the environment. Components in the specification may be amplified by the addition of new messages or messages excised from other components. New exon processing may be added or duplicated from other components. Some component messages may be switched off by exicing or altering control sequences within the message. Components may be duplicated in the specification, and then evolved to create new component functions based on parent component functions.

Adaptation may be envisaged as Lamarkian, where changes are detected in the environment and transmitted by intermediaries directly to the specification. Alternatively, Darwinian adaptation could be triggered by the construction of a new generation. This in itself may be triggered by one or more environmental changes, by an elapsed period of time, or by user intervention. On triggering the evolve mode, the adaptive EIS must generate options for dealing with the environmental change. Those altered components must then be produced and tested for fitness, either internally and automatically or through expression and user testing.

Environmental changes will be detected by information receptors, themselves components, which receive or detect changed information items or information ligands and, having detected a change, act on the specification. The action of the information receptor will result in a change to the structure of one or more components in the specification. This change may be mediated by a change to operational components, which is then transmitted to the specification. Information receptor will 'bind' specifically to information ligands or classes of information ligands. Thus there will be many different information receptors, but the mechanisms by which binding causes changes to the specification will be standards for all information receptors.

This paper proposes the development of self-adapting information systems which, by mimicking the biological mechanism of cellular system construction offers a mechanism for evolving the specification in response to changing environment. In building such systems the role of the software engineer is transformed. The software engineer's role becomes one of manipulating the environment in which the adaptive evolutionary information system exists in order to apply selective pressures to the information system.