Automatic Widget position refreshing system oriented to ARINC661 protocol

By introducing the Shuffle kernel system, the Shuffle function is unified, which solves the problem of complex logic of Shuffle containers in the ARINC661 protocol, and improves code reuse rate and system reliability.

CN120406942APending Publication Date: 2025-08-01CHINESE AERONAUTICAL RADIO ELECTRONICS RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510338785.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In the prior art, the Shuffle container of the ARINC661 protocol has complex logic, low code reuse rate, and is difficult to expand and maintain, which affects the reliability of the cockpit display system.

Method used

By introducing an independent Shuffle kernel system, Shuffle functions are implemented uniformly, including workspace, management modules and operation modules, simplifying the implementation logic of Shuffle containers, improving code reuse and system scalability.

Benefits of technology

It simplifies the difficulty of developing Shuffle containers, improves code reuse rate, is easy to maintain, and enhances the reliability of the cockpit display system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120406942A_ABST
    Figure CN120406942A_ABST
Patent Text Reader

Abstract

The invention discloses an automatic Widget position refreshing system for an ARINC661 protocol. The automatic Widget position refreshing system comprises a working space, a management module and an operation module, the working space comprises a sufficient number of working space units; the management module is responsible for managing a workspace, applying for and occupying an idle workspace unit for the current Shuffle container when accessing the Shuffle container, releasing the current workspace unit after finishing Widget position refreshing, and recovering an idle state; and the operation module is responsible for operating the working space unit of the current Shuffle container, including setting a Shuffle parameter set, updating a Shuffle target, calculating the Shuffle target and refreshing the size and the position of the sub Widget. The implementation logic of the Shuffle container is simplified, the development difficulty of the Shuffle container is reduced, and the reliability of a display system is easier to guarantee.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of integrated civil aircraft avionics systems, and relates to a civil aircraft cockpit display system based on the ARINC661 protocol, and particularly to a Widget position automatic refresh system for the ARINC661 protocol. Background Art

[0002] With the continuous development of civil aircraft avionics systems and the introduction of various new sensors, the picture information displayed by the cockpit display system is becoming increasingly complex. In order to meet the gradually expanding functional requirements, the ARINC661 protocol may need to be appropriately extended, which requires the cockpit display system to have good scalability. At the same time, as one of the main human-machine interaction interfaces, the cockpit display system not only displays important information such as the current flight parameters of the aircraft, the engine status, and crew warnings in real time, but also receives the interactive operation instructions of the pilot on the display interface, which puts certain requirements on the reliability of the cockpit display system.

[0003] The ARINC661 protocol defines the smallest functional unit of the display picture - Widget, which has diverse appearances and complex functions. Several Widgets constitute the independent functional picture (referred to as a layer) of the UA (User Application). There is a hierarchical relationship between Widgets. The parent Widget can manage the attributes such as the visibility and interactivity of its child Widgets. A class of parent Widgets with the Shuffle function are collectively referred to as "Shuffle containers", including MenuBar, ShuffleToFitContainer, SizeToFitContainer, etc. The Shuffle function refers to refreshing the size and position of the visible child Widgets therein. For example, Figure 1 as shown, multiple randomly arranged Widgets become regular and orderly after Shuffle. In traditional implementation methods, various Shuffle containers implement their Shuffle functions independently. The logic of the Shuffle containers themselves is complex, and similar functions are implemented repeatedly, resulting in a low code reuse rate and inconvenience for subsequent expansion and maintenance. In addition, only by minimizing the security risks of each Shuffle container can the overall failure rate be effectively controlled, making it difficult to guarantee the reliability of the display system. Therefore, it is very necessary to optimize the implementation method of the Shuffle function. Summary of the Invention

[0004] The object of the present invention is to provide an automatic widget position refresh system for the ARINC661 protocol, which uniformly implements the Shuffle function through an independent system, thereby simplifying the implementation logic of the Shuffle container and reducing the difficulty of Shuffle container development. On the one hand, the code reuse rate is improved and the scalability of the display system is enhanced. On the other hand, the Shuffle function can be centrally maintained, making it easier to ensure the reliability of the display system.

[0005] The object of the present invention is achieved through the following technical solutions:

[0006] A widget position automatic refresh system for ARINC661 protocol, including workspace, management module and operation module;

[0007] The workspace contains a sufficient number of workspace units;

[0008] The management module is responsible for managing the workspace. When accessing the Shuffle container, it applies for and occupies an idle workspace unit for the current Shuffle container. After completing the widget position refresh, it releases the current workspace unit, cancels the occupied state, and restores the idle state.

[0009] The operation module is responsible for operating the workspace unit of the current Shuffle container, including:

[0010] According to the function definition and shuffle requirements of the current shuffle container, set the shuffle parameter set of the current workspace unit to control the shuffle style;

[0011] Traverse all child widgets under the current Shuffle container, and add the size and position handles of the visible child widgets to the Shuffle target of the current workspace unit in turn;

[0012] According to the Shuffle style described by the Shuffle parameter set, the size and position of all child widgets in the Shuffle target are calculated and modified through the size and position handles in the Shuffle target to refresh the size and position of the child widgets.

[0013] Preferably, when the operation module traverses all child widgets under the current Shuffle container, there are the following three situations:

[0014] (1) Ordinary Widget: If the child Widget is visible, its size and position handle is added to the Shuffle target of the current workspace unit;

[0015] (2) Shuffle container: Regarding the current Shuffle container as the outer Shuffle container and this sub-Widget as the inner Shuffle container, if the inner Shuffle container has visibility, add its size and position handles to the Shuffle target of the current working space unit.

[0016] Add a "nested lock" to the working space unit of the inner Shuffle container to ensure that the inner Shuffle container does not perform Shuffle target calculation before the current Shuffle container completes the Shuffle target calculation, avoiding the inner Shuffle container implementing the Shuffle function based on uncalculated size and position parameters; during the subsequent Widget traversal process, after the outer Shuffle container refreshes its position, the "nested lock" of the working space unit of the inner Shuffle container is released.

[0017] (3) Connector: Do not update the Shuffle target. At the same time, for each Connector in the current Shuffle container, add a "link lock" to the current working space unit to ensure that the current Shuffle container does not perform Shuffle target calculation until all Widgets in the linked layer are added to the Shuffle target; during the subsequent Widget traversal process, after each linked layer is processed, the "link lock" corresponding to that layer is released from the current working space unit.

[0018] Preferably, when the operation module sequentially adds the size and position handles of visible sub-Widgets to the Shuffle target of the current working space unit, it synchronously adds the group number and the sub-Widget handle to the Shuffle target. When there is no Connector, the group number remains unchanged and all sub-Widgets belong to the same group; if a Connector is accessed during the traversal, the group number is incremented by 1, reserving the new group number for the Widgets in the linked layer, and then the group number is incremented by 1 again to continue traversing the remaining sub-Widgets, so that the part before the Connector, the part linked by the Connector, and the part after the Connector are grouped according to the Shuffle display order.

[0019] Preferably, after all sub-Widgets are traversed, the operation module determines whether there is a nested lock or a link lock in the current working space unit. If there is a nested lock or a link lock, the current working space unit enters a suspended state. When the "nested lock" is released due to the outer Shuffle completing the refresh, or the "link lock" is released after processing a linked layer, all suspended working space units are re-determined. If all locks of a certain working space unit are released, it exits the suspended state.

[0020] Preferably, when the operation module calculates and modifies the sizes and positions of all sub-Widgets in the Shuffle target, the specific calculation steps are as follows:

[0021] (1) Sort all sub-Widgets among groups according to the group number, and keep the Widget traversal order within the group, so that the sub-Widgets in the Shuffle target conform to the display order;

[0022] (2) According to the upper limit of the quantity, keep a part of the sub-Widgets with a higher display order, and make the sub-Widgets exceeding the upper limit of the quantity invisible;

[0023] (3) Calculate and modify the sizes of the sub-Widgets according to the equal-width mode and the equal-height mode;

[0024] (4) Calculate and modify the positions of the sub-Widgets according to the alignment mode and the alignment offset;

[0025] (5) Calculate and modify the positions of the sub-Widgets according to the arrangement mode and the arrangement spacing.

[0026] The beneficial effects of the present invention are as follows:

[0027] The Widget position automatic refresh system proposed by the present invention, compared with the traditional implementation method, by abstracting the Shuffle function defined in the ARINC661 specification into an independent subsystem, makes the implementation logic of the Shuffle container clearer and more concise, reduces the development difficulty of the Shuffle container, effectively improves the code reuse rate, is easy to expand and maintain subsequently, and only needs to control the failure rate of the Shuffle kernel to ensure the reliability of the entire cockpit display system. Description of the Drawings

[0028] Figure 1 It is a diagram showing an example of the Shuffle function.

[0029] Figure 2 It is a functional block diagram of the Widget position automatic refresh system for the ARINC661 protocol

[0030] Figure 3 It is a flowchart of the implementation of the Shuffle function.

[0031] Figure 4 It is a diagram showing an example of the Connector. Detailed Implementation Modes

[0032] The present invention will be further described in detail below with reference to the drawings and embodiments.

[0033] A Widget position automatic refresh system for ARINC661 protocol shown in this embodiment. The core idea is to abstract the implementation of the Shuffle function into an independent subsystem, namely the "Shuffle kernel". The Shuffle container only needs to set the corresponding parameters, and the Shuffle kernel performs unified logical processing to implement the Shuffle function.

[0034] See Figure 2 As shown, the Shuffle kernel is divided into three sub-modules: the workspace, the management module, and the operation module.

[0035] 1. Workspace

[0036] The workspace contains a sufficient number of workspace units. After a workspace unit is occupied by a certain Shuffle container, it stores the data required for the Shuffle container to implement the size and position refresh of the sub-Widget. The workspace unit consists of a Shuffle target and a Shuffle parameter set.

[0037] The Shuffle target is a set of size and position handles of all sub-Widgets to be refreshed within the Shuffle container.

[0038] The Shuffle parameter set describes the specific style for the Shuffle container to implement the size and position refresh of the sub-Widget. The detailed parameters are as follows:

[0039] (1) Upper limit of quantity: The upper limit of the number of visible sub-Widgets within the Shuffle container.

[0040] (2) Equal-width mode: The style of the width of the sub-Widget.

[0041] No equal width - Do not modify the width of the sub-Widget (such as Figure 1 in container A, B);

[0042] Fixed width - Set the width of all sub-Widgets to the width of the Shuffle container;

[0043] Average width - All sub-Widgets evenly divide the width of the Shuffle container (such as Figure 1 in container C).

[0044] (3) Equal-height mode: The style of the height of the sub-Widget.

[0045] No equal height - Do not modify the height of the sub-Widget;

[0046] Fixed height - Set the height of all sub-Widgets to the height of the Shuffle container (such as Figure 1 );

[0047] Average height - All child widgets share the Shuffle container height equally.

[0048] (4) Alignment mode: The style in which child widgets are aligned along a certain direction.

[0049] No alignment - the position of the child widget is not modified;

[0050] Bottom alignment - All child widgets are horizontally aligned to the bottom of the Shuffle container (such as Figure 1 );

[0051] Align left - All child widgets are vertically aligned to the left side of the Shuffle container.

[0052] (5) Alignment offset: The offset of the child widget position relative to the origin of the Shuffle container during alignment.

[0053] (6) Arrangement mode: the arrangement style of sub-widgets.

[0054] Normal arrangement - all sub-Widgets are only aligned without compacting, including horizontal arrangement (such as Figure 1 Middle container A), arranged vertically;

[0055] Compact arrangement - All sub-Widgets are arranged at a fixed distance to achieve a compact effect, including from left to right (such as Figure 1 Middle container B, C), from right to left, from top to bottom, and from bottom to top.

[0056] (7) Arrangement spacing: The spacing value of the sub-widgets in the arrangement direction when compactly arranged.

[0057] 2. Management Module

[0058] The management module is responsible for managing the workspace, including the application and release of workspace units.

[0059] Apply for a workspace unit. That is, when accessing a Shuffle container, apply for and occupy an idle workspace unit for the current Shuffle container. If there is no idle workspace unit, the application is considered failed.

[0060] Release the workspace unit, that is, release the current workspace unit after completing the widget position refresh, cancel the occupied state, and restore the idle state.

[0061] 3. Operation module

[0062] The operation module is responsible for operating on the workspace unit of the current Shuffle container, including setting the Shuffle parameter set, updating the Shuffle target, and calculating the Shuffle target.

[0063] Set the Shuffle parameter set, that is, according to the function definition of the current Shuffle container and the Shuffle requirements, set the Shuffle parameter set of the current workspace unit to control the Shuffle style.

[0064] Update the Shuffle target, that is, according to the Widget traversal order, add the size and position handles of visible child Widgets to the Shuffle target of the current workspace unit in sequence.

[0065] Calculate the Shuffle target, that is, according to the Shuffle style described by the Shuffle parameter set, calculate and modify the sizes and positions of all child Widgets in the Shuffle target through the size and position handles in the Shuffle target to refresh the sizes and positions of the child Widgets.

[0066] See Figure 3 The schematic diagram of the Shuffle function implementation process of the Widget position automatic refresh system for the ARINC661 protocol shown. When refreshing and drawing a certain layer, each Widget in the layer is accessed in sequence. If the Shuffle container is accessed, the following steps are executed:

[0067] Step 1: Apply for a workspace unit.

[0068] The management module accesses the workspace, finds the first free workspace unit, and occupies this workspace unit as the workspace unit of the current Shuffle container.

[0069] If there is no free workspace unit, it is regarded as a failed application, and the Shuffle function fails.

[0070] Step 2: Set the Shuffle parameter set.

[0071] The operation module sets the parameters in the Shuffle parameter set of the current workspace unit according to the function definition of the current Shuffle container and the Shuffle requirements.

[0072] Step 3: The operation module traverses all child Widgets under the current Shuffle container to update the Shuffle target. There are the following three situations when accessing child Widgets:

[0073] (1) Ordinary Widget

[0074] If the Widget is visible, add its size and position handle to the Shuffle target of the current workspace unit.

[0075] (2) Shuffle container (forming a Shuffle nest, this sub-Widget is regarded as the inner layer)

[0076] If the Shuffle container is visible, add its size and position handle to the Shuffle target of the current workspace unit.

[0077] Add a "nesting lock" to the workspace unit of the inner Shuffle container to ensure that the inner Shuffle container does not perform Shuffle target calculation until the outer Shuffle completes the Shuffle target calculation, avoiding the inner Shuffle container implementing the Shuffle function based on uncalculated size and position parameters. During the subsequent Widget traversal, after the outer Shuffle is refreshed, the "nesting lock" of the inner workspace unit is released.

[0078] (3) Connector

[0079] The Connector itself has no appearance, so the Shuffle target is not updated. As Figure 4 shown, the Connector in the Shuffle container links Layer B, causing the Widgets in Layer B to be inserted at the position of the Connector and become sub-Widgets of the Shuffle container.

[0080] For each Connector in the Shuffle container, add a "link lock" to the current workspace unit to ensure that the current Shuffle container does not perform Shuffle target calculation until all the Widgets in the linked layer are added to the Shuffle target. During the subsequent Widget traversal, after each linked layer is processed, the "link lock" corresponding to that layer is released from the current workspace unit.

[0081] As Figure 4As shown, the order in which sub-Widgets are added to the Shuffle target, i.e., the Widget traversal order, may not be the same as the Shuffle display order. Therefore, the "group number" and grouping mechanism are introduced. When updating the Shuffle target, the group number and the sub-Widget handle are synchronously added to the Shuffle target for sorting. When there is no Connector, the group number remains unchanged, and all sub-Widgets belong to the same group. If a Connector is accessed during the traversal process, the group number is incremented by 1, and the new group number is reserved for the Widgets in the linked layer. Then the group number is incremented by 1 again, and the remaining sub-Widgets are continued to be traversed, so that the part before the Connector, the part linked by the Connector, and the part after the Connector are grouped according to the Shuffle display order.

[0082] After all sub-Widgets have been traversed, proceed to the next step.

[0083] Step 4: The operation module determines whether the current workspace unit has a lock, which is divided into the following two cases:

[0084] (1) If there is a lock, the current workspace unit enters the suspended state.

[0085] When a specific event occurs (the "nested lock" is released due to the completion of the outer Shuffle refresh, or the "link lock" is released due to processing a linked layer), all suspended workspace units are re-determined. If all locks of a workspace unit are released, it exits the suspended state.

[0086] (2) If there is no lock, proceed to the next step.

[0087] Step 5: The operation module calculates the Shuffle target, modifies the size and position of the sub-Widgets to achieve the Shuffle refresh effect. The specific calculation steps are as follows:

[0088] (1) According to the group number, perform inter-group sorting on all sub-Widgets, and keep the Widget traversal order within the group, so that the sub-Widgets in the Shuffle target conform to the display order.

[0089] (2) According to the upper limit of the quantity, retain a part of the sub-Widgets with a higher display order, and make the sub-Widgets exceeding the upper limit of the quantity invisible.

[0090] (3) Calculate and modify the size of the sub-Widgets according to the equal-width mode and equal-height mode.

[0091] (4) Calculate and modify the position of the sub-Widgets according to the alignment mode and alignment offset.

[0092] (5) Calculate and modify the positions of the sub-widgets according to the arrangement pattern and arrangement spacing.

[0093] Step Six: Release the current workspace unit.

[0094] The management module releases the occupancy status of the current workspace unit and restores it to the idle state.

[0095] It can be understood that for those of ordinary skill in the art, equivalent substitutions or changes can be made according to the technical solutions and inventive concepts of the present invention, and all such changes or substitutions should fall within the protection scope of the claims appended to the present invention.

Claims

1. An automatic refresh system for Widget positions oriented to the ARINC661 protocol, characterized in that Contains workspace, management module, and operation module; The workspace contains a sufficient number of workspace units; The management module is responsible for managing the workspace. When accessing the Shuffle container, it applies for and occupies an idle workspace unit for the current Shuffle container. After completing the widget position refresh, it releases the current workspace unit, cancels the occupied state, and restores the idle state. The operation module is responsible for operating the workspace unit of the current Shuffle container, including: According to the function definition and shuffle requirements of the current shuffle container, set the shuffle parameter set of the current workspace unit to control the shuffle style; Traverse all child widgets under the current Shuffle container, and add the size and position handles of the visible child widgets to the Shuffle target of the current workspace unit in turn; According to the Shuffle style described by the Shuffle parameter set, the size and position of all child widgets in the Shuffle target are calculated and modified through the size and position handles in the Shuffle target to refresh the size and position of the child widgets.

2. The automatic refreshing system for Widget positions oriented to the ARINC661 protocol according to claim 1, wherein When the operation module traverses all child widgets under the current Shuffle container, there are three situations: (1) Ordinary Widget: If the child Widget is visible, its size and position handle is added to the Shuffle target of the current workspace unit; (2) Shuffle container: The current Shuffle container is regarded as the outer Shuffle container, and the child Widget is regarded as the inner Shuffle container. If the inner Shuffle container has visibility, its size and position handle is added to the Shuffle target of the current workspace unit; A "nested lock" is added to the workspace unit of the inner Shuffle container to ensure that the inner Shuffle container will not perform Shuffle target calculations before the current Shuffle container completes Shuffle target calculations, preventing the inner Shuffle container from implementing the Shuffle function based on uncalculated size and position parameters. During the subsequent Widget traversal process, after the outer Shuffle container completes position refresh, the "nested lock" of the workspace unit of the inner Shuffle container is released. (3) Connector: The Shuffle target is not updated. At the same time, for each Connector in the current Shuffle container, the current workspace unit adds a "link lock" to ensure that the current Shuffle container will not perform Shuffle target calculations before all Widgets in the linked layer are added to the Shuffle target. In the subsequent Widget traversal process, each time a linked layer is processed, the current workspace unit releases the "link lock" corresponding to the layer.

3. The automatic refresh system for Widget positions oriented to the ARINC661 protocol according to claim 2, characterized in that When the operation module sequentially adds the size and position handles of visible child widgets to the Shuffle target of the current workspace unit, it synchronously adds the group number and the child widget handle to the Shuffle target. When there is no Connector, the group number remains unchanged, and all child widgets belong to the same group; if a Connector is accessed during the traversal, the group number is incremented by 1, and the new group number is reserved for the widgets in the linked layer. Subsequently, the group number is incremented by 1 again, and the remaining child widgets are continued to be traversed, so that the part before the Connector, the part linked by the Connector, and the part after the Connector are grouped according to the Shuffle display order.

4. The automatic refreshing system for Widget positions oriented to the ARINC661 protocol according to claim 3, characterized in that After all child widgets are traversed, the operation module determines whether there is a nested lock or a link lock in the current workspace unit. If there is a nested lock or a link lock, the current workspace unit enters a suspended state. When the outer Shuffle finishes refreshing and causes the "nested lock" to be released, or when a linked layer is processed and causes the "link lock" to be released, all suspended workspace units are re-determined. If all locks of a certain workspace unit are released, it exits the suspended state.

5. The automatic refresh system for Widget positions oriented to the ARINC661 protocol according to claim 4, characterized in that When the operation module calculates and modifies the sizes and positions of all child widgets in the Shuffle target, the specific calculation steps are as follows: (1) Sort all child widgets among groups according to the group number, and keep the traversal order of widgets within the group, so that the child widgets in the Shuffle target conform to the display order; (2) According to the upper limit of the quantity, keep a part of the child widgets with a higher display order, and make the child widgets exceeding the quantity upper limit invisible; (3) Calculate and modify the sizes of child widgets according to the equal-width mode and the equal-height mode; (4) Calculate and modify the positions of child widgets according to the alignment mode and the alignment offset; (5) Calculate and modify the positions of child widgets according to the arrangement mode and the arrangement spacing.