Font Size: a A A

Apla-Java Automatic Program Transformation System With Generic Programming Supported

Posted on:2005-02-23Degree:MasterType:Thesis
Country:ChinaCandidate:H H ShiFull Text:PDF
GTID:2168360122494126Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Since software crisis broke out, there have many new methods and new tools available to solve problems resulted from it. However, these existing solutions can't liberate people from software crisis thoroughly. Developing correct and efficient algorithmic programs with formal methods is called revolutionary approach by current computer world to overcome software crisis and improve software's reliability and productivity.According to research of several projects supported by 863 Hi-Tech Programme and National Natural Science Foundation of China, Professor Xue proposed a simple and practicable approach for formal development and proving of Algorithmicprograms--PAR approach. In addition, Radl is defined for describing algorithmicspecifications and algorithms, and Apia is defined for describing abstract programs.Automatic program transformation is the important component of PAR method, which is aided tool for developing advanced language program with PAR method. The research work of this paper is to provide a practicable tool to support the automatic transformation from generic Apia program to Executable Java programs, which is a sub research project of the two National Natural Science Fund projects which Xue Jinyun is taking charge of.The primary works we have done in this paper are listed as follows:1 testing and maintaining the existing automatic transformation system.2 optimizing and adjusting the structure of the existing self-defined Java class library, then extending it.3 refactoring the transformer; strengthening the existing function of the transformation system and add some new features for the system.4 strengthening the parameterized types function of generic problem; implementing the function of parameterized operation and allowing the operation parameter's name is some special symbol.5 researching how implementing Apia generic program in Java and proposing corresponding translation rules; now system supports generic program function.6 researching how implementing Apia user self-defined ADT in Java and propose corresponding translation rules; According to those rules, system have implemented the transformation of self-defined ADT.Now some tools for formal methods can only supported specification edit, specification refinement and manual proving, but this system has the following features and innovations that differentiate it from those tools:1 it is an important component of the PAR method. Radl describes the algorithm and Apia program generates from it. Radl has reference transparence and detach thealgorithm from program, which make derivation of algorithm and program easy and guarantee the correctness of Apia program.2 it allows user to describe Apia program with simple mathematical symbols.3 compelling the use of ADT to design and describe program, which make user can pay more attention to derivation algorithm.4 supported by component library, user can employ complex data type as simple data type.5 supporting Apia program edit, Apia program compiling and Apia program implementing, which is very convenient for user.6 supporting the programming ICAI system which is researching by our project group.7 can improve software's reliability and productivity which contributes resolving of the software crisis.There are obvious mechanisms for generic programming in Apia while Java doesn't have them, which is the paper's keystone and difficulty. Implementing generic programming in Java is the paper's innovation.
Keywords/Search Tags:PAR method, Java language, generic programming, user self-defined ADT, program transforming
PDF Full Text Request
Related items