Next: Mutation Objects, Previous: Software Objects, Up: Software Objects [Contents][Index]
A software object has both a genome and a phenome. These are the two most important methods on software objects. They return the code and executable versions of the software respectively.
In biology, the genome is the genetic material (DNA/RNA) of the cell. In the software evolution library, this field should contain the instructions which define the behavior of a software object. In most cases, the code (source or assembly), should be stored on this field.
A phenome is an expression of all the traits described in the genome. In the software evolution library, this is an executable binary.
New software objects should inherit from the most-relevant base
class. For source code based software objects, this is the
sel/sw/parseable:parseable
class. To define a new software object type from an
existing base class, use the sel:define-software
macro. All
software objects should ultimately inherit from the
sel:software
class.
(define-software new-software-type (base-software-type) ())
The following lists the core methods which are defined for all software object types exposing a common interface for use by user programs or in heuristic search.
sel:copy
sel:mutate
sel:evaluate
sel:fitness-extra-data
Next: Mutation Objects, Previous: Software Objects, Up: Software Objects [Contents][Index]