Method for Defining the Physical Configuration of a Communication System
A method is provided for automatically generating code to define and control a system of connected hardware elements. The method comprises: accepting a system configuration macro with sub-macros for system elements, subsystem elements, and connections there between; accepting a plurality of tables with a plurality of system element behaviors, a plurality of subsystem element behaviors, and a plurality of connection options; defining the system of connected elements in response to selecting sub-macros; defining the physical links between the system elements and the behavior of the system and subsystem elements in response to populating the selected sub-macro parameters; expanding the selected sub-macros; generating executable code; and, accessing the tables in response to parameters in the executable code. Advantageously, the form and function of the system can be defined with programming, or writing application specific code.
1 - 25 . (canceled)
26 . A machine-readable medium having stored thereon instructions for automatically generating code to define and control a system of connected elements, the instructions comprising:
supplying a system configuration macro with sub-macros for system elements, subsystem elements embedded in the system elements, and connections there between;
supplying a plurality of tables with a plurality of system element behaviors, a plurality of subsystem element behaviors, and a plurality of connection options;
defining a system of connected elements in response to receiving instructions selecting sub-macros;
defining the physical links between the system elements and the behavior of the system and subsystem elements in response to populating the selected sub-macro parameters;
expanding the selected sub-macros;
automatically generating executable code;
accessing the tables in response to parameters in the executable code; and,
storing the tables in a tangible memory medium.
27 . The instructions of claim 26 further comprising:
populating parameters in the selected sub-macros; and,
elaborating the executable code.
28 . The instructions of claim 27 wherein elaborating the executable code includes differentiating the executable code into code sections corresponding to system and subsystem elements; and,
wherein storing the tables includes loading accessed tables into corresponding subsystem memories.
29 . The instructions of claim 28 further comprising:
following the elaboration of the executable code, monitoring the system performance;
comparing the system performance to a standard;
in response to sub-standard system performance:
automatically repopulating selected parameters in the selected sub-macros;
instantiating new executable code; and,
storing accessed indexing tables in response to the repopulated parameters.
30 . The instructions of claim 26 wherein supplying a system configuration macro with sub-macros includes supplying a system configuration macro with sub-macros for switch card and port card system elements, integrated circuit (chip) subsystem elements on the cards, and connections there between; and,
wherein automatically generating executable code includes automatically generating code to define and control a system of cards connected in a switch fabric network.
31 . A graphical user interface (GUI) for defining the physical configuration of a network, the GUI comprising:
a first user interface for accessing a system configuration macro text file with selectable sub-macros for system elements, subsystem elements on the cards, and connections there between;
a second user interface for accessing tables defining the behavior of system elements, subsystem elements, and connection options;
a third user interface for defining a network of connected elements supplied in response to selecting sub-macros;
a fourth user interface for defining the physical links between the system elements and the behavior of the system and subsystem elements supplied in response to populating the selected sub-macro parameters; and,
a machine interface to supply code with parameters for loading tables into system element memories.
32 . The GUI of claim 31 wherein the first user interface accesses a hierarchical set of fields, with subsystem elements being indentured to system elements; and,
wherein the machine interface supplies code for:
accessing a sub-table in response to indexing a table; and,
loading values from the sub-table in a subsystem memory.
33 . The GUI of claim 31 wherein the first user interface accesses a switch fabric configuration macro for defining switch fabric cards, firmware processing integrated circuits (chips) on the cards, and the connections between the cards.
34 . The GUI of claim 33 wherein the first user interface accesses sub-macros to hierarchically define the system level (slot number), the slot level (card type), card level (chip type), and chip level (link types and endpoint).
35 . A method for dynamically maintaining optimum performance levels in a system, the method comprising:
following the elaboration of a network including connected system and subsystem elements, monitoring the network performance;
comparing the network performance to a standard;
in response to sub-standard network performance:
automatically repopulating selected parameters in selected sub-macros defining system elements, subsystem elements, and connections there between;
instantiating executable code; and,
loading accessed tables into system elements in response to the repopulated parameters, the tables defining system element behaviors, subsystem element behaviors, and connection options.
36 . The method of claim 35 wherein monitoring the network performance includes monitoring a network of switch fabric cards, firmware processing integrated circuits (chips) on the cards, and connections between the cards.