CN115562634A - Radar-service-flow-oriented visual development platform - Google Patents

Radar-service-flow-oriented visual development platform Download PDF

Info

Publication number
CN115562634A
CN115562634A CN202211191443.4A CN202211191443A CN115562634A CN 115562634 A CN115562634 A CN 115562634A CN 202211191443 A CN202211191443 A CN 202211191443A CN 115562634 A CN115562634 A CN 115562634A
Authority
CN
China
Prior art keywords
module
algorithm
flow chart
radar
file
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.)
Pending
Application number
CN202211191443.4A
Other languages
Chinese (zh)
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.)
CETC 32 Research Institute
Original Assignee
CETC 32 Research Institute
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 CETC 32 Research Institute filed Critical CETC 32 Research Institute
Priority to CN202211191443.4A priority Critical patent/CN115562634A/en
Publication of CN115562634A publication Critical patent/CN115562634A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The invention provides a radar service flow oriented visual development platform, which comprises: the system comprises an algorithm import module, a radar business process construction module, an engineering management module, a graph generation and traversal module, a code generation compiling link module and a program operation control module. The invention constructs the business flow chart through visual programming, realizes automatic code generation based on graph traversal, and can quickly realize prototype development by a user only paying attention to the business processing flow without knowing the specific programming method at the bottom layer.

Description

Radar-service-flow-oriented visual development platform
Technical Field
The invention relates to the technical field of visual programming, in particular to a radar service flow oriented visual development platform.
Background
With the rapid development of military industry and public affairs, more and more subjects and technical fields are related to radar service systems, service processing flows are more and more complex, the radar service systems are difficult to independently complete by one unit, multiple units are generally required to jointly develop, radar algorithm modules which are independently developed and allocated by each unit are independently developed and allocated in the initial stage of a project, and a lead unit organizes joint debugging after the development is completed. However, the joint development mode has certain disadvantages: firstly, the algorithm interfaces developed by each unit do not have uniform standard specifications, and are only agreed by two parties developing the algorithms, so that the interfaces are easy to be disordered and have no universality; secondly, joint development requires open algorithm source codes of each unit, so that investment of optimized codes is limited, and long-term development of a radar algorithm is not facilitated; finally, the text programming technology has higher requirement on professional literacy of developers, the learning time is long, and if only the business processing flow is known, the specific algorithm implementation is not known, so that the radar business cannot be processed.
In order to solve the problems, graphic visualization programming is carried out, the algorithm modules are displayed in a graphic component mode through business modeling, and a user describes the relationship between the algorithm modules through drawing and connecting lines of a graphic, so that the aim of combining the algorithm modules is finally fulfilled. The method can realize the rapid development and design of the service system, so that developers and algorithm users are completely separated and respectively perform their own functions without mutual interference.
In military computer system-oriented development environments, visual programming is becoming a trend of development for user-level program development environments and is increasingly forming an industry standard. Common visual programming software comprises LabView, GNU Radio, simulink and the like, the characteristics of rapidness, high efficiency, simple operation and the like gain the praise of the majority of users, but some defects still exist, such as poor version compatibility, difficulty in secondary development, incapability of being introduced into a user algorithm library and the like.
The patent document with the publication number of CN112328249A discloses a visual rapid construction system based on a business model, which relates to the field of visual construction, and comprises a grouping management module, a visual construction module, a component management module and a component editing module, wherein the grouping management module is used for adding and editing groups and adding and editing projects according to the groups, the visual construction module is used for creating and editing a visual large screen according to the projects, the component management module is used for adding and editing visual components according to the visual large screen, and the component editing module is used for editing component contents of the visual components. However, the patent document does not relate to the specific application of radar business process development, and is different from the technical scheme of the present application.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a radar service flow oriented visual development platform.
The radar service flow oriented visualization development platform provided by the invention comprises: the system comprises an algorithm import module, a radar business process construction module, an engineering management module, a graph generation and traversal module, a code generation compiling link module and a program operation control module;
the algorithm importing module: defining each algorithm module by adopting an extensible markup language;
the radar service process building module is as follows: continuously adding algorithm graphic items into a scene, setting the attributes of the algorithm graphic items, and constructing a complete service flow chart;
the project management module: creating a flow chart, saving the edited flow chart and opening the saved flow chart;
the graph generation and traversal module: forming a directed graph by all connected graph items, and finding out the precedence relationship of algorithm execution by traversing all nodes to provide a basis for automatic code generation;
the code generation compiling link module: generating corresponding c + + codes according to the graph traversal, calling a compiler of the system to compile the source codes, and linking to corresponding dynamic libraries;
the program operation control module: executing operation or stopping operation on the generated executable program of the business process, operating the executable program by starting a new process, communicating with the executable program, and when the executable program needs to be operated, sending a program name to be started to the process, and immediately entering a starting state by the new process; and when the executable program needs to be stopped, sending a stop instruction to the process, stopping the program from running and normally exiting the process.
Preferably, the radar business process construction module comprises a scene module, a view module and a graphic item module;
the scene module is used for: storing all algorithm graphic items in the flow chart, and recording the logic sequence among the graphic items and the inflow and outflow directions of data streams through input and output association;
the view module: visualizing the content in the scene and processing the interaction information of the user and the window;
the graphics item module: the graphic item represents each algorithm module, stores all attributes of the algorithm, generates a corresponding algorithm graphic item by dragging a specified item in the module loading area to a scene, transmits attribute information of the algorithm to the graphic item, and can pop up an attribute dialog box in a mode of double-clicking the graphic item to set the attributes of the algorithm.
Preferably, the project management module comprises a new flow chart module, a flow chart saving module and a flow chart opening module;
the new flow chart module: a blank scene is newly built, algorithm graphic items can be continuously added into the scene in a dragging mode, arrows are connected according to input, output and data flow direction relations, and therefore a business flow chart is generated;
the flow chart saving module: based on the technology of writing and reading the xml file, storing the attributes of all algorithm graphic items in the flow chart in a key value pair mode, and writing the attributes into the xml file;
the open flow diagram module: reading the stored engineering file, sequentially reading each key value pair according to an agreed storage protocol, and rendering the whole flow chart.
Preferably, in the graph generating and traversing module,
each algorithm graphic item has a vertex in the graph, the input and the output of the graphic item are used as the arc of the vertex, the starting point of the arc is the fox tail, and the end point of the arc is the arc head;
and creating a directed graph by adopting an adjacency list structure, independently establishing a linked list for each graph item, storing the graph item by using a node, storing respective adjacency points by using other nodes in the linked list, and determining the execution sequence of each algorithm module by traversing the relation of all vertexes and arcs.
Preferably, in the code generation compiling link module, the executable program path, the header file path and the library path are configured correctly by setting the attribute configuration dialog box, and the configuration of the compiling parameters is completed by the compiler.
Preferably, a "cl" compiler is adopted under the windows platform, and a "g + +" compiler is adopted under the linux platform.
Preferably, the compilation and linking generates the correct executable file, and if an error occurs, the compilation error is prompted in the output information display area.
Preferably, the algorithm import module is used as an external input interface, and a user can import a custom algorithm into the visual development platform through the algorithm import module;
the input of the radar business process construction module is a component of the algorithm import module, and the algorithm module can be added into the business process in a dragging mode; the output of the radar business process construction module is a constructed business process diagram which represents the business processing process and the data flow direction relation.
Preferably, in the engineering management module:
a new flow chart is established: newly building a canvas for drawing a business process diagram, and providing a drawing area for the radar business process construction module;
saving the flow chart: saving the flow chart constructed by the radar service flow construction module as a file, serving as an external output interface, and outputting an engineering file;
opening a flow chart: and inputting the stored engineering file, and analyzing and drawing a corresponding business flow chart by reading the engineering file.
Preferably, the input of the graph generation and traversal module is a business flow graph output by the radar business flow construction module, and the precedence relationship and the data flow direction of each algorithm module are determined by adopting a graph traversal algorithm and are used as the input of the code generation module of the code generation compiling link module;
the code generation compiling link module comprises a code generation module and a compiling link module; the input of the code generation module is a flow chart of the graph generation and traversal module in the sequencing, and the output is a cpp file; the input of the compiling and linking module is a cpp file and a related dependency library file which are generated by the code generating module, and the output of the compiling and linking module is an executable file of business process application;
the input of the program operation control module is a 'start' instruction and a 'stop' instruction sent by a user, and the output of the program operation control module is the start or end state of the service process executable program.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention constructs the business flow chart through visual programming, realizes the automatic code generation based on the chart traversal, and the user only needs to pay attention to the business processing flow without knowing the specific programming method at the bottom layer, thereby realizing the prototype development quickly;
2. the method adopts the visual block diagram to replace the traditional boring text programming, does not need to analyze codes line by line for explaining the radar service flow, and can clearly understand the service processing flow through the flow diagram;
3. the invention is not only a visual programming editor, but also integrates the functions of compiling, linking, running, stopping and the like, thereby being greatly convenient for users to use;
4. the method can be used by reading the xml file and importing the algorithm module into the module loading area, and a user only needs to provide the xml file and the library file compiled by the algorithm interface without providing a source code of the algorithm, so that the source code is prevented from being leaked, and the method has strong confidentiality;
5. a user dynamically adds a processing algorithm to a visual development platform in a module mode according to business requirements, continuously expands the types and the number of module libraries, and can flexibly load used algorithm modules aiming at different business processing;
6. compared with the traditional SDK, the invention has more outstanding advantages, can integrate development environments such as JAVA, FPGA and the like only by changing a small amount of source codes, and has strong expandability;
7. the invention provides radar service software modeling which accords with the specification, unifies the algorithm interface standard, and can add algorithm modules which accord with the interface specification into a visual development platform;
8. according to the method, all algorithm modules are imported into a visual development platform for service integration, only a header file and a library file are needed to be provided, and source code leakage is avoided;
9. the algorithm modules are displayed in a graphical mode, and the connection combination among the modules is realized in a dragging and connecting mode, so that a radar service flow chart is constructed, and a user only needs to pay attention to the service flow and does not need to pay attention to the specific realization of the algorithm;
10. the invention adopts Qt to develop the whole system architecture, so that the system is compatible with different software and hardware platforms;
11. the method supports the functions of automatically generating a code frame and verifying the validity of the configuration file, compiles and links the radar service application component codes and generates an executable program.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
FIG. 1 is a system architecture diagram of a radar-oriented visualization development platform of the present invention;
FIG. 2 is a functional module composition diagram of a radar service flow oriented visualization development platform of the present invention;
FIG. 3 is a schematic diagram of an algorithm module xml format definition;
FIG. 4 is a schematic diagram of a system main interface and a partial process for constructing a business system;
FIG. 5 is a schematic diagram of a visualization development process.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the invention, but are not intended to limit the invention in any way. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit of the invention. All falling within the scope of the present invention.
Example 1:
as shown in fig. 1 to 5, this embodiment provides a radar business process oriented visualization development platform, which includes: the system comprises an algorithm import module, a radar business process construction module, an engineering management module, a graph generation and traversal module, a code generation compiling link module and a program operation control module. An algorithm import module: defining each algorithm module by adopting an extensible markup language; a radar service flow construction module: continuously adding algorithm graphic items into a scene, setting the attributes of the algorithm graphic items, and constructing a complete business flow chart; the engineering management module: creating a flow chart, saving the edited flow chart and opening the saved flow chart; the graph generation and traversal module: forming a directed graph by all connected graph items, finding out the precedence relationship of algorithm execution by traversing all nodes, and providing a basis for automatic code generation; code generation compiling and linking module: generating corresponding c + + codes according to the graph traversal, calling a compiler of the system to compile the source codes, and linking to corresponding dynamic libraries; the program operation control module: executing operation or stopping operation on the generated executable program of the business process, running the executable program by starting a new process, communicating with the executable program, and sending a program name to be started to the process when the executable program needs to be run, so that the new process immediately enters a starting state; and when the executable program needs to be stopped, sending a stop instruction to the process, stopping the program from running and normally exiting the process.
The algorithm import module is used as an external input interface, and a user can import the custom algorithm into the visual development platform through the algorithm import module.
The input of the radar business process building module is a component of the algorithm import module, and the algorithm module can be added into the business process in a dragging mode; the output of the radar business process construction module is a constructed business process diagram which represents the business processing process and the data flow direction relation.
In the engineering management module:
a new flow chart is established: newly building a canvas for drawing a business process diagram, and providing a drawing area for a radar business process construction module;
saving a flow chart: saving the flow chart constructed by the radar service flow construction module as a file, serving as an external output interface, and outputting an engineering file;
opening a flow chart: and inputting the stored engineering file, and analyzing and drawing a corresponding business flow chart by reading the engineering file.
The input of the graph generation and traversal module is a business flow graph output by the radar business flow construction module, and the precedence relationship and the data flow direction of each algorithm module are determined by adopting a graph traversal algorithm and are used as the input of a code generation module of the code generation compiling and linking module.
The code generation compiling link module comprises a code generation module and a compiling link module. The input of the code generation module is a flow chart of the graph generation and traversal module in the sequencing, and the output is a cpp file; the input of the compiling and linking module is the cpp file and the related dependency library file generated by the code generating module, and the output is the executable file of the business process application.
The input of the program operation control module is a 'start' instruction and a 'stop' instruction sent by a user, and the output of the program operation control module is the start or end state of the executable program of the business process.
The project management module comprises a new flow chart module, a flow chart saving module and a flow chart opening module. A new flow chart module: a blank scene is newly built, algorithm graphic items can be continuously added into the scene in a dragging mode, arrows are connected according to the input/output and data flow direction relation, and therefore a business flow chart is generated; a flow chart saving module: based on the technology of writing and reading the xml file, storing the attributes of all algorithm graphic items in the flow chart in a key value pair mode, and writing the attributes into the xml file; opening a flow chart module: reading the stored engineering file, sequentially reading each key value pair according to an agreed storage protocol, and rendering the whole flow chart.
The radar business process building module comprises a scene module, a view module and a graphic item module. A scene module: storing all algorithm graphic items in the flow chart, and recording the logic sequence among the graphic items and the inflow and outflow directions of data streams through input and output association; a view module: visualizing the content in the scene and processing the interaction information of the user and the window; a graphics item module: the graphic item represents each algorithm module, all attributes of the algorithm are stored, corresponding algorithm graphic items are generated by dragging the designated items in the module loading area to the scene, attribute information of the algorithm is transmitted to the graphic items, and an attribute dialog box can be popped up in a double-click mode to set the attributes of the algorithm.
In the graph generation and traversal module, each algorithm graph item has a vertex in the graph, the input and the output of the graph item are used as the arc of the vertex, the starting point of the arc is the fox tail, and the end point of the arc is the arc head; and establishing a directed graph by adopting an adjacency list structure, independently establishing a linked list for each graph item, storing the graph item by using a node, storing respective adjacency points by using other nodes in the linked list, and determining the execution sequence of each algorithm module by traversing the relation of all vertexes and arcs.
In the code generation compiling link module, an executable program path, a header file path and a library path are correctly configured by setting a property configuration dialog box, and the configuration of compiling parameters is completed through a compiler. A 'cl' compiler is adopted under a windows platform, and a 'g + +' compiler is adopted under a linux platform. Compiling and linking to generate a correct executable file, and prompting a compiling error in an output information display area if an error occurs.
Example 2:
this embodiment will be understood by those skilled in the art as a more specific description of embodiment 1.
The embodiment provides a radar service flow-oriented visual development platform, an existing radar algorithm module is packaged and compiled into a configuration file for loading, a radar service flow chart is constructed through dragging and connecting lines, one-click code generation and compiling are performed, compiling work of bottom layer codes is shielded, a visual combination function of the radar algorithm module is achieved, the radar service flow chart meets the requirements of software radar system architecture specifications, a series of tool kits required in an application development process are integrated, and the radar service flow-oriented visual development platform meets the requirements of a radar system for customization and software reconfiguration.
The core idea of the radar service flow-oriented visual development platform is that a user provides a plurality of radar service processing algorithm libraries, xml files are configured according to an agreed format, a system loads and automatically generates corresponding algorithm modules, each processing flow of radar services is graphical, a radar service processing flow chart is generated through the relation between a simple dragging module and each connecting module, and prototype development is rapidly achieved.
The system architecture is shown in fig. 1, hardware equipment and an operating system provide basic software and hardware resources, the whole framework of Qt development software is adopted, windows and linux operating systems are compatible, and a compiler interface of the system is called, so that the visual development platform has a one-click compiling function, and meanwhile, a third-party function library and an algorithm module of an extension system are integrated.
The visualization development platform provides a configuration format of the algorithm module, and a user writes a corresponding xml configuration file according to a custom algorithm in an agreed format and provides a corresponding dynamic function library; the algorithm modules are divided into two major categories, one category is a basic module carried by the platform, such as a variable module, a control module, a macro module, a thread module, a nested module and the like, the modules are automatically loaded when the platform runs and displayed in a module loading area for a user to call, the other category is a special algorithm module, namely a user-defined algorithm, and after software is started, the algorithm modules are manually led into the platform by the user; after all modules used in the business process are loaded in the module loading area, a certain module is selected through a mouse, the selected module is dragged to be placed in the main design area, an arrow is adopted to connect the input and output interfaces, the logic relation and the data flow direction among the modules are determined, and meanwhile, the attribute of each module can be set until the design of the whole business process diagram is completed.
The menu bar and the tool bar are a collection of operations, and can set and process the graphic items in the flow chart.
The saving flow chart is a project file, supports code generation, compiles codes and links to a corresponding function library, and an output information display area displays information such as whether the project is successfully saved, compiled links and the like.
The radar service flow-oriented visual development platform can be divided into six functional modules from the development flow, namely algorithm import, radar service flow construction, engineering management, graph generation and traversal, code generation, compiling and linking and program operation control, as shown in fig. 2.
An algorithm import module: the input of the module is a component of an algorithm import module, and the algorithm module is added into the business process in a dragging mode; the output of the module is a constructed business flow chart, which represents the business processing flow and data flow relation.
A radar service flow construction module: the input of the module is a component of an algorithm import module, and the algorithm module is added into the business process in a dragging mode; the output of the module is a constructed business flow chart, which represents the business processing flow and data flow relation.
The engineering management module: newly building a flow chart, namely newly building a canvas for drawing a service flow chart, and providing a drawing area for a radar service flow construction module; the flow chart is saved, namely the flow chart constructed by the radar business flow construction module is saved as a file and used as an external output interface to output an engineering file; the input of the opened flow chart is a stored project file, and the corresponding business flow chart is analyzed and drawn by reading the project file.
The graph generation and traversal module: the input of the graph generation and traversal module is a business flow graph output by the radar business flow construction module, and the precedence relationship and the data flow direction of each algorithm module are determined by adopting a graph traversal algorithm and are used as the input of the code generation module.
Code generation compiling and linking module: the input of the code generation module is a flow chart of the graph generation and traversal module in order, and the output is a cpp file. The cpp file and the related dependency library file are output as an executable file of the business process application.
The program operation control module: the input of the program operation control module is a 'start' instruction and a 'stop' instruction sent by a user, and the output of the program operation control module is the start or end state of the executable program of the business process.
The algorithm import adopts extensible markup language (XML) to define each algorithm module, different algorithm modules have different differences of parameters, return values, functions and the like, the differences need to be recognized and loaded into a program, and the XML defines a format as shown in FIG. 3. The first line is fixed and the second line is the beginning symbol header of the function module header file, where the attribute version is the version number. The first child < type > marks that the file is a function module type, < name > is the name of the pointed head file, < help _ option > is the mark of all non-function declaration languages in the head file, such as macro definition, file inclusion, pragma preprocessing instruction and namespace usage. In the definition of the function body, the < function > is used as a root node of a function, a first child node < name > defines the function name of the function, a second child node < param > defines the shape parameter list of the function, each parameter uses one < param >, and the < name > in the child node is the shape parameter name; the < type > is a form parameter type and is filled in as all prefix characters between form parameters in the primitive function body; < data _ flow > indicates a tag node of a data flow, if input is filled in for input data, output is output, both input and output are swap, and if not used for data transmission, control is performed. After the parameter list is defined, a return value type node < return > is also provided, and the value of the return value type node is consistent with the principle of filling the form parameter type. Finally, considering the prefix specification that some functions may have, add < prefix > to specify its contents.
The radar business process is constructed by adopting a scene-view drawing architecture which mainly comprises three parts, namely a scene, a view and a graphic item. The graphic item represents each algorithm module, stores all attributes of the algorithm, generates a corresponding algorithm graphic item by dragging a specified item in the module loading area to a scene, transmits attribute information of the algorithm to the graphic item, and pops up an attribute dialog box by double clicking the graphic item, so that the attribute of the algorithm can be set; the scene is an abstract container for managing the graphic items, stores all algorithm graphic items in the flow chart, and records the logic sequence among the graphic items and the inflow and outflow directions of data streams through input and output association; the view is used for visualizing the content in the scene and processing the interaction information of the user and the form. And continuously adding the algorithm graphic items into the scene, setting the attributes of the algorithm graphic items, and constructing a complete business flow chart.
The engineering management mainly comprises the steps of creating a flow chart, saving the edited flow chart and opening the saved flow chart. The method comprises the following steps of establishing a new flow chart, namely establishing a blank scene, continuously adding algorithm graphic items into the scene by a user in a dragging mode, and connecting arrows according to input/output and data flow direction relations, so as to generate a business flow chart; the saving flow chart and the opening flow chart are based on the writing and reading technology of the xml file, the saving flow chart stores the attributes of all algorithm graphic items in the flow chart in a key value pair mode and writes the attributes into the xml file to save the whole flow chart; and opening the flow chart, namely reading the stored engineering file, and sequentially reading each key value pair according to an agreed storage protocol, thereby rendering the whole flow chart.
The graph generation and traversal means that all connected graph items form a directed graph, and the precedence relationship of algorithm execution is found by traversing all nodes, so that a basis is provided for automatic code generation. Each algorithm graph item is a vertex in the directed graph, the input and the output of the graph item are used as arcs of the vertex, the starting point of each arc is the fox tail, and the end points of the arcs are the arc heads. The invention adopts an adjacency list structure to create a directed graph, each graph item independently creates a linked list, the graph item is stored by using a node, other nodes in the linked list are used for storing respective adjacency points, and the execution sequence of each algorithm module is determined by traversing the relation of all vertexes and arcs.
And generating a compiling link by the code, namely generating a corresponding c + + code according to the graph traversal, calling a compiler of the system to compile the source code, and linking to a corresponding dynamic library. By setting the attribute configuration dialog box, parameters such as an executable program path, a header file path, a library path and the like are correctly configured, a 'cl' compiler is adopted under the windows platform, and a 'g + +' compiler is adopted under the linux platform, so that the configuration of compiling parameters can be completed. Compiling and linking to generate a correct executable file, and prompting a compiling error in an output information display area if an error occurs.
The program operation control is to execute operation or stop operation on the generated executable program of the business process, the executable program is operated by starting a new process and is communicated with the new process, and when the executable program needs to be operated, the name of the program to be started is sent to the process, and then the new process immediately enters a starting state; and when the executable program needs to be stopped, sending a stop instruction to the process, stopping the program from running and normally exiting the process.
The radar service flow oriented visualization development platform UI is designed as shown in FIG. 4, and a main interface mainly comprises five major parts, namely a menu bar, a toolbar, a main design area, a module loading area and an information output display area. The menu bar is divided into five parts, namely 'file', 'editing', 'view', 'construction' and 'help', according to different software functions. The toolbar is a shortcut to a system function that maps calls to the same handler for the corresponding menu item. And the module loading area adopts extensible markup language (XML) to identify each module and loads the algorithm module defined by the user. The main design area is an area for operating each module and generating a flow chart, the operations of dragging, copying, pasting, deleting and the like are performed on each module in the main design area, and the attributes of each module can be set by performing interconnection and correlation on the modules which can be connected. And drawing a generated flow chart through connecting lines among the modules, and finally generating a complete code. The output information display area is used for showing some information such as output compiling and linking results, whether the execution is successful and the like to a user.
Example 3:
those skilled in the art will understand this embodiment as a more specific description of embodiment 1.
The embodiment provides a radar business process-oriented visualization development platform, and a process of performing visualization programming by using the platform is shown in fig. 5.
(1) Loading xml files
Before programming, a user firstly needs to write an algorithm module to be used in a program into an xml file according to an agreed format, wherein the specific xml format requirement is as shown in fig. 3, and then the user reads the configuration file through a visual development platform so as to import the algorithm module into a module loading area.
(2) Building a flow chart
Selecting a certain algorithm module in the module loading area, dragging the module to the main design area, releasing the mouse, automatically generating the graphic item of the algorithm module at the appointed position of the mouse, using different input and output interfaces for different modules, associating the modules through arrows according to the relationship between the modules and the data flow direction, and obtaining a complete program flow chart after all operations are completed.
(3) Preservation engineering
And selecting a storage path and a name of the project file, automatically generating a folder with a specified name under the selected path, and generating the nh file with the same name under the folder.
(4) Conversion of flow charts into code
The visualization development platform integrates the function of one-key conversion from the flow chart to the source code, and by clicking a 'generation' button or a menu item, the system firstly performs correctness test on the flow chart, including whether attribute setting of modules is correct, whether connection among the modules is correct, and the like; if the correctness test is successful, a cpp file converted by the flow chart is automatically generated under the project folder.
(5) Compiling links
The visual development platform integrates a set of own compiling tools, and the bottom layer call of the visual development platform is a cl compiler for C or C + + codes. The cpp file under the engineering directory can be compiled and linked by clicking a 'compiling' button or a menu item, and if the compiling or linking fails, an output information display area can prompt the compiling or linking failure and compiling information; and if the compiling link is successful, automatically generating an obj intermediate file and an exe executable file under the project directory.
(6) Operation and stop
The visualization development platform integrates the functions of 'running' and 'stopping', the program is executed in the terminal by clicking a 'running' button or a menu item, and the execution of the program is stopped by clicking a 'stopping' button or a menu item.
Specific examples are as follows:
(1) Double-click operation of an LDMCS.exe program, and starting a visual development platform;
(2) Clicking an import button, selecting an xml configuration file of an algorithm module prepared in advance, clicking a confirm button, and displaying a name of a newly added algorithm module in a module loading area;
(3) Selecting an algorithm item in a module loading area according to the requirement of a service flow, pressing a left mouse button, dragging the algorithm item to a scene, releasing the mouse, automatically generating a graphic item of the algorithm at the position of the mouse, double-clicking the graphic item, popping up an attribute dialog box of the item, and setting the attribute of the dialog box; repeating the above operations, and connecting the input and output relations among the modules by using arrows until the construction of the business flow chart is completed, wherein the flow chart is in a style shown in fig. 4;
(4) Clicking a 'save' button, popping up a saved file dialog box, selecting a path for saving a file, inputting a file name, clicking a 'confirm' button, automatically generating a folder with a specified name under a selected directory, generating a file with the same name under the folder, storing the content of the whole business process, and displaying information such as 'successful saved file' and the like in an information output display area;
(5) Clicking a 'generation' button, automatically generating a source code main.cpp file of a business flow chart under a directory of a project file, and displaying information such as 'success of code generation' and the like in an information output display area;
(6) Clicking a compiling button, compiling a source code, generating obj and exe files generated by compiling a source file under a directory of an engineering file, and displaying relevant compiling information such as successful compiling and the like in an information output display area;
(7) Clicking a 'run' button to run the executable file generated by compiling;
(8) Clicking the stop button exits the running of the executable program.
The invention constructs the business flow chart through visual programming, realizes automatic code generation based on graph traversal, and can quickly realize prototype development by a user only paying attention to the business processing flow without knowing the specific programming method at the bottom layer.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.

Claims (10)

1. A visualization development platform for radar business processes is characterized by comprising: the system comprises an algorithm import module, a radar business process construction module, an engineering management module, a graph generation and traversal module, a code generation compiling link module and a program operation control module;
the algorithm importing module: defining each algorithm module by adopting an extensible markup language;
the radar service process building module is as follows: continuously adding algorithm graphic items into a scene, setting the attributes of the algorithm graphic items, and constructing a complete business flow chart;
the project management module: creating a flow chart, saving the edited flow chart and opening the saved flow chart;
the graph generation and traversal module: forming a directed graph by all connected graph items, finding out the precedence relationship of algorithm execution by traversing all nodes, and providing a basis for automatic code generation;
the code generation compiling link module: generating corresponding c + + codes according to the graph traversal, calling a compiler of the system to compile the source codes, and linking to corresponding dynamic libraries;
the program operation control module: executing operation or stopping operation on the generated executable program of the business process, running the executable program by starting a new process, communicating with the executable program, and sending a program name to be started to the process when the executable program needs to be run, so that the new process immediately enters a starting state; and when the executable program needs to be stopped, sending a stop instruction to the process, stopping the program from running and normally exiting the process.
2. The radar business process-oriented visualization development platform according to claim 1, wherein the radar business process construction module comprises a scene module, a view module and a graphic item module;
the scene module is used for: storing all algorithm graphic items in the flow chart, and recording the logic sequence among the graphic items and the inflow and outflow directions of data streams through input and output association;
the view module: visualizing the content in the scene and processing the interaction information of the user and the window;
the graphics item module: the graphic item represents each algorithm module, all attributes of the algorithm are stored, corresponding algorithm graphic items are generated by dragging the designated items in the module loading area to the scene, attribute information of the algorithm is transmitted to the graphic items, and an attribute dialog box can be popped up in a double-click mode to set the attributes of the algorithm.
3. The radar business process-oriented visual development platform according to claim 1, wherein the engineering management module comprises a new flow chart module, a flow chart saving module and a flow chart opening module;
the new flow chart module: creating a blank scene, continuously adding an algorithm graphic item into the scene in a dragging mode, connecting arrows according to input/output and data flow direction relations, and generating a business flow chart;
the flow chart saving module: based on the technology of writing and reading the xml file, storing the attributes of all algorithm graphic items in the flow chart in a key value pair mode, and writing the attributes into the xml file;
the open flow chart module: reading the stored engineering file, sequentially reading each key value pair according to an agreed storage protocol, and rendering the whole flow chart.
4. The radar business process oriented visualization development platform of claim 1, wherein in the graph generation and traversal module,
each algorithm graphic item has a vertex in the graph, the input and the output of the graphic item are used as the arc of the vertex, the starting point of the arc is the fox tail, and the end point of the arc is the arc head;
and establishing a directed graph by adopting an adjacency list structure, independently establishing a linked list for each graph item, storing the graph item by using a node, storing respective adjacency points by using other nodes in the linked list, and determining the execution sequence of each algorithm module by traversing the relation of all vertexes and arcs.
5. The radar business process-oriented visualization development platform as claimed in claim 1, wherein in the code generation compiling link module, the executable program path, the header file path and the library path are configured correctly by setting a property configuration dialog box, and the configuration of the compiling parameters is completed by a compiler.
6. The radar-oriented business process visualization development platform as claimed in claim 5, wherein a windows platform adopts a "cl" compiler, and a linux platform adopts a "g + +" compiler.
7. The radar business process-oriented visualization development platform as claimed in claim 6, wherein the compiling and linking generate correct executable files, and if errors occur, the compiling errors are prompted in an output information display area.
8. The radar business process-oriented visualization development platform according to claim 1, wherein the algorithm import module is used as an external input interface, and a user can import a custom algorithm into the visualization development platform through the algorithm import module;
the input of the radar business process building module is a component of the algorithm importing module, and the algorithm module can be added into the business process in a dragging mode; the output of the radar business process construction module is a constructed business process diagram which represents the business processing process and the data flow direction relation.
9. The radar business process-oriented visualization development platform according to claim 8, wherein in the engineering management module:
a new flow chart is established: newly building a canvas for drawing a business process diagram, and providing a drawing area for the radar business process construction module;
saving the flow chart: saving the flow chart constructed by the radar service flow construction module as a file, serving as an external output interface, and outputting an engineering file;
opening a flow chart: and inputting the stored project file, and analyzing and drawing a corresponding business flow chart by reading the project file.
10. The radar service flow oriented visualization development platform according to claim 9, wherein the input of the graph generation and traversal module is a service flow graph output by the radar service flow construction module, and a graph traversal algorithm is used to determine the precedence relationship and the data flow direction of each algorithm module as the input of the code generation module of the code generation compiling and linking module;
the code generation compiling link module comprises a code generation module and a compiling link module; the input of the code generation module is a flow chart of the graph generation and traversal module in order, and the output is a cpp file; the input of the compiling and linking module is a cpp file and a related dependency library file which are generated by the code generating module, and the output of the compiling and linking module is an executable file applied by a business process;
the input of the program operation control module is a 'start' instruction and a 'stop' instruction sent by a user, and the output of the program operation control module is the start or end state of the service process executable program.
CN202211191443.4A 2022-09-28 2022-09-28 Radar-service-flow-oriented visual development platform Pending CN115562634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211191443.4A CN115562634A (en) 2022-09-28 2022-09-28 Radar-service-flow-oriented visual development platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211191443.4A CN115562634A (en) 2022-09-28 2022-09-28 Radar-service-flow-oriented visual development platform

Publications (1)

Publication Number Publication Date
CN115562634A true CN115562634A (en) 2023-01-03

Family

ID=84742419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211191443.4A Pending CN115562634A (en) 2022-09-28 2022-09-28 Radar-service-flow-oriented visual development platform

Country Status (1)

Country Link
CN (1) CN115562634A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115857910A (en) * 2023-03-01 2023-03-28 杭州义益钛迪信息技术有限公司 Programming method, device, server and medium of edge computing collector

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115857910A (en) * 2023-03-01 2023-03-28 杭州义益钛迪信息技术有限公司 Programming method, device, server and medium of edge computing collector
CN115857910B (en) * 2023-03-01 2023-06-06 杭州义益钛迪信息技术有限公司 Programming method and device of edge computing collector, server and medium

Similar Documents

Publication Publication Date Title
US20060075305A1 (en) Method and system for source-code model-based testing
Reiss The Field programming environment: A friendly integrated environment for learning and development
EP1576439A2 (en) A method, a language and a system for the definition and implementation of software solutions
Julius et al. Transformation of GRAFCET to PLC code including hierarchical structures
CN113553035A (en) Design and construction method of universal front-end UI component library
US20120060141A1 (en) Integrated environment for software design and implementation
Voelter Fusing Modeling and Programming into Language-Oriented Programming: Our Experiences with MPS
CN115562634A (en) Radar-service-flow-oriented visual development platform
Koskimies et al. SCED: A tool for dynamic modelling of object systems
CN115794254A (en) Component research and development management platform and method based on cloud computing
Leite et al. Designing and executing software architectures models using SysADL Studio
Rieder et al. A methodology to specify three-dimensional interaction using Petri Nets
Martins et al. A purely functional combinator language for software quality assessment
Krieger HyLiMo: a textual DSL and hybrid editor for efficient modular diagramming
Mili et al. Chapter 2 Software Engineering
US20220197607A1 (en) System and method for developing user interface applications
Schröpfer et al. Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering
CN116166567B (en) Test case generation method and device based on graphic programming
CN117234470B (en) Cross-end form development system and method based on low-code platform
Von Pilgrim et al. Eclipse GEF3D: bringing 3d to existing 2d editors
Bexiga Closing the Gap Between Designers and Developers in a Low-Code Ecosystem
Mohlin Blended Graphical and Textual Modelling of UML-RT State-Machines: An Industrial Experience
Lenga Model-based Compilation of Legacy C Programs
Garcia et al. Ocl tools: Status and perspectives
Peltonen et al. Visual tools support for scenario-based software engineering

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