Font Size: a A A

Study On Virtual Instrumentation Development Environment Based On Dataflow Visual Programming Language

Posted on:2009-07-05Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y Y SuiFull Text:PDF
GTID:1118360245963362Subject:Measuring and Testing Technology and Instruments
Abstract/Summary:PDF Full Text Request
As one important direction of the future instruments, virtual instrumentation (VI) is the infiltrative result of the software and hardware of computer and measuring instrument technology. For the purpose of reducing research and development time of engineer and increaseing user value, VI has been widely used in many fields, such as Astronautics, Communication, Biomedicine, Geophsics, Electronics and Mechanics. The main features of VI are: first, users can define the functions of instruments themselves; second, the software is the instrument. When the necessary instrumental hardware are given,the key function of VI lies on the application of software. Software is the soul of VI and plays the key role in it. It is self-evident that the foundation and importance of developing VI software environment.The contradiction in developing VI is that many engineers in instrument field are used to the directness and easiness of circuit diagram, but developing technology of instrument is very complex. The way to solve this problem is to offer an instrument oriented programming language based on graphic. Dataflow visual programming languages (DFVPLs) are fit for because of direct appearance and clear semantic. DFVPLs make engineers neglect the trivialness and complexities of programming languages based on text, and concentrate on the implementation of instrumental functions itself. Recently DFVPLs have been the mainstream programming languages to develop VI. It has been proved by VI development environments of abroad corporations that DFVPLs can help to quickly construct practical and reliable VI. Owning to the long distance between domestic and foreign study, closing off technology by foreign corporations and currently popular VI development environments still have some kinds of faults. Therefore, it is necessary to research and develop such basic software environment independently. The development of software environment makes reducing the distances between domestic and foreign become possible. If we only depend on the environment of foreign corporations, the distance would be enlarged.This dissertation is supported by the Programs of Science and Technology Development Plan of Jilin Province and National Science and Technique Supporting Plan Major Programs of China during the 11th Five-Year Plan Period. This dissertation is based on DFVPL and oriented VI development environment. The necessary parts of whole development environment such as editor, compiler and debugger, as well as some tools and ideas to improve developing efficiency are studied. The VI development environment, LabScene2.0 which has been developed according to the proposal theory and design has been already used in teaching and engineering. It makes students and researchers could rapidly construct VI systems which meet their requirements by some easy and direct manipulation.The main contents of this dissertation are as follows:(1) On the basis of hardware virtual model, the hardware of traditional instrumental system was mapped to DFVPL, which supports a theoretical basis to the VI development environment. Designed the whole framework of environment and established the core components and the means of communication between instrument panel and design panel. In order to further improve users developing speed, studied on some rapid developing designs such as unified management of the project and assistant of page attributes.(2) First classified the principal function of graphical editor and showed the state transform during user's operating. Then focused on the core of graphical editor -- design of wiring, proposed new implementation schemes of manual wiring and automated wiring. A major study on the other aspects of editor include: the construction of SubVI is so quick that it can be completed only through two steps -- setting and dragging; improved the Command design pattern and designed Command Save Line, Affixation Command and Recursive Command to further help editor to achieve the aim of low coupling and high flexibility; designed Object Names Management and Generic Clipboard.(3) Defined the middle graph which is generated by the compiler and proposed the corresponding generation algorithm. Focused on the shortage of computational model of existing DFVPLs and proposed an asynchronous data flow model which was supported by middle graph. Its definition, formal description and analysis of algorithms were presented. In order to improve the efficiency of the compiler, the author combined editor with compiler to gain the ability of dynamic compilation. Finally studied how to compile and generate executable files, as well as how to load runtime engine to run these files.(4) Aiming at the inadequacy of conventional methods such as rolling when representing a great deal of graphical information the author brought fisheye view into development environment. Improved the implementation model of fisheye view and proposed the concrete implementation framework. Then expatiated on the core algorithms such as calculation of API, scaling and position, restriction of zooming in and mapping wire. Discussed the practicability and significance of combining the fisheye with debugger through experiments.(5) Aiming at the situation that there are no any automated refactoring tools supporting DFVPLs the author studied the related technology of designing an automated refactoring tool in DFVPL. Classified automated refactoring and restricted the precondition by function set using for reference programming language based on text. Proposed the algorithms of terminals auto-generation and auto-modification to guarantee the accuracy of automated refactoring. Illustrated the faulty of manual refactoring and importance of automated refactoring by contrastive experiment with LabVIEW.(6) Software auto-generation is always worth researching. First, analyzed the most kernel parts of VI development environment and describe by formalized form. Auto-generation of VI development environment became possible by syntax-directed translation.(7) Combined the completed LabScene2.0 with Virtual Instrument Education Test System (VIETS) to research and develop some kinds of instances. On the one hand to prove the feasibility of proposed theory and design; on the other hand to solve the practical problems in the field of measurement and control.The main contributions of this dissertation are as follows:(1) Represented a new data structure, wire-tree in the design of manual wiring of editor. Using the structure of wire-tree to represent logical attribute of wire and the nodes to represent physical attribute of wire. It makes the relationships of two attributes become both reliant and independent. Therefore, wiring has aesthetic and understandable physical form and could be easy to be obtained the relationship of logical form, edited and optimized.(2) An automatic wiring framework was proposed and designed by organically integrating many elements which have influence on automatic wiring and took full advantage of the special logical sequence of generating VIs. This design could effectively represent the dataflow dependence relationship that user want to design, and amend the single way that is judged only by matching same data type in other automatic wiring design. The intelligence and usefulness of editor is improved.(3) Proposed a computational model of asynchronous dataflow which supported by compiler to solve the problem that dataflow and event is difficult to cooperate. This model can not only can rapidly response the outer event and improve the efficiency of running program, but also effectively reduce the communication conflict with events between threads to recover to synchronous execution context. The design of generating middle graph by compiler also make it possible to construct executable files which can be executed and released without development environment, which improves the practicability of development environment.(4) Improved the implementation model of ordinary fisheye view, solved the special problems of DFVPLs such as nested hierarchical structure, the difference in nodes size is big and representation of wire is complex. The combination of fisheye view and debugger not only clearly represented the detail of local node which is cared during debugging, but also directly displayed overall data flow semantic. This multi-view debugger improves the efficiency of programmer.(5) Designed an automated refactoring tool on DFVPL. Classified the elementary refactoring methods of DFVPL and proposed the function set to describe the preconditions of elementary refactoring. Divided DFVPL into visual layer and dataflow layer and supported mutual evolution of two layers by dynamic compilation. Some algorithms like terminal auto-generation and terminal auto-modification were proposed to ensure the correctness of visual elements and dataflow semantic during refactoring. Automated refactoring tool removes the error-prone and time-consuming of manual refactoring. Therefore, programmers can often use automated refactoring tool in their design and code quality naturally is improved. (6) Explored auto-generation of VI development environment by Syntax-directed translation. DFVPL and three key parts such as editor, runner and debugger in LabScene2.0 were formalizedly described. Proposed an algorithm to translate these descriptions into C# programming language. It becomes an experimental prototype of development environment.The discussion and study on DFVPL and VI development environment in this dissertation not only can be reference to designing other software of VI, but also can help building the various basic environments. The further studied areas are improving environment itself, networking and distributed instruments and embedded application.
Keywords/Search Tags:Virtual instrumentation, Dataflow visual programming language, Visual programming, Editor, Compiler, Debugger, Wiring, Asynchronous dataflow, Fisheye view, Automated refactoring, Syntax-directed, Auto-generation
PDF Full Text Request
Related items