CN106873953B - Partition framework for data stream of fly-by-wire flight control software and partition building method thereof - Google Patents

Partition framework for data stream of fly-by-wire flight control software and partition building method thereof Download PDF

Info

Publication number
CN106873953B
CN106873953B CN201510933807.5A CN201510933807A CN106873953B CN 106873953 B CN106873953 B CN 106873953B CN 201510933807 A CN201510933807 A CN 201510933807A CN 106873953 B CN106873953 B CN 106873953B
Authority
CN
China
Prior art keywords
partition
data
input
output
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510933807.5A
Other languages
Chinese (zh)
Other versions
CN106873953A (en
Inventor
朱立平
宋科璞
武方方
张丹涛
屈华敏
杨锦清
郑勇
杨东红
刘海亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No 618 Research Institute of China Aviation Industry
Original Assignee
No 618 Research Institute of China Aviation Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by No 618 Research Institute of China Aviation Industry filed Critical No 618 Research Institute of China Aviation Industry
Priority to CN201510933807.5A priority Critical patent/CN106873953B/en
Publication of CN106873953A publication Critical patent/CN106873953A/en
Application granted granted Critical
Publication of CN106873953B publication Critical patent/CN106873953B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

The invention belongs to the fly-by-wire computing technology, and relates to a fly-by-wire system software data flow framework and a construction method thereof, wherein the construction method comprises the following steps: the method comprises the steps of defining an input partition (1), a calculation partition (2), an output partition (3) and a system data dictionary (4) for a system, constructing a consumer function corresponding to input data and a producer function corresponding to output data for each partition, establishing a mapping relation between the input data and the output data and a global data dictionary, and defining a sequence calling component, an input-output component and a calculation component according to a componentization principle. The framework of the invention can effectively manage the data flow of the whole system in the partition-based fly-by-wire system software, and reduce the module coupling and verification cost.

Description

Partition framework for data stream of fly-by-wire flight control software and partition building method thereof
Technical Field
The invention belongs to the fly-by-wire computing technology, and relates to a fly-by-wire system software data flow framework and a construction method thereof.
Background
In a computing platform for fly-by-wire flight control, data flow is the key point of system structural design and is a basic element for interaction of each functional module, and management of the data flow directly influences the correctness of a system. In the prior art, because software is not partitioned, the management of data streams is dispersed in each functional module, so that the module coupling is large and the verification is difficult. The method provided by the invention can effectively manage the data flow of the whole system in the partition-based fly-by-wire system software, and reduce the module coupling and verification cost.
Disclosure of Invention
The purpose of the invention is: the software data flow partition framework of the fly-by-wire flight control system is reasonable in structure, convenient to maintain and good in stability.
The technical scheme of the invention is as follows:
a fly-by-wire software data flow partition framework comprises an input partition 1, a calculation partition 2, an output partition 3 and a system data dictionary 4.
Each partition 1, 2 or 3 comprises a sequence calling component 5, an input and output component 6 and a computing component 7, and the sequence calling component and other components are calling and called relations.
The input and output component 6 has a consumption function 8 and a production function 9.
The input partition 1, the computing partition 2 and the output partition 3 cannot be directly accessed and can only be accessed through an application programming interface of an operating system; the input partition 1, the computing partition 2 and the output partition 3 can be updated or maintained independently without mutual influence.
The sequence calling component 5, the input/output component 6 and the computing component 7 can not be directly accessed and can only be accessed through an application programming interface of an operating system; the sequence calling component 5, the input output component 6 and the calculation component 7 can be updated or maintained independently without mutual influence.
The input partition 1, the calculation partition 2 and the output partition 3 share a system data dictionary 4, data items in the system data dictionary 4 are identified by data names in a character string form, index information of a certain data item, called as a descriptor, can be found through the data names through system calling of an operating system, and the data item can be quickly referred through the descriptor.
There may be multiple input partitions 1, multiple compute partitions 1, and multiple output partitions 3.
The input partition 1, the calculation partition 2 and the output partition 3 are all set up through the following steps:
step 1: analyzing the input data and the output data of the partition control calculation module, constructing an input data list and an output data list, and compiling the module as an independent component, namely a calculation component 7;
step 2: according to the collected input data list required by the partition, constructing a consumption function 8 of the partition, wherein the consumption function 8 completes the following functions: copying corresponding data from a system data dictionary to the local according to the descriptor corresponding to the name character string of the required input data;
and step 3: and constructing a production function 9 of the partition according to the collected output data list generated by the partition, wherein the production function 9 completes the following functions: copying the local data into a system data dictionary according to the descriptor corresponding to the name character string of the generated output data;
and 4, step 4: compiling the consumption function 8 and the production function 9 constructed in the steps 2 and 3 into an independent component, namely an input-output component 6;
and 5: constructing a sequence calling component 5 according to the calling sequence of the consuming function 8, the calculating function of the calculating component 7 and the producing function 9;
step 6: the input and output data of the partition are added into the system data dictionary 4.
The input partition 1, the computing partition 2 and the output partition 3 cannot directly access each other, and can only access each other through an interface of an operating system.
The sequence calling component 5, the input/output component 6 and the computing component 7 cannot directly access each other, and can only access each other through an interface of an operating system.
Each data item in the system data dictionary 4 has a character string in one-to-one correspondence with the data item, and has a descriptor in one-to-one correspondence with the data item.
The input and output data inside the input partition 1, the computation partition 2 and the output partition 3 are copies of the global data dictionary 4.
The system data flow partition framework disclosed by the invention has the following beneficial effects:
(1) the data stream processing unit is managed according to the components and the partitions, so that the independent updating and maintenance of the computing modules and the independent updating and maintenance of the input and output data can be realized. Examples are: if the system only changes the calculation algorithm without changing the input and the output, only the control calculation component is updated; if the system increases or decreases input/output data (corresponding algorithm is also changed necessarily), only the input/output components and the computing components are changed; partition management is such that updates to a certain partition do not affect other partitions.
(2) The global and clear organization mode of the system data dictionary. The system data dictionary is a shared resource of all partitions including an input partition, a computing partition and an output partition, so that the data items are guaranteed to be only global data and copied in the partitions, and the problem of data collision caused by excessive redundancy is avoided. Moreover, the system data dictionary is organized according to character strings, and the problem that repeated items are generated by data is effectively avoided.
Drawings
Fig. 1 is a schematic diagram of a fly-by-wire software data flow partition architecture of the present invention, wherein 1: input partition, 2: the calculation partition 3: outputting the subareas; 4: a system data dictionary.
FIG. 2 is a diagram of the relationship of component functions within a partition, where 5: sequence calling component 6: input/output module 7: a computing component; 8: a consumption function; 9: a production function.
FIG. 3 is a flow chart of the operation of a partition that has been built.
Fig. 4 is an example of a data flow architecture design in accordance with the present invention.
Detailed Description
The invention is described in detail below with reference to a system having an acquisition computation function, an actuation computation function, and two control computation functions:
the construction step comprises:
1. analyzing input data and output data of the control calculation function 1 and the control calculation function 2, and compiling the two control calculation functions into a control calculation component 1(7) and a control calculation component 2(7) respectively on the basis of the input data and the output data (dependent input data temporarily uses local data); analyzing input data and output data of the acquisition calculation function and the action calculation function (in this example, the acquisition calculation function is not dependent on other input data, and the action calculation function is not dependent on other output data), compiling the acquisition calculation function into an acquisition calculation component (7), and compiling the action function into an action calculation component (7);
2. summarizing input data of the two control calculation functions and the action calculation functions, and respectively constructing corresponding consumption functions (8) (consume 1, consume2 and consume3 in FIG. 4); particularly, the acquisition and calculation function does not depend on input data, so that the consumption function is left empty;
3. summarizing input data of the acquisition calculation function and the two control calculation functions, and respectively constructing corresponding production functions (9) (product 0, product 1 and product 2 in FIG. 4); in particular, the action calculation function does not generate input data, so the production function is left empty;
4. compiling a product 0 function into an input-output component (6) belonging to an input partition (1); compiling the consume1 and product 1 functions as input-output components (6) belonging to the compute partition 1 (2); compiling the consume2 and product 2 functions as input-output components (6) belonging to the compute partition 2 (2); compiling control 3 as an input-output component (6) belonging to an output partition (3);
5. constructing a sequence calling component (5) of an input partition, wherein the content of the sequence calling component is to call an acquisition and calculation function and then call a product 0 function; constructing a sequence calling component (5) of the calculation partition 1, wherein the content of the sequence calling component is that a consume1 function is called first, then a control calculation function 1 is called, and then a product 1 function is called; constructing a sequence calling component (5) of the calculation partition 2, wherein the content of the sequence calling component is that a consume2 function is called first, then a control calculation function 2 is called, and then a product 2 function is called; constructing a sequence calling component (5) of an output partition, wherein the content of the sequence calling component is to call a consume3 function and then call an action calculation function; it should be noted that, because of the indirect accessibility between components, the call here needs to be made through the os interface;
6. and (3) acquiring the input data and the output data of the calculation function 1 and the control calculation function 2 obtained by analyzing in the step (1), and adding the input data of the actuation calculation function into a system data dictionary (4). Thus, the construction of the framework is completed.
FIG. 4 is a schematic diagram of the example where the input partitions do not rely on other inputs in the data dictionary, i.e., there are no consuming functions; the output partition of this example does not produce an output in the data dictionary, i.e., no production function; the input of the computing partition 1 depends on the production function in the input partition, that is, the consumption function of the computing partition 1 can be executed correctly only after the system data dictionary is updated after the production function in the input partition is executed. Similarly, compute partition 2 depends on the output of compute partition 1, input partition, and output partition depends on the output of compute partition 2, compute partition 1, and input partition.
Each partition comprises a respective computing component, an input and output component and a sequence calling component, wherein the input and output components of the input partition only comprise a production function and do not comprise a consumption function, and the output partition is opposite to the production function; the input-output components in both compute partitions contain production functions and consumption functions. In addition, each partition also includes a respective sequential call component to complete the call of the consuming function, the calculating function and the producing function, and since the arrow relationship in fig. 4 can reflect the call relationship, the detailed content of each component is not shown.
The system operation is described by two phases of an initialization phase and a periodic operation phase.
An initialization stage:
according to the loading sequence, each partition finds out the corresponding input data descriptor and output data descriptor according to the pre-allocated input data string list and output data string list (the first 2 steps in the flow chart of fig. 3);
a periodic operation stage:
the operating system scheduling should ensure that the four partitions are called in sequence according to the data flow direction, and all the partitions can be called once in each period. Firstly, executing a consumption function of a previous partition to obtain the latest input data in a system data dictionary (efficiency problems caused by searching character strings are avoided by inputting data descriptors), then executing a control calculation function in the partition, then executing a production function in the partition, and updating corresponding data in the data dictionary; on this basis, the same content in the next partition is executed until the last partition is executed.

Claims (10)

1. A partition building method of a data flow partition framework of fly-by-wire control software is characterized in that the data flow partition system of the fly-by-wire control software comprises an input partition (1), a calculation partition (2), an output partition (3) and a system data dictionary (4), each partition (1, 2 or 3) comprises a sequence calling component (5), an input/output component (6) and a calculation component (7), and the sequence calling component and other components are in calling and calling relations;
the input partition (1), the calculation partition (2) and the output partition (3) are respectively built through the following steps:
step 1: analyzing input data and output data of a control calculation module of an input partition (1), a calculation partition (2) or an output partition (3), editing the input data and the output data into a list, and compiling the control calculation module of the input partition (1), the calculation partition (2) or the output partition (3) into a control calculation component (7) of the input partition (1), a control calculation component (7) of the calculation partition (2) or a control calculation component (7) of the output partition (3);
step 2: according to the collected input data list required by the input partition (1), the calculation partition (2) or the output partition (3), constructing a consumption function (8) of each of the input partition (1), the calculation partition (2) or the output partition (3), wherein the consumption function (8) is used for completing the functions of: copying corresponding data from a system data dictionary to the local according to the descriptor corresponding to the name character string of the required input data;
and step 3: according to the collected output data lists generated by the input partition (1), the calculation partition (2) or the output partition (3), a production function (9) of each of the input partition (1), the calculation partition (2) or the output partition (3) is constructed, and the functions completed by the production function (9) are as follows: copying the local data into a system data dictionary according to the descriptor corresponding to the name character string of the generated output data;
and 4, step 4: compiling the consumption function (8) and the production function (9) constructed in the steps 2 and 3 into an input and output component (6) which is subordinate to the input partition (1), the calculation partition (2) or the output partition (3);
and 5: constructing a sequence calling component (5) according to the calling sequence of the consumption function (8), the calculation function in the calculation component (7) and the production function (9);
step 6: adding input and output data of the input partition (1), the calculation partition (2) or the output partition (3) into a system data dictionary (4); thus, the construction of the framework is completed.
2. A data flow partitioning system of fly-by-wire flight control software, which is constructed by the partitioning construction method of the data flow partitioning framework of the fly-by-wire flight control software according to claim 1, wherein an input and output component (6) comprises a consumption function (8) and a production function (9).
3. The fly-by-wire software data stream partition system according to claim 2, wherein the input partition (1), the computing partition (2) and the output partition (3) are not directly accessible, but only accessible through an application programming interface of an operating system; the input partition (1), the calculation partition (2) and the output partition (3) can be independently updated or maintained without mutual influence.
4. Fly-by-wire software data flow partitioning system according to claim 2, wherein the sequential call component (5), the input output component (6) and the computation component (7) are not directly accessible, but only accessible via an application programming interface of an operating system; the sequence calling component (5), the input and output component (6) and the computing component (7) can be updated or maintained independently without mutual influence.
5. The fly-by-wire software data stream partition system according to claim 2, characterized in that the input partition (1), the computation partition (2), and the output partition (3) share a system data dictionary (4), data items in the system data dictionary (4) are identified by data names in the form of character strings, and through system calls of an operating system, index information of a certain data item, called descriptor, can be found through the data name, and the data item can be quickly referred to through the descriptor.
6. Fly-by-wire flight control software data stream partition system according to claim 2, characterized by a plurality of input partitions (1), a plurality of compute partitions (2) and a plurality of output partitions (3).
7. Fly-by-wire software data stream partition system according to claim 2, characterized in that the input partition (1), the computing partition (2) and the output partition (3) are not directly accessible to each other, but only to each other via an interface of an operating system.
8. Fly-by-wire software data flow partitioning system according to claim 2, characterized in that the sequence calling component (5), the input output component (6) and the computing component (7) are not directly accessible to each other, but only to each other via an interface of the operating system.
9. Fly-by-wire software data stream partition system according to claim 2, characterized in that each data item in the system data dictionary (4) has a one-to-one correspondence of a character string to the data item and a descriptor to the data item.
10. Fly-by-wire software data stream partition system according to claim 2, characterized in that the input and output data inside the input partition (1), the computation partition (2) and the output partition (3) are copies of the global data dictionary (4).
CN201510933807.5A 2015-12-14 2015-12-14 Partition framework for data stream of fly-by-wire flight control software and partition building method thereof Active CN106873953B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510933807.5A CN106873953B (en) 2015-12-14 2015-12-14 Partition framework for data stream of fly-by-wire flight control software and partition building method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510933807.5A CN106873953B (en) 2015-12-14 2015-12-14 Partition framework for data stream of fly-by-wire flight control software and partition building method thereof

Publications (2)

Publication Number Publication Date
CN106873953A CN106873953A (en) 2017-06-20
CN106873953B true CN106873953B (en) 2020-06-09

Family

ID=59238616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510933807.5A Active CN106873953B (en) 2015-12-14 2015-12-14 Partition framework for data stream of fly-by-wire flight control software and partition building method thereof

Country Status (1)

Country Link
CN (1) CN106873953B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261116A2 (en) * 2009-06-09 2010-12-15 Sikorsky Aircraft Corporation Automatic trim system for fly-by-wire aircraft with unique trim controllers
CN104712435A (en) * 2013-12-12 2015-06-17 中航商用航空发动机有限责任公司 Engine electronic controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693616B2 (en) * 2006-03-31 2010-04-06 Honeywell International Inc. System and method of redundancy management for fault effect mitigation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261116A2 (en) * 2009-06-09 2010-12-15 Sikorsky Aircraft Corporation Automatic trim system for fly-by-wire aircraft with unique trim controllers
CN104712435A (en) * 2013-12-12 2015-06-17 中航商用航空发动机有限责任公司 Engine electronic controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Certifying Adaptive Flight Control Software";Vittorio Cortellessa etc.;《IN PROCEEDINGS, ISACC 2000: THE SOFTWARE RISK MANAGEMENT CONFERENCE》;20001231;1-9 *

Also Published As

Publication number Publication date
CN106873953A (en) 2017-06-20

Similar Documents

Publication Publication Date Title
Xin et al. Graphx: Unifying data-parallel and graph-parallel analytics
CN103761080B (en) Structured query language (SQL) based MapReduce operation generating method and system
US8046373B2 (en) Structured parallel data intensive computing
Huai et al. DOT: a matrix model for analyzing, optimizing and deploying software for big data analytics in distributed systems
US10515118B2 (en) Processing a data flow graph of a hybrid flow
Zhang et al. Parallel rough set based knowledge acquisition using MapReduce from big data
CN110196871A (en) Data storage method and system
Benelallam et al. Distributed Model-to-model Transformation with ATL on MapReduce
US20120084747A1 (en) Partitioned iterative convergance programming model
CN105824957A (en) Query engine system and query method of distributive memory column-oriented database
CN101901265B (en) Objectification management system of virtual test data
CN103440303A (en) Heterogeneous cloud storage system and data processing method thereof
EP4128056A1 (en) Partitioning for an execution pipeline
CN104008012A (en) High-performance MapReduce realization mechanism based on dynamic migration of virtual machine
JP6137175B2 (en) Hierarchical probability model generation system, hierarchical probability model generation method, and program
CN105556504A (en) Generating a logical representation from a physical flow
CN106873953B (en) Partition framework for data stream of fly-by-wire flight control software and partition building method thereof
CN115758789B (en) Software architecture design and architecture transfer method of complex real-time embedded system
CN103559574A (en) Method and system for operating workflow
US10628282B2 (en) Generating semantic flow graphs representing computer programs
Ono et al. Data centric framework for large-scale high-performance parallel computation
CN113536717B (en) Circuit simulation method based on incremental compilation
CN112559603B (en) Feature extraction method, device, equipment and computer-readable storage medium
Grossman What is analytic infrastructure and why should you care?
Coetzee et al. Towards unified secure on-and off-line analytics at scale

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant