Software Agent - Design Issues

Design Issues

Interesting issues to consider in the development of agent-based systems include

  • how tasks are scheduled and how synchronization of tasks is achieved
  • how tasks are prioritized by agents
  • how agents can collaborate, or recruit resources,
  • how agents can be re-instantiated in different environments, and how their internal state can be stored,
  • how the environment will be probed and how a change of environment leads to behavioral changes of the agents
  • how messaging and communication can be achieved,
  • what hierarchies of agents are useful (e.g. task execution agents, scheduling agents, resource providers ...).

For software agents to work together efficiently they must share semantics of their data elements. This can be done by having computer systems publish their metadata.

The definition of agent processing can be approached from two interrelated directions:

  • internal state processing and ontologies for representing knowledge
  • interaction protocols - standards for specifying communication of tasks

Agent systems are used to model real-world systems with concurrency or parallel processing.

  • Agent Machinery - Engines of various kinds, which support the varying degrees of intelligence
  • Agent Content - Data employed by the machinery in Reasoning and Learning
  • Agent Access - Methods to enable the machinery to perceive content and perform actions as outcomes of Reasoning
  • Agent Security - Concerns related to distributed computing, augmented by a few special concerns related to agents

The agent uses its access methods to go out into local and remote databases to forage for content. These access methods may include setting up news stream delivery to the agent, or retrieval from bulletin boards, or using a spider to walk the Web. The content that is retrieved in this way is probably already partially filtered – by the selection of the newsfeed or the databases that are searched. The agent next may use its detailed searching or language-processing machinery to extract keywords or signatures from the body of the content that has been received or retrieved. This abstracted content (or event) is then passed to the agent’s Reasoning or inferencing machinery in order to decide what to do with the new content. This process combines the event content with the rule-based or knowledge content provided by the user. If this process finds a good hit or match in the new content, the agent may use another piece of its machinery to do a more detailed search on the content. Finally, the agent may decide to take an action based on the new content; for example, to notify the user that an important event has occurred. This action is verified by a security function and then given the authority of the user. The agent makes use of a user-access method to deliver that message to the user. If the user confirms that the event is important by acting quickly on the notification, the agent may also employ its learning machinery to increase its weighting for this kind of event.

Read more about this topic:  Software Agent

Famous quotes containing the words design and/or issues:

    Westerners inherit
    A design for living
    Deeper into matter—
    Not without due patter
    Of a great misgiving.
    Robert Frost (1874–1963)

    I can never bring you to realize the importance of sleeves, the suggestiveness of thumb-nails, or the great issues that may hang from a boot-lace.
    Sir Arthur Conan Doyle (1859–1930)