Font Size: a A A

Denotational Semantics And Program Analysis For ATLAS

Posted on:2008-04-28Degree:DoctorType:Dissertation
Country:ChinaCandidate:D G GuoFull Text:PDF
GTID:1118360212997679Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
ATLAS (Abbreviated Test Language for All Systems) is a common standard testing language which is not specific to any certain testing system. It has been widely used in testing automatics such as the electronic instruments for military, aviation or space research. It has solved some testing problems effectively, enhanced the efficiency of testing program, reduced the cost of equipment maintenance, and made the information exchanges among the technicians more convenient. In the design of ATS (Automatic Test System), ATLAS has been taken as the preferred language for UUT (Unit Under Test).Presently relatively perfect ATLAS compilers are PAWS developed by TYX and SMART by ARINC, which can be run on the Windows platform. With powerful functions, both of the above compilers can compile, edit, debug ATLAS, but they are quite complex. Controlled by American Army, ATLAS compilers applications in our country are much restricted. Therefore, to speed developing ATLAS of our own property right and applying it in automatic testing are quite worth consideration for China where ATLAS research is just in initial phase.Based on the summary and reference of relevant work, this paper studies ATLAS language from aspects of formal semantics, program analysis and language transformation thus gets some achievements which provide theoretical base for ATLAS compiling. To be more specific, work are done in the following aspects:1. To sum up the structure and feature of ATLAS languageIn terms of application in testing, ATLAS takes many advantages over other test languages, mainly because it can be applied more widely, more compatible and device-independent. With the structures of traditional procedural languages, ATLAS also defines integrated testing-related grammar, which meanwhile makes it more complex and bulky. None-signal part of the language, like any other procedural languages, consists of sequence, branch, circulation, computation and other statement and control structures. Testing-related signal statement, whose major function is to exchange signals with UUT by using testing resource of ATE (Automatic Test Equipment) to complete testing, is the essence of ATLAS language.2. To present the denotational semantics of ATLASTo study semantics of ATLAS is quite critical for designing and applying this language. Based on the profound study of ATLAS semantics, this paper presents a quite integrated formal semantic description of ATLAS language hence theory foundation is established for understanding and designing this language. Comparing with the current semantic-related study, the significance of this paper lies in the study of signal statement semantics. Quite different from semantics of other procedural language, even one statement of ATLAS language involves several testing procedures such as device allocation, maintenance of testing resource state and maintenance of UUT pin state etc.Therefore semantics of signal statement is much more complex than other conventional statements. This paper presents the denotational semantics of signal statement in detail including semantic description of device allocation, maintenance of testing resource state and maintenance of UUT pin state.3. To present program analysis method of ATLAS languageTo analyze ATLAS program through various analysis techniques so as to optimize and detect source programs of ATLAS. All the work are presented in detail in the following:1) To present program analysis method of signal statement and its application. Verbs, nouns, statement characteristic and other components of signal statements define a virtual testing resource which will correspond with one real testing device of ATE when the program is running. This paper set up the definition of virtual resource activity and also the activity equation, based on which, both the method to detect abnormity of ATLAS and method to optimize signal characteristic of the invariant expression.2) To present ATLAS program slicing method and its application. During the slicing process, not only control dependence relation of the program and dada dependence of variables should be analyzed, but dependence relation among ATE system devices and that among the testing signals should be considered. Firstly, based on the analysis of the signal statements of ATLAS program, combined traditional program dependence graph (PDG) and equipment dependence graph to expand PDG, so as to form device program dependence graph (DPDG) which adapt to ATLAS, to present the method to slice in DPDG, and study the application in device allocation. Secondly, this paper solving the problem that different statement analysis in ATLAS debugging will lead to different testing result of present UUT by combining the traditional program dependence graph and signal dependence graph hence signal program dependence graph (SPDG) are formed. In addition, the method of dynamic slicing in SPDG is presented so as to enhance the efficiency of ATLAS debugging.3) To study the partial evaluation techniques of ATLAS.In terms of language feature, partial evaluation techniques of procedural language are much more difficult than other languages, mainly because variables of procedural programs are constantly making dynamic changes when the program is running. Another reason is that, signal statement connection, virtual resource state, and signal charateristic evaluation should alos be considered. To provide adequate information to partial evaluation for it to decide whether ATLAS statements are performed, this paper takes the dynamic-marked analysis to make partial evaluation. Especially, in the signal statements partial evaluation part, influence of connection, signal charateristic expression, state changes of testing resources on partial evaluation are considered.4. To present heuristic static device allocation algorithmQuite independence to device, switch path and the needed testing device of ATLAS should be decided by compiler rather than programmer. Device Allocation being the most important module in ATLAS compiler, how good device allocation algorithm is will influence efficiency of ATLAS directly. This paper discusses the basic strategy of device allocation in ATLAS therefore presents static and dynamic device allocation algorithm respectively. Heuristic double trace searching algorithm is proposed, and time, space complexity are discussed; two heuristic function definitions for practical application are presented, and improvement strategy of the functions are discussed; application effect analysis is presented for practical ATLAS application examples which indicate that for any device allocation graph and K terms allocation request, this algorithm can find solutions or exit if no solutions are provided at all. The algorithm proposed in this paper has already been performed in ATLAS language compiler and has solved the device allocation successfully.5. To present formalization description of transformation from ATLAS to CIt is rather difficult to design ATLAS compiler directly due to its bulkiness. This paper presents a practical method to transform ATLAS to C and formalization description of transformation. To be more specific, since non-signal parts of ATLAS have their counterparts in C, the transformation is no more than the process of simply mathematical map. While some testing statements which are related to signal and bus can not find their counterparts in C. To solve this problem this paper provides a method, that is, to transform those statements into device allocation, device state transfer and driving function in order to simulate functions of ATLAS.The research mentioned in this paper will provide valuable reference for understanding, implementing and applying ATLAS language and lay foundation for this language as well. Based on the work mentioned in this paper, we have already made the transformation system and implemented initial application in a military school.
Keywords/Search Tags:ATLAS, signal statement, ATE, UUT, denotational semantics, driving function, virtual resource, partial evaluation, program slicing, dynamic slicing, device dependence graph, signal dependence graph, program transformation, device allocation
PDF Full Text Request
Related items