AgE 2.7 : Platform

 In AgE, every element of the computation: agents, strategies - all are basically components. As such, they can have properties and dependencies to other components.

 At runtime, a computation thus consists in a graph of interconnected components, which are managed by an IoC Container (see IoC Container). The container handles issues such as: 

  • instantiating and initializing components
  • interconnecting components
  • managing components lifecycle.

Components can be given initial property values. Their dependencies can be resolved explicitly or be left to the container to be autowired implicitly.

 

Many algorithmic components are already implemented and can be used as is (see Algorithms). Users can also create their own components, or reuse external classes, as the syntax for components properties and dependencies is based on Java standards (see Components).

The configuration of a specific computation is then defined in an XML file (see XML Configuration), which specifies all components, initial property values, etc. These XML configuration files can be highly reused through a mechanism of includes, inheritence and mixins (see mixins). This reuse can be took a step further by extracting actual parameter values into separate property files (see placeholders).