1. A computer-readable medium holding executable instructions that when executed on a processor generate computer program instructions, the medium holding instructions for:
analyzing components in a simulatable block diagram model, the analyzing:
identifying components that are critical to control of a hardware device, and
identifying components that are not critical to control of the hardware device;
marking the components identified as critical to control of the hardware device as critical components;
marking the components identified as not critical to control of the hardware device as non-critical components; and
generating the computer program instructions for the simulatable block diagram model with an automatic code generator, the computer program instructions implementing behavior of the block diagram model, the generating including:
generating computer program instructions for only the components of the block diagram model marked as critical.
2. The computer-readable medium of claim 1, further comprising:
storing data associated with the components that are not critical to control of the hardware device.
3. The computer-readable medium of claim 1, where the components that are not critical to control of the hardware device are included in a user interface for the hardware device.
4. The computer-readable medium of claim 1, further comprising:
receiving a user input related to one or more components that are critical to control of the hardware device.
5. The computer-readable medium of claim 4, further comprising:
receiving a user input related to one or more components that are not critical to control of the hardware device.
6. The computer-readable medium of claim 1, further comprising:
receiving a user input via a graphical user interface, the user input related to:
one or more components that are critical to control of the hardware device, or
one or more components that are not critical to control of the hardware device.
7. The computer-readable medium of claim 1, where the model includes non-critical portions that are post-processing units.
8. The computer-readable medium of claim 7, the post-processing units are logical units of the model that have no synchronized data outputs feeding non-post-processing portions of the model.
9. The computer-readable medium of claim 1, wherein the generating further comprises:
establishing an inter-process communication link between the generated computer program instructions and non-critical portions of the model.
10. The computer-readable medium of claim 9, further comprising:
receiving output from the generated computer program instructions via the inter-process communications link.
11. The computer-readable medium of claim 10, further comprising:
executing the computer program instructions on a target processor associated with a target.
12. The computer-readable medium of claim 10, further comprising:
processing the output in non-critical portions of the model.
13. A computer-readable medium holding executable instructions that when executed on a processor generate computer program instructions, the medium holding instructions for:
displaying a graphical user interface, the graphical user interface for:
displaying components in a simulatable block diagram model,
receiving a first user input related to a component that is critical to control of a hardware device, or
receiving a second user input related to a component that is not critical to control of a hardware device;
marking components identified as critical to control of the hardware device as critical components; and
generating computer program instructions for the simulatable block diagram model via an automatic code generator, where the computer program instructions implement behavior of the block diagram model on the hardware device when the hardware device executes the generated computer program instructions, the generating including:
generating computer program instructions for the components of the block diagram model that are marked as critical, and
maintaining an interface to components that are not critical to the control of the hardware device.
14. The computer-readable medium of claim 13, further comprising:
not generating computer program instructions for components that are not critical to control of the hardware device.
15. The computer-readable medium of claim 13, further comprising:
marking components identified as non-critical to control of the hardware device as non-critical components.
16. The computer-readable medium of claim 13, further comprising:
allocating memory for components that are not critical to control of the hardware device.
17. The computer-readable medium of claim 13, further comprising:
sending the generated computer program instructions to a target device.
18. A computer-implemented method, comprising:
displaying a graphical user interface, the graphical user interface for:
displaying components in a simulatable block diagram model, the components being:
critical components that are critical to control of a hardware device, or
non-critical components that are not critical to control of the hardware device
receiving a first user input related to a critical component, and
receiving a second user input related to a non-critical component;
marking components identified as critical to control of the hardware device as critical components;
marking components identified as non-critical to control of the hardware device as non-critical components; and
generating computer program instructions for the simulatable block diagram model via an automatic code generator, where the computer program instructions implement behavior of the block diagram model on the hardware device, the generating including:
generating computer program instructions for critical components, and
not generating computer program instructions for non-critical components.
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 method comprising:
organizing, by a computing device, a plurality of tabs of a computer program running on the computing device and a plurality of tab groups within which the tabs are organized over a hierarchy having three or more hierarchical levels, the computer program to manage a plurality of servers organized over a corresponding server hierarchy of server groups culminating in one or more server domains at a top of the corresponding server hierarchy, each tab corresponding to one of the servers, each tab group corresponding to one of the server groups,
where a lowest hierarchical level corresponds to the tabs, a second lowest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tabs, and a highest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tab groups lower in the hierarchy, the tab groups of the highest hierarchical level corresponding to the server domains;
displaying, by the computing device, a plurality of tab headers that each correspond to one of the tabs or one of the tab groups, on a screen in a top-down manner in correspondence with the hierarchy,
where the tab headers corresponding to the tabs in the lowest hierarchical level are displayed at a bottom of a predetermined area on the screen, the tab headers corresponding to the tab groups in the second lowest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the lowest hierarchical level, and the tab headers corresponding to the tab groups in the highest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the second lowest hierarchical level,
where each tab header corresponding to one of the tab groups has a width no less than a total of widths of the tab headers corresponding to the tabs or to the tab groups in the hierarchical level immediately below the one of the tab groups;
reducing, by the computing device, horizontal space occupied by the tab headers on the screen by selectively displaying a full version of each tab header or a slim version of each tab header, the full version of each tab header being greater in height than the slim version of each tab header; and
managing, by the computing device, under the control of an administrator, the servers via interactive selection of the tab headers, where a current server of the servers is displayed and is managed by the administrator upon selection of the tab to which the server corresponds,
wherein reducing the horizontal space occupied by the tab headers comprises:
displaying the full version of each tab header corresponding to one of the tab groups within the highest hierarchical level and displaying the slim version of each tab header corresponding to one of the tab groups not within the highest hierarchical level or to one of the tabs;
as an entry point of the method, responsive to user selection of a given tab header being selected, displaying the full version of the given tab header and displaying the slim version of each tab header other than the given tab header; and
repeating the method at the entry point as different user selections of different given tab headers are made.
2. The method of claim 1, wherein the full version of each tab header includes text labeling the tab header, and the slim version of each tab header does not include the text.
3. The method of claim 1, wherein the full version of each tab header includes both graphics and text labeling the tab header, and the slim version of each tab header does not include both the graphics and the text.
4. The method of claim 1, wherein organizing the tabs comprises retrieving the corresponding server hierarchy over which the servers are organized among the server groups culminating in the one or more server domains, creating the tabs in correspondence with the server, creating the tab groups in correspondence with the server groups, generating the hierarchy in correspondence with the server hierarchy, and organizing the tabs and the tab groups in correspondence with the hierarchy.
5. A computing device comprising:
a processor; and
a non-transitory computer-readable data storage medium to store a computer executable by the processor, wherein the computer program is to:
organize a plurality of tabs and a plurality of tab groups within which the tabs are organized over a hierarchy having three or more hierarchical levels, the computer program to manage a plurality of servers organized over a corresponding server hierarchy of server groups culminating in one or more server domains at a top of the corresponding server hierarchy, each tab corresponding to one of the servers, each tab group corresponding to one of the server groups,
where a lowest hierarchical level corresponds to the tabs, a second lowest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tabs, and a highest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tab groups lower in the hierarchy, the tab groups of the highest hierarchical level corresponding to the server domains;
display a plurality of tab headers that each correspond to one of the tabs or one of the tab groups, on a screen in a top-down manner in correspondence with the hierarchy,
where the tab headers corresponding to the tabs in the lowest hierarchical level are displayed at a bottom of a predetermined area on the screen, the tab headers corresponding to the tab groups in the second lowest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the lowest hierarchical level, and the tab headers corresponding to the tab groups in the highest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the second lowest hierarchical level,
where each tab header corresponding to one of the tab groups has a width no less than a total of widths of the tab headers corresponding to the tabs or to the tab groups in the hierarchical level immediately below the one of the tab groups;
reduce horizontal space occupied by the tab headers on the screen by selectively displaying a full version of each tab header or a slim version of each tab header, the full version of each tab header being greater in height than the slim version of each tab header; and
manage, under the control of an administrator, the servers via interactive selection of the tab headers, where a current server of the servers is displayed and is managed by the administrator upon selection of the tab to which the server corresponds,
wherein the horizontal space occupied by the tab headers is reduced by:
displaying the full version of each tab header corresponding to one of the tab groups within the highest hierarchical level and displaying the slim version of each tab header corresponding to one of the tab groups not within the highest hierarchical level or to one of the tabs;
as an entry point, responsive to user selection of a given tab header being selected, displaying the full version of the given tab header and displaying the slim version of each tab header other than the given tab header; and
proceeding back to the entry point as different user selections of different given tab headers are made.
6. The computing device of claim 5, wherein the full version of each tab header includes text labeling the tab header, and the slim version of each tab header does not include the text.
7. The computing device of claim 5, wherein the full version of each tab header includes both graphics and text labeling the tab header, and the slim version of each tab header does not include both the graphics and the text.
8. The computing device of claim 5, wherein the tabs are organized by retrieving the corresponding server hierarchy over which the servers are organized among the server groups culminating in the one or more server domains, creating the tabs in correspondence with the server, creating the tab groups in correspondence with the server groups, generating the hierarchy in correspondence with the server hierarchy, and organizing the tabs and the tab groups in correspondence with the hierarchy.
9. A non-transitory computer program product comprising a storage device storing a computer program executable by a processor of a computing device to perform a method comprising:
organizing a plurality of tabs of a computer program running on the computing device and a plurality of tab groups within which the tabs are organized over a hierarchy having three or more hierarchical levels, the computer program to manage a plurality of servers organized over a corresponding server hierarchy of server groups culminating in one or more server domains at a top of the corresponding server hierarchy, each tab corresponding to one of the servers, each tab group corresponding to one of the server groups,
where a lowest hierarchical level corresponds to the tabs, a second lowest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tabs, and a highest hierarchical level corresponds to the tab groups that each directly encompass a subset of the tab groups lower in the hierarchy, the tab groups of the highest hierarchical level corresponding to the server domains;
displaying a plurality of tab headers that each correspond to one of the tabs or one of the tab groups, on a screen in a top-down manner in correspondence with the hierarchy,
where the tab headers corresponding to the tabs in the lowest hierarchical level are displayed at a bottom of a predetermined area on the screen, the tab headers corresponding to the tab groups in the second lowest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the lowest hierarchical level, and the tab headers corresponding to the tab groups in the highest hierarchical level are displayed completely above the tab headers corresponding to the tabs in the second lowest hierarchical level,
where each tab header corresponding to one of the tab groups has a width no less than a total of widths of the tab headers corresponding to the tabs or to the tab groups in the hierarchical level immediately below the one of the tab groups;
reducing horizontal space occupied by the tab headers on the screen by selectively displaying a full version of each tab header or a slim version of each tab header, the full version of each tab header being greater in height than the slim version of each tab header; and
managing, under the control of an administrator, the servers via interactive selection of the tab headers, where a current server of the servers is displayed and is managed by the administrator upon selection of the tab to which the server corresponds,
wherein reducing the horizontal space occupied by the tab headers comprises:
displaying the full version of each tab header corresponding to one of the tab groups within the highest hierarchical level and displaying the slim version of each tab header corresponding to one of the tab groups not within the highest hierarchical level or to one of the tabs;
as an entry point of the method, responsive to user selection of a given tab header being selected, displaying the full version of the given tab header and displaying the slim version of each tab header other than the given tab header; and
repeating the method at the entry point as different user selections of different given tab headers are made.
10. The computer program product of claim 9, wherein the full version of each tab header includes text labeling the tab header, and the slim version of each tab header does not include the text.
11. The computer program product of claim 9, wherein the full version of each tab header includes both graphics and text labeling the tab header, and the slim version of each tab header does not include both the graphics and the text.
12. The computer program product of claim 9, wherein organizing the tabs comprises retrieving the corresponding server hierarchy over which the servers are organized among the server groups culminating in the one or more server domains, creating the tabs in correspondence with the server, creating the tab groups in correspondence with the server groups, generating the hierarchy in correspondence with the server hierarchy, and organizing the tabs and the tab groups in correspondence with the hierarchy.