Provided are methods, apparatus or computer programs for collaborative
problem solving and/or automated discovery and dynamic integration of
capabilities in a distributed, multidisciplinary work environment. A set
of software-implemented agents distributed across a network are used to
identify agents and resources on the network that are capable of
performing required tasks. The agents collaborate to generate a plan
comprising a task allocation and task execution sequence in which tasks
are allocated to selected ones of the agents and identified resources,
and then the selected agents and resources execute the allocated tasks in
accordance with the generated plan. Services (such as processing
functions and knowledge) provided by hardware and software resources in a
network are represented as `capabilities` of an associated agent. The
functions implemented by each agent are also represented as
`capabilities`. The abstract `capabilities` can be published and then
discovered and dynamically integrated to solve domain specific problems.