CHAPTER 7. DYNAMIC GENERATION OF SESSION DEPENDENT
7.5.3. Linking navigation and control
Although the navigation structure has been generated and put onto the control page, the navigation will not work properly without linking it to actual control data to enable the page to indicate the machine state information in real time.
Figure 7. 6 Link From Navigation To Page Content
The core of the solution is to group the information in blocks so that they can be referenced independently and to provide the navigation node messages for referencing these blocks. Therefore when a node is activated an appropriate message is sent to the system and the system will execute a corresponding method to retrieve the blocks, and choose only the selected block to display. No matter how the blocks are displayed. In this way, users will index the required data efficiently.
As introduced in Chapter 6, when CPL was mapped to a control page, the information is grouped according to different mapping rules. However, information for the same machine will always be displayed in the same block. At the same time as the navigation tree is created the messages that are linked to the nodes are also generated accordingly. When the system
receives a message from a node, it will retrieve information about which blocks are required by the user. The system will reorganise the control page according to the user’s needs and hiding information that is not of interest.
Figure 7.6 shows an example for this process. On the control page there is a navigation tree with 8 nodes (N1 to N8). M1 to M5 are the identities of the controlled machine. Block 1 to Block 5 represents the groups of data showed on the CWUI related to machines M1 to M5 respectively. As shown in the diagram, N4 to N8 are leave nodes representing machines M1 to M5 respectively. Node Value shows the message contained in each of these leave nodes. As was discussed previously, the machine information for the page is put into different blocks on the page (Block1 to Block5) according to CPL mapping rules. Each leaf node carries information for the current node name, which needs to be shown in the actual navigation tree. The node also carries navigation information, which indicates the actual block linked with this node. For example, node N4 contains node value M1 and is mapped to Block 3. Therefore, when N4 is selected M1 is the ID of the machine that needs to be shown on the page, while Block 3 is the actual required block which contains the information the user requested. For nodes like N2 and N3 that have children, there might be more then one block linked to it. When node N3 is selected, messages will be sent to the message handler, bringing the data value stored in N3. As shown in the figure, N3 includes information from both N7 and N8. N7 has node value M4 and linked to Block 5, while N8 has node value M8 and linked to Block 1. After analysing the semantic CPL, the system identifies that Blocks 1 and 5 should be visible and Blocks 2, 3, and 4 should be hidden. The control page is reorganised showing only information that should be visible to the user.
In this way, navigation is linked with dynamic page content, control commands and real-time data.
7.6. Summary and conclusions
There are two problems for multiple machine control page. The first is that different users want to control different machines and the requirement may be changeable during the control process. Therefore, different users require control pages that are tailored to their needs. Another problem is information for displaying may not fit onto a single screen. Therefore a
navigation structure for accessing the information will need to be dynamically generated for each control session according to the user's requirements.
To solve the two problems, this chapter made following contributions:
First, a message-driven model is proposed. It provides the necessary flexibility for handling different states during the page generation process. Hence different control pages models can be generated without confusion.
Second, session dependent data can be added in to the CPL basic categories which are originally generated based on domain ontology. Data in different categories can be processed separately and later map to the same CWUI. In that way, new information can be used for the generation of a more dynamic navigation.
Based on the above, a method for dynamic navigation generation is realised. By providing the user with a set of appropriate keywords based on a set of machines chosen for control and monitoring, the user can select and order a list of keywords. Based on the list a navigation tree can be created dynamically according to the user’s requirements. A page with the navigation structure can be generated and linked with the required control information.
The research on navigation for such a remote control system is novel. The idea behind it is to organise the web application information in a semantic way and offers session dependent index for the information requested. It is not only designed for a representation purpose but also for a method to structure the application output information. It is new, especially in the area of remote control applications.