Defines a new agent type.
Defines a new capability type.
An agent type specifies the interface, the structure, content and behavior of an agent.
In the configurations section, predefined
component configurations (i.e. component
instances) can be defined.
A predefined component
configuration.
A predefined application configuration.
In the capabilities section arbitrary many capabilities can be declared. The functionality of a capability can be used within the agent resp. capability.
A capability usage declaration must include the local name of this capability (symbolic name) and the capability's type name (file) or an identifier for its identification.
Base type for a capability.
Container for beliefs, beliefsets and corresponding references. In the beliefs section single-valued beliefs or multi-valued belief-references can be declared. Additionally references to exported or abstract beliefs of other capabilities can be specified.
A single-valued piece of agent knowlegde.
A multi-valued piece of agent knowlegde.
A concrete reference to a belief(ref) in another capability (concrete) or an abstract belief that needs assigment from the using capability.
A concrete reference to a beliefset(ref) in another capability (concrete) or an abstract beliefset that needs assigment from the using capability.
Container for goals and corresponding references. In this section different kinds of goals and goal references can be specified. Supported goal types are perform, achieve, query, maintain and meta goals. Also refernces for all types can be specified.
A perform goal is goal that is directly associalted with actions to perform.
An achieve goal is a goal with a target state. To fulfill the goal the target state needs to be achieved.
A query goal is a goal for retrieving information. It has the implicit target consition that some result must be obtained for being succesfully achieved.
A maintain goal is a goal for maintaing some target state. Whenever this state gets violated plans are executed for the goal until the state is reestablished.
A meta goal can be used for meta-level reasoning. Trigger of a meta-goal is another goal or event.
A concrete reference to a performgoal(ref) in another capability (concrete) or an abstract goal that needs assigment from the using capability.
A concrete reference to an achievegoal(ref) in another capability (concrete) or an abstract goal that needs assigment from the using capability.
A concrete reference to a querygoal(ref) in another capability (concrete) or an abstract goal that needs assigment from the using capability.
A concrete reference to a maintaingoal(ref) in another capability (concrete) or an abstract goal that needs assigment from the using capability.
A concrete reference to a metagoal(ref) in another capability (concrete) or an abstract goal that needs assigment from the using capability.
Container for plans. In this section plans can be specified.
A plan contains procedural knowledge for achieving goals or handling events. A plan consists of a head and body part. The head specifies the conditions under which the plan is applicabe whereas the body contains the concrete actions to perform.
Container for internal, message events and corresponding references. In this section internal and message events can be specified. Also references for both can be declared.
An internal event is used for agent internal event notification. It represents a one-way information flow as the event thrower cannot obtain information about the result of event processing.
A message event is used for inter-agent communication.
A concrete reference to an internalevent(ref) in another capability (concrete) or an abstract event that needs assigment from the using capability.
A concrete reference to an messageevent(ref) in another capability (concrete) or an abstract event that needs assigment from the using capability.
Container for expressions, conditions and corresponding references. In this section predefined expressions and conditions can be declared. Also references for both can be declared.
An expression can be used for information querying. Parametrized expressions need explicitly to defined their input parameters.
A condition can be used for waiting for certain world states. Parametrized conditions need explicitly to defined their input parameters.
A concrete reference to an expression(ref) in another capability (concrete) or an abstract expression that needs assigment from the using capability.
A concrete reference to a condition(ref) in another capability (concrete) or an abstract condition that needs assigment from the using capability.
Container for configurations.
Any number of configurations.
The name of the default configuration to be used when no special configuration is selected.
Base type for all goals.
Any number of parameters.
Any number of parameter sets.
If a goal is declared unique only one instance of this type is allowed being adopted at any one time. To determine if two goals are equal the type and parameters are used. Parameters that should not be considered can explicitly be excluded.
A condition that creates a new goal of the given type when triggered. If binding-parameters are used for each possible binding a new goal is created.
The context condition is checked during the whole execution time of a goal. If it becomes invalid the goal will become suspended and is not actively pursued until reactivation.
If the dropcondition triggers the goal instance is dropped.
The goal deliberation setting for the easy deliberation strategy.
The retry flag can be used to determine the behaviour on plan failures. If retry is turned on (by default it is on) and a plan fails to achieve the considered goal another plan from the applicables plan list will be chosen for execution.
Random selection can be used to choose among applicable plans for a given goal randomly. If used this flag makes the order of plan declaration within the ADF unimportantly, i.e. only random selection is only applied to plans of the same priority and rank (cf. mlreasoning comment). The mechanism is implemented in the jadex.impl.DefaultMetaLevelReasoner.
With the retrydelay the delay between the failure of one plan and the execution of the next plan can be specified in milliseconds.
The exclude flag can be specified when a plan will be excluded from the applicable plan list. The default is when_tried, which means that a candidate is excluded independently of its state when executed one time for a goal. Other options are when_succeeded, when_failed and never.
When post-to-all is set to true (default is false), a goal is dispatched to all candidates of the applicable plan list at once. This process will only happen one time regardless of the retry settings. A post-to-all goal has implicit or semantics meaning that if one plan achieves the goal all others will be terminated.
When recalculate is set to false (default is true) the applicable candidates list will be calculated only once for the goal. Otherwise it will be recalculated whenever the goal should be processed.
A perform goal aims at executing actions.
An achieve goal aims at bringing about a target state.
The target condition can be used to specify a desired world state representing goal success.
A query goal aims at retrieving information.
A query goal has the implicit target condition that none of its out parameters may null.
A maintain goal aims at preserving a certain state.
The mandatory maintain condition represents a world state that should be monitored and re-established whenever it gets violated.
A specalisation of the maintain condition taht should be re-established when the maintain condition is violated.
A meta goal can be used for meta-level reasoning.
The trigger for specifying for what kinds of events this meta goal should be used.
Used only internally.
Assign this element to an abstract element of another capability.
Any number of parameters.
Any number of parameter sets.
The context condition is checked during the whole execution time of a goal. If it becomes invalid the goal will become suspended and is not actively pursued until reactivation.
If the dropcondition triggers the goal instance is dropped.
The goal deliberation setting for the easy deliberation strategy.
A query goal has the implicit target condition that none of its out parameters may null.
A plan contains procedural knowledge. It consists of a plan head and a plan body.
An arbitrary number of plan parameters.
An arbitrary number of plan parameter sets.
The plan body. If it is a normal plan the body is interpreted as an expression that must be evaluable to a plan object. If it is an inline plan the body (passed, failed, aborted) code is directly contained in this body specification.
The trigger is used to determine when a plan is applicable for a given event or goal.
Only when the precondition holds a plan can be selected for execution. During the execution of the plan the precondition is not checked any more.
The context condition of a plan must be valid during the whole time of plan execution. If it becomes invalid the plan will immediately be aborted.
The waitque allows a plan instance to receive events even if it is currently running. With the waitqueue filter a plan instance can declare general interest in certain kinds of events.
The priority can be used for controlling the plan selection process (default priority is 0). Plans with higher priority have precedence for plans with lower priority.
The plan body contains the code (actions) to execute.
The type of the plan body. Default is standard. If
mobile agents (migration) is required mobile plans
should be used. Mobile plan do not require their own
thread.
Base type for single-valued elements with a type.
The required Java class of the fact. Used for type checking objects that are asserted as facts.
For dynamic expressions the update rate defines in what intervals the fact will be re-evaluated. The default update rate is set to 0. You can use a fixed long value or an expression, which is dynamically evaluated for each update.
Transient beliefs or prameter values are not retained, when persisting or migrating an agent. This is useful e.g. when a value class is not serializable.
A belief represents a single-valued piece of
information.
Initial value for a belief. Per default it is static, i.e. it is only evalued only once on creation.
A belief represents a multi-valued piece of information.
An expression that is evaluated to a default value. Only static values are allowed, i.e. it is only evaluated once on agent creation.
An expression that is evaluated to a set of default value. Only static values are allowed, i.e. it is only evaluated once on agent creation.
A parameter set represents a single-valued piece of information belonging to some parameter element.
An expression that is the default value.
From a set of binding option values one
concrete is selected per parameter element instance (e.g. a goal, plan or event).
If an element with binding option parameters is
created for each possible binding value combination
a new element instance is created.
If a parameter is declared optional (default is false), it need not to have a value (can null).
The direction can be used to explicitly declare e.g. result parameters (out) or parameters that are both (inout). Per default parameters are in.
Parameter for a goal. Additionally allows mappings being defined.
This parameter is considered as a
proxy. It is mapped to an argument or result of a service.
Parameter for a plan. Additionally allows mappings being defined.
This parameter is considered as a
proxy. It is mapped to another
parameter in a goal.
This parameter is considered as a
proxy. It is mapped to another
parameter in an internal event.
This parameter is considered as a
proxy. It is mapped to another
parameter in a message event.
A parameter set represents a multi-valued piece of information belonging to some parameter element.
An expression that is one of the default values.
An expression that represents a collection of default values.
If a parameter is declared optional (default is false), it need not to have a value (can have 0 values).
The direction can be used to explicitly declare e.g. result parameters (out) or parameters that are both (inout). Per default parameters are in.
Parameter for a goal. Additionally allows mappings being defined.
This parameter is considered as a
proxy. It is mapped to an argument or result of a service.
Parameter set for a plan. Additionally allows mappings being defined.
This parameter is considered as a
proxy. It is mapped to another
parameter in a goal.
This parameter is considered as a
proxy. It is mapped to another
parameter in an internal event.
This parameter is considered as a
proxy. It is mapped to another
parameter in a message event.
A piece a program code that is evaluated.
The required Java class of the expression.
Used for type checking the evaluation result.
A piece a program code that is evaluated.
The required Java class of the expression. Used for type checking the evaluation result.
A user-defined parameter for an expression, e.g. for parametrized queries.
The Java class of the user-defined parameter.
An expression that is monitored.
The beliefs on which the condition depends.
The parameters (i.e. for goal and plan
conditions) on which the condition depends.
Allows specifying raw events (in internal ECA format) on which the condition depends.
For conditions that are not conatined in the expressionbase. Cannot be exported.
The beliefs on which the condition depends.
The parameters (i.e. for goal and plan
conditions) on which the condition depends.
Allows specifying raw events (in internal ECA format) on which the condition depends.
Describes and defines an included capability.
The capability to include. The file can be either referenced by an unqualified or qualified name, e.g. name or package.name, or by a filename relative to the classpath, e.g., package/name.capability.xml. Abstract capabilities like the DF capability have to be referenced by the fully qualified name (i.e., jadex.planlib.DF), because these capabilities are resolved by this identifier using the platform configuration.
Base type for all model elements.
The elements name.
Base type for all bases, e.g. beliefbase, planbase, goalbase, etc.
Base type for all events.
When post-to-all is set to true (default is true only for internal events), an event is dispatched to all candidates of the applicable plan list at once.
Random selection can be used to choose among applicable plans for a given goal randomly. If used this flag makes the order of plan declaration within the ADF unimportantly, i.e. only random selection is only applied to plans of the same priority and rank (cf. mlreasoning comment). The mechanism is implemented in the jadex.impl.DefaultMetaLevelReasoner.
An internal event is used for agent internal event notification.
A message event is used for inter-agent communication.
Expression stating in what case a message matches the given event.
Specifies the direction of the message. Possible values are send, receive and send_receive.
The message type defines the predefined names and types of parameters. Possible values are fipa.
Base type for elements that can have parameters and parameter sets.
Any number of parameters.
Any number of parameter set elements.
Used to define a reference to an element from another capability.
Base trigger type allows reaction on goals, internal and message events and filters. All declared elements are considered as OR combined.
Any number of internal events that are
triggers.
Any number of message events that are
triggers.
Any number of goals that are triggers.
Deprecated. Can be used to specify an
arbitrary complex filter expression that
must evaluate to a IFilter and will be
used to check if triggers.
Reference to another element. Used in trigger to match an event or goal.
Match expression to state in which exact cases a match exists.
Reference to another element. Used in trigger to match a belief or beliefset.
The name of an element in the local capability. One of 'ref' or 'cref' is required.
A reference to an element in another capability (e.g. 'mycap.mybelief'). One of 'ref' or 'cref' is required.
A condition used for binding purposes (multiple variable assignmnets).
Uniqueness settings for goals. Excluded parameters will not affect if goals are considered equal.
Any number of excluded parameters.
Base type for elements contained in bases. Exported elements can be used in outer capabilities.
Assign this element to an abstract element of another capability.
If an element is exported it can be referenced from an outer capability. The default for this attribute is false. A shielded attribute is only visible outside, when created there, instances created in the inner capability will not be visible to the outer capability.
Base type for element references, i.e. elements that reference others.
A concrete reference to an element that is conatined in some included subcapability. Dot notation is used for referencing the other element, e.g. subcapname.elemname
The reference is abstract. This means that an outer capability can assign an element to this reference. If required this assignment is needed. Otherwise the element can potentially be unbounded.
If an abstract element is required, a capability wants to use this capability is forced to assign an element to this abstract reference. Per default abstract alements are required.
Reference to a belief.
Reference to a belief set.
Reference to a goal.
Reference to a goal.
Reference to an achieve goal.
Reference to a query goal.
Reference to a meta goal.
Reference to a maintain goal.
Reference to an event.
Reference to an internal event.
Reference to a message event.
Reference to a plan. Not yet used.
Reference to an expression.
Reference to a condition.
Base type for configuration elements.
Base type for referenceable configuration elements.
The name of an element in the local capability. One of 'ref' or 'cref' is required.
A reference to an element in another capability (e.g. 'mycap.mygoal'). One of 'ref' or 'cref' is required.
Base type for parameter configuration elements.
An expression that is once evaluated to the initial parameter value.
An expression that is once evaluated to the initial parameter set values.
A goal instance that is created on capability or agent creation or deletion.
A plan instance that is created on capability or agent creation or deletion.
A message event instance that is created on capability or agent creation or deletion.
An internal event instance that is created on capability or agent creation or deletion.
A belief that is initialized with a defined value on capability or agent creation.
An expression that is once evaluated to the initial belief value.
A belief that is initialized with defined values on capability or agent creation.
An expression that is once evaluated to the initial belief value.
An expression that is once evaluated to the initial belief set values.
Base type for configuration bases.
Container for configuration beliefs.
Any number of initially customized beliefs.
Any number of initially customized belief sets.
Container for configuration capabilitiers.
Any number of initially set up capabilities. Note that they have to reference a declared capability and can only change their initialstate.
Container for configuration goals.
Any number of initially created goals.
Any number of initially created goals.
Container for configuration plans.
Any number of initially created plans.
Any number of initially created plans.
Container for configuration events.
Any number of initially created internal events.
Any number of initially created message events.
Any number of initially created internal events.
Any number of initially created message events.
A configuration parameter holds an initial value for a parameter of a configuration element.
An expression that resolves to a single value.
A configuration parameter set holds initial values for a parameter set of a configuration element.
An expression that evaluates to a single value.
An expression that resolves to a set of values. Supported are iterators, enumerations, java.util.Collections, java.util.Maps, arrays.
A capability that is initialized with a defined configuration on capability or agent creation.
The name of the initialstate that should be used for the initial capability.
The trigger for plans also reacting on goal process events, conditions, belief and belief set changes.
Any number of goals that are triggers.
The trigger for meta goals also reacting on goal process events.
Any number of goals that are triggers.
For a value that is only once computed.
Assign this element to an abstract element of another capability.
Easy deliberation settings for goals (inhibitions). For an inhibition with the ref attribute the name of the inhibited goal can be specified. With the inhibit attribute it can optinally also specified in which state the goal has to be to inhibit the other.
The name of a goal in the local capability to be inhibited. One of 'ref' or 'cref' is required.
A reference to a goal in another capability (e.g. 'mycap.mygoal') to be inhibited. One of 'ref' or 'cref' is required.
In which state other goals should be inhibited. The default is when_active. For maintain this should normally be changed to when_in_process as maintain goals are homeostatic and active longer than other goal types.
Easy deliberation settings for goals (cardinality and inhibitions).
Any number of inhibitions can be specified. One inhibition specifies under which circumstances a referenced goal is inhibited.
Base element without name.
Goal delegation element.