Software system generation
First Claim
1. Software building apparatus for building a software system for use in control, monitoring and/or management of a process or apparatus, said apparatus comprising:
- i) at least one software module, ii) means for capturing data for loading to at least two copies of said module, the loaded modules each comprising a collaborative agent for use in said software system, iii) means for loading, or providing access to, at least two different collaboration strategies to at least one of said copies of said loaded module, for use by the respective collaborative software agent in use of the software system such that its collaboration behavior in the system is flexible, and iv) means for generating the software system comprising the collaborative software agents of ii) and iii) above.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for building collaborative software agents is provided with a set of editors for capturing data for installation in the individual agents. The collaborative software agents will normally form a community, including some standard agents, provided by the system, and will collaborate to provide functionality in a domain selected by the user. Each collaborative software agent built by the system is provided with co-ordination policies, selected by the user, and represented by a co-ordination graph. A single collaborative software agent can be provided with more than one collaborative policy and is capable of running more than one collaborative policy simultaneously with different agents of the system. An exception handler flags an exception during use of the collaborative agents in the relevant domain when the value of a variable for an agent conflicts with a relevant constraint. Alternatively, the exception handler flags an exception when the resource and time constraints cannot be met by allocation of tasks between the collaborative agents. Communities of software agents built within a system might be used to launch and/or manage telecommunications services or to control a chemical process, for example.
307 Citations
40 Claims
-
1. Software building apparatus for building a software system for use in control, monitoring and/or management of a process or apparatus, said apparatus comprising:
-
i) at least one software module, ii) means for capturing data for loading to at least two copies of said module, the loaded modules each comprising a collaborative agent for use in said software system, iii) means for loading, or providing access to, at least two different collaboration strategies to at least one of said copies of said loaded module, for use by the respective collaborative software agent in use of the software system such that its collaboration behavior in the system is flexible, and iv) means for generating the software system comprising the collaborative software agents of ii) and iii) above. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
the at least one collaborative software agent having at least two different collaboration strategies is capable of operating according to more than one collaboration strategy over the same time period, such that it operates according to at least two different strategies effectively in parallel, the collaboration engine being adapted to run the collaboration strategies by selecting a node from each of the strategies, instantiating and running processes identified by all the selected nodes, then traversing to a next node from each of the strategies and instantiating and running processes identified by all the next nodes, repeating the process until the end of each graph description associated with a collaboration strategy being run in parallel.
-
-
12. A software system for use in control, monitoring and/or management of a process or apparatus, wherein said system comprises at least two software modules, each module comprising data and/or process information which comprises:
-
(i) organisation data concerning an inter-module relationship;
(ii) executable software providing at least two intermodule collaboration strategies; and
wherein, in use, a module selects at least one of said strategies for use in negotiating with another software module in relation to task allocation, such that its collaboration behaved in the system is flexible, said selection being determined at least in part by said organisation data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
at least one module, comprising executable software providing at least two different collaboration strategies, is capable of operating according to more than one collaboration strategy over the same time period, such that it operates according to at least two different strategies effectively in parallel, the collaboration engine of the at least one module being adapted to run the collaboration strategies by selecting a node from each of the strategies, instantiating and running processes identified by all the selected nodes, then traversing to a next node from each of the strategies and instantiating and running processes identified by all the next nodes, repeating the process until the end of each graph description associated with a collaboration strategy being run in parallel.
-
-
21. A method for building a software system for use in control, monitoring and/or management of a process or apparatus, said method comprising:
-
i) capturing data for loading to at least two copies of a software module, the loaded modules each comprising a collaborative agent for use in said software system, ii) loading, or providing access to, at least two different collaboration strategies to at least one of said loaded copies of said module, for use by the respective collaborative software agent in use of the software system such that its behavior in the system is flexible, and iii) generating the software system comprising the collaborative software agents of i) and ii) above. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
the at least one collaborative software agent having at least two different collaboration strategies is capable of operating according to more than one collaboration strategy over the same time period, such that it operates according to at least the two different strategies effectively in parallel, the collaboration engine being adapted to run the collaboration strategies by selecting a node from each of the strategies, instantiating and running processes identified by all the selected nodes, then traversing to a next node from each of the strategies and instantiating and running processes identified by all the next nodes, repeating the process until the end of each graph description associated with a collaboration strategy being run in parallel.
-
-
32. A method for using software in control, monitoring and/or management of a process or apparatus, wherein said method uses at least two software modules, each module comprising data and/or process information which comprises:
-
(i) organization data concerning an inter-module relationship; and
(ii) executable software providing at least two inter-module collaboration strategies;
wherein, in use, a module selects at least one of said inter-module collaboration strategies for use in negotiating with another software module in relation to task allocation such that its collaboration behavior in the system is flexible, said selection being determined at least in part by said organization data. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40)
at least one module, comprising executable software providing at least two different collaboration strategies, is capable of operating according to more than one collaboration strategy over the same time period, such that it operates according to at least tie two different strategies effectively in parallel, the collaboration engine of the at least one module being adapted to run the collaboration strategies by selecting a node from each of the strategies, instantiating and running processes identified by all the selected nodes, then traversing to a next node from each of the strategies and instantiating and running processes identified by all the next nodes, repeating the process until the end of each graph description associated with a collaboration strategy being run in parallel.
-
Specification