Software agents are computational entities that reside complex and dynamic environments, perceive “sensations” through sensor from that environment and act upon that environment thanks to effectors. In order to do that, software agents perform a set of predefined tasks.
A software agent normally has a certain level of autonomy and therefore it can communicate with other software agents or human users by itself. A software agents has “behaviours” reflecting human behaviours.
A software agents is:
- autonomous: operates by itself without requiring a constant user intervention
- social: cooperates with other software agents or human users in order to fulfil a series of tasks
- reactive: his actions are a direct consequence of what it perceive from the environment
- proactive: his actions try to anticipate modification that may affect the environment
- mobile: can migrate from one computational node/platform to another
- rational: operates without interfere with other software agents
Software agents can be organized into systems called Multi-Agent Systems (MAS) that model complex systems
The EML2 group utilizes software agents in EM problem solving: they are suitable for complex elaborations thanks to their inherent parallelism. Typical complex problems such as wireless network planning problems require high computational efforts that can be reduced and parallelized by the implementation of multiagent systems.