1. Secured microprocessor comprising a program counter and an interface with a program memory containing the instructions, this microprocessor being wherein it includes a historical memory of the program counter indicating the position of the program counter at the time of the execution of the previous instruction, and an instruction verification module, this module comprising reading means of an additional verification information that defines for the instruction in the process of being executed, the supposed position of the previous program counter, this verification module comprising means to compare this verification information with that originating from the historical memory, and means to generate an error if the verification indicates an incompatibility.
2. Secured microprocessor according to claim 1, wherein the verification indication contains at least two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d, and in that the historical memory contains two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d on the basis of the behaviour of the program counter in order to reach the instruction in progress, the verification module generates an error if the verification information indicates the state \u201caccess by auto-increment\u201d, and the historical memory indicates the state \u201caccess by jump\u201d.
3. Secured microprocessor according to claim 1, wherein the verification indication contains at least two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d, and in that the historical memory contains two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d on the basis of the behaviour of the program counter in order to reach the instruction in progress, the verification module accepts the current instruction if the verification information indicates the state \u201caccess by jump\u201d, and the historical memory indicates the state \u201caccess by auto-increment\u201d.
4. Secured microprocessor according to claim 1, wherein the verification indication contains at least two states, namely \u201caccess by auto-increase\u201d or \u201caccess by jump\u201d, and in that the historical memory contains two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d on the basis of the behaviour of the program counter in order to reach the instruction in progress, the verification module accepts the instruction in progress if the verification information indicates the state \u201caccess by jump\u201d, and the historical memory indicates the state \u201caccess by jump\u201d.
5. Secured microprocessor according to claim 2, wherein the verification indication contains three states, namely \u201caccess by auto-increment\u201d, \u201caccess by jump\u201d or \u201caccess by jump necessary\u201d, the verification module generates an error if the verification information contains the state \u201caccess by jump necessary\u201d, and the historical memory indicates the state \u201caccess by auto-increment\u201d.
6. Secured microprocessor according to claim 1, wherein if the verification indication contains \u201caccess by jump\u201d, and in that the historical memory contains the state \u201caccess by jump\u201d, the verification module, prior to the acceptance of the instruction, comprises reading means of a table comprising, for the instruction in progress, the previous authorized program counter(s) and verifies if the previous program counter contained in a historical module is present in this list.
7. Supervisor module for microprocessor, comprising an access to the address bus of said microprocessor allowing to know the value of the program counter and a control memory containing verification information, wherein said supervisor module comprises a historical memory of the program counter indicating the position of the program counter while executing the previous instruction, and reading means of a verification information from said control memory defining for the current instruction, the allowed previous value of the program counter, said supervisor module comprising means to compare this verification information with the one coming from the historical memory, and means to generate an error if the comparison indicates an incompatibly.
8. Supervisor module according to claim 7, wherein the verification information contains at least two states, namely \u201caccess by auto-increment or \u201caccess by jump\u201d, and in that the historical memory contains two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d on the basis of the behaviour of the program counter in order to reach the instruction in progress, the verification module generates an error if the verification information indicates the state \u201caccess by auto-increment\u201d, and the historical memory indicates the state \u201caccess by jump\u201d.
9. Supervisor module according to claim 7, wherein the verification information contains at least two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d, and in that the historical memory contains two states, namely \u201caccess by auto-increment\u201d or \u201caccess by jump\u201d on the basis of the behaviour of the program counter in order to reach the instruction in progress, the verification module accepts the current instruction if the verification information indicates the state \u201caccess by jump\u201d, and the historical memory indicates the state \u201caccess by auto-increment\u201d.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A data handling system (700, 710) for managing andor monitoring a complex system (200, 250, 310), said data handling system (700, 710) comprising computing hardware (700) operable to execute one or more support software products (750) for assimilating data andor information from the complex system (250, 310) and for sending information andor data thereto for monitoring andor managing said complex system (250, 310),
characterized in that
said data handling system (700, 710) is further provided with one or more interface software products (800) executable on said computing hardware (700) for providing in operation a data andor information interface (400, 420) between one or more personnel (70) and at least one of: said one or more support software products (750), directly to said complex system (250, 310),
said one or more interface software products (800) being operable to implement one or more workflows defined in a top-down strategy, said one or more workflows defining one or more data filters for selectively filtering andor aggregating information andor data provided from said complex system (250, 310) andor from said one or more support software products (750) for presenting to said one or more personnel (70) via said one or more interface software products (800) for selectively reducing a quantity of data andor information to be interpreted by said one or more personnel (70).
2. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) are provided when executing on said computing hardware (700) with access to at least one dedicated database (830), said at least one dedicated database (830) being used by said one or more interface software products (800) to store data supplied by said one or more support software products (750) subject to data filtering andor aggregating as defined by said one or more workflows.
3. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) are operable to communicate presentation data to an array of one or more screens (420) viewable by said one or more personnel (70) in operation, said presentation data being derived from at least one of:
(a) intermediate data andor information computed by said one or more support data products (750) from measurement data provided from said complex system (250, 310);
(b) measurement data supplied directly from the complex system (250, 310) to the one or more interface software products (800); and
(c) selectively-filtered andor selectively-aggregated stored data which has been generated by said one or more interface software products (800) in operation from data provided from said one or more supportive data products (750) andor directly from said complex system (250, 310).
4. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) when executed on said computing hardware (700) are operable to enable said one or more personnel (70) to define one or more workflows in a top-down strategy, said one or more workflows defining one or more filter parameters for use in filtering andor aggregating data andor information to be presented to said one or more personnel (70) in operation.
5. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) are operable when executed on said computing hardware (700) to render said one or more workflows to be invoked in response to at least one of:
(a) one or more invoking instructions generated from one or more other workflows;
(b) one or more physical conditions arising within said complex system (250, 310); and
(c) one or more instructions entered by said one or more personnel (70) to said computer hardware (700) via said one or more interfacing software products (800).
6. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) are operable to enable said one or more workflows to be configured in a mutually-dependent hierarchical manner.
7. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) are operable to enable said one or more workflows to be configured to be executed in a mutually concurrent manner.
8. A data handling system (700, 710) as claimed in claim 3, wherein said array of one or more screens (420) includes a plurality of screens (450, 460U, 460L, 470U, 470L) andor display regions comprising:
(a) a first screen (450) or first display region for presenting a spatial representation of the complex system (250, 310);
(b) a second screen (470U) or second display region for presenting one or more workflows facilitated by said one or more interface software products (800);
(c) a third screen (470L) or third display region for presenting filtered data which is pertinent to said one or more workflows facilitated by said one or more interface software products (800); and
(d) a fourth screen (460L) or display region for presenting a one or more operating procedures relevant to said one or more workflows presented on said second screen (470U).
9. A data handling system (700, 710) as claimed in claim 8, wherein said first screen (450) or display region is spatially located centrally relative to said second, third and fourth screens or display regions.
10. A data handling system (700, 710) as claimed in claim 1, wherein said one or more interface software products (800) include a data integration service software product (900) for defining a data interface between said one or more interface software products (800) and said one or more support software products (750), said one or more data interface software products (800) being operable to function as a data filter andor data aggregator for reducing a volume of data to be presented to said one or more personnel (70) in connection with one or more associated workflows being presented thereto.
11. A data handling system (700, 710) as claimed in claim 10, wherein said data integration service software product (900) is operable to being edited to adapt said one or more interface software products (800) for operating with a variety of types of said complex system.
12. A data handling system (700, 710) as claimed in claim 11, wherein said one or more interface software products (800) are configurable for being used to monitor andor manage said complex system (200, 250, 310) when said complex system is implemented as at least one of:
(a) a configuration of oil andor gas wells;
(b) a configuration of off-shore oil andor gas platforms;
(c) a configuration of wind turbines operable to generate electricity;
(d) a configuration of solar cells operable to generate electricity;
(e) a nuclear electrical power generating installation;
(f) an electricity distribution network;
(g) a configuration of marine wave energy units operable to generate electricity from marine wave motion;
(i) a configuration of dams andor sluices;
(j) a convention fossil-fuel burning electricity generating facility;
(k) a configuration of coal mines for mining coal;
(l) a configuration of geothermal sites for collecting geothermal energy;
(m) a logistics configuration for distributing goods.
13. A software product (800) stored or communicated via a data carrier, said software product (800) being executable on computing hardware (700) for implementing a data handling system (700, 710) as claimed in claim 1.
14. A method of handling data in a data handling system (700, 710) for monitoring andor managing a complex system (200, 250, 310), said data handling system (700, 710) comprising computing hardware (700) operable to execute one or more support software products (750) for assimilating information andor data from the complex system (250, 310) and for sending control information thereto for monitoring andor managing said complex system (250, 310),
characterized in that
said method includes steps of:
(a) installing into said data handling system (700, 710) one or more interface software products (800) executable on said computing hardware (700) for providing in operation a data interface (400, 420) between one or more personnel (70) and at least one of: said one or more support software products (750), directly to said complex system (250, 310);
(b) applying said one or more interface software products (800) to implement one or more workflows defined in a top-down strategy, said one or more workflows defining one or more filters andor aggregators for selectively filtering andor aggregating information andor data provided from said complex system (250, 310) andor from said one or more support software products (750) for presenting to said one or more personnel (70) via said one or more interface software products (800) for selectively reducing a quantity of data to be interpreted by said one or more personnel (70).
15. A method as claimed in claim 14, said method including a step of:
(c) providing said one or more interface software products (800) when executing on said computing hardware (700) with access to one or more dedicated databases (830), said one or more dedicated databases (830) being used by said one or more interface software products (800) to store data supplied by said one or more support software products (750) subject to data andor information filtering andor aggregating as defined by said one or more workflows.
16. A method as claimed in claim 15, said method including a further step of:
(d) communicating via said one or more interface software products (800) presentation data to an array of one or more screens (420) viewable by said one or more personnel (70) in operation, said presentation data being derived from at least one of:
intermediate data computed by said one or more support data products (750) from measurement data provided from said complex system (250, 310);
measurement data supplied directly from the complex system (250, 310) to the one or more interface software products (800); and
selectively-filtered andor selectively-aggregating stored data which has been generated by said one or more interface software products (800) in operation from data andor information provided from said one or more supportive data products (750) andor directly from said complex system (250, 310).
17. A method as claimed in claim 14, said method including a step of:
(e) enabling said one or more interface software products (800) when executed on said computing hardware (700) for said one or more personnel (70) to define one or more workflows in a top-down strategy, said one or more workflows defining one or more filter parameters andor aggregating parameters for use in filtering andor aggregating data andor information to be presented to said one or more personnel (70) in operation.
18. A method as claimed in claim 14, said method including a step of:
(f) configuring said one or more interface software products (800) to be operable to render said one or more workflows to be invoked in response to at least one of:
one or more invoking instructions generated from one or more other workflows;
one or more physical conditions arising within said complex system (250, 310); and
one or more instructions entered by said one or more personnel (70) to said computer hardware (700) via said one or more interfacing software products (800).
19. A method as claimed in claim 14, said method including a step of:
(g) arranging said one or more interface software products (800) to be operable to enable said one or more workflows to be configured in a mutually-dependent hierarchical manner.
20. A method as claimed in claim 14, said method including a step of:
(h) arranging said one or more interface software products (800) to be operable to enable said one or more workflows to be configured to be executed in a mutually concurrent manner.
21. A method as claimed in claim 16, wherein said array of one or more screens (420) includes a plurality of screens (450, 460U, 460L, 470U, 470L) andor a plurality of screen regions comprising:
(a) a first screen (450) or first screen region for presenting a spatial representation of the complex system (250, 310);
(b) a second screen (470U) or second screen region for presenting one or more workflows facilitated by said one or more interface software products (800);
(c) a third screen (470L) or third screen region for presenting filtered data which is pertinent to said one or more workflows facilitated by said one or more interface software products (800);
(d) a fourth screen (460L) or fourth screen region for presenting a one or more operating procedures relevant to said one or more workflows presented on said second screen (470U) or second screen region.
22. A method as claimed in claim 21, wherein said first screen (450) or first screen region is spatially located centrally relative to said second, third and fourth screens or screen regions.
23. A method as claimed in claim 14, wherein said one or more interface software products (800) include a data integration service software product (900) for defining a data interface between said one or more interface software products (800) and said one or more support software products (750), said data interface software product being operable to function as a data filter andor data aggregator for reducing a volume of data to be presented to said one or more personnel (70) in connection with one or more associated workflows being presented thereto.
24. A method as claimed in claim 23, wherein said data integration service software product (900) is operable to being edited to adapt said one or more interface software products (800) for operating with a variety of types of said complex system.
25. A method as claimed in claim 24, wherein said one or more interface software products (800) are configurable for being used to monitor andor control said complex system (200, 250, 310) when said complex system is implemented as at least one of:
(a) a configuration of oil andor gas wells;
(b) a configuration of off-shore oil andor gas platforms;
(c) a configuration of wind turbines operable to generate electricity;
(d) a configuration of solar cells for operable to generate electricity;
(e) a nuclear electrical power generating installation;
(f) an electricity distribution network;
(g) a configuration of marine wave energy units operable to generate electricity from marine wave motion;
(i) a configuration of dams andor sluices;
(j) a convention fossil-fuel burning electricity generating facility;
(k) a configuration of coal mines for mining coal;
(l) a configuration of geothermal sites for collecting geothermal energy;
(m) a logistics configuration for distributing goods.