Next: Components, Previous: Introduction, Up: Top [Contents][Index]
The Software Evolution library is implemented in Common Lisp and is intended for use in Common Lisp programs. Figure 2.1 provides an overview of the Software Evolution object system, the specifics of which are given in remainder of this section.
• Software Objects | Representation of software | |
• Software Methods | Operations on software objects | |
• Mutation Objects | Representation of software mutation operations | |
• Global Variables | Interface to search processes | |
• Search Functions | High level functions to perform search | |
• REST API | REST API for the Software Evolution Library |
search functions global variables ---------------- ---------------- +------------------+ incorporate *population* | *population* | evict *max-population-size* |------------------| tournament *tournament-size* | list of | mutate *fitness-predicate* | software objects | new-individual *cross-chance* +------------------+ evolve *fitness-evals* | mcmc *running* +-+-+ | | | software methods +------------------+ -------------- evolve arguments | software object | genome ---------------- |------------------| phenome max-evals | edits, | copy max-time | fitness | pick-good,pick-bad target | ... | mutate period +------------------+ crossover period-func | filter | +--------------------+-----------------------------------------+ | | | +-----------------+ +--------------+ +------------------+ | IR | | simple | | parseable | +-----------------+ |--------------| +------------------+ | intermediate | | Basic Vector | | Parsed AST | | representation | | Genome |-----+ | representation | +-----------------+ +--------------+ | +------------------+ | | | | | +----------+ | | | +--------------+ +--------------+ | | LLVM |--------+ +------------+ | | forth | | clang |-----+ |----------| | | ELF | | |--------------| +--------------| | | LLVM IR | | |------------| | | forth source | | C/C++ source | | +----------+ | | Executable | | +--------------+ +--------------+ | +----------------+ | | Linkable | | | | CIL |--+ | Format | | +------------+ +--------------+ | |----------------| +------------+ +----| asm | | common-lisp |-----+ | C Intermediate | +----------+ | |------------| +--------------+ | | Language | | elf-risc |---+ | assembly | | +----------------+ +----------+ | | code | +--------------+ | +----------+ | +------------+ | tree-sitter |-----+ | elf-cisc |---+ | +--------------+ +----------+ | | +------------------+ +----------------------+ | asm-range | | agda bash c c-sharp | |------------------| | cpp css go html java | | memory efficient | | javascript jsdoc | +------------------+ | json julia ocaml php | | python ql regex ruby | | rust scala | mixin classes | typescript | ----------------- +----------------------+ +------------+ +-----------+ +-----------+ +------+ +------------+ | Searchable | | Ancestral | | Styleable | | File | | Compilable | +------------+ +-----------+ +-----------+ +------+ +------------+ | | +----------------------+ +-------------------+ | Fodder Database, ... | | File-w-attributes | +----------------------+ +-------------------+
Next: Components, Previous: Introduction, Up: Top [Contents][Index]