Design pattern enables software architecture generality and reusability, but which depresses the high performance. The pattern specialization was built on partial evaluation technology to reduce the overheads of desig...Design pattern enables software architecture generality and reusability, but which depresses the high performance. The pattern specialization was built on partial evaluation technology to reduce the overheads of design pattern. The design patterns were classified to extract the common features, and the corresponding pattern specializations were constructed. In the pattern specialization, the optimization opportunities were identified, and the specialization methods and conditions were described. The syntax of binding time analysis was defined, and the semantic depicted the invariant of usage context. The virtual invocation and dispatch were eliminated, which enhances the running efficiency. This pattern specialization is a high-level specialization for improving the performance of software aimed at design level that is orthogonal with the low-level code optimization.展开更多
This paper proposes an action analysis for implementing combining partial evaluation efficiently. By analyzing the results of binding time analysis, on erations, which should be used in the combining partial evaluatio...This paper proposes an action analysis for implementing combining partial evaluation efficiently. By analyzing the results of binding time analysis, on erations, which should be used in the combining partial evaluation, are determined in advance, so that the computation in the combination of specialized programs is reduced effectively.展开更多
This paper describes theoretical and practical aspects of a partial evaluator that treats a parallel lambda language. The parallel language presented is a combination of lambda calculus and message passing communicati...This paper describes theoretical and practical aspects of a partial evaluator that treats a parallel lambda language. The parallel language presented is a combination of lambda calculus and message passing communication mechanism. This parallel language can be used to write a programming language's denotational semantics which extracts the parallelism in the program. From this denotational definition of the programming language, the partial evaluator can generate parallel compiler of the language by self application.The key technique of partial evaluation is binding time analysis that determines in advance which parts of the source program can be evaluated during partial evaluation, and which parts cannot. A binding time analysis is described based upon type inference. A new type chcode is introduced into the type system, which denotes the type of those expressions containing residual channel operations. A well-formedness criterion is given which ensures that partial evaluation not only doesn't commit type errors but also doesn't change the sequence of channel operations. Before binding time analysis, channel analysis is used to analyze the communication relationship between send and receive processes.展开更多
基金The National Hi-Tech Research and Development Program ( 863 )of China ( No2004AA104280)The Shanghai Grand Project of Science and Technology Commissionof Shanghai Municipality (No05DZ15005)
文摘Design pattern enables software architecture generality and reusability, but which depresses the high performance. The pattern specialization was built on partial evaluation technology to reduce the overheads of design pattern. The design patterns were classified to extract the common features, and the corresponding pattern specializations were constructed. In the pattern specialization, the optimization opportunities were identified, and the specialization methods and conditions were described. The syntax of binding time analysis was defined, and the semantic depicted the invariant of usage context. The virtual invocation and dispatch were eliminated, which enhances the running efficiency. This pattern specialization is a high-level specialization for improving the performance of software aimed at design level that is orthogonal with the low-level code optimization.
文摘This paper proposes an action analysis for implementing combining partial evaluation efficiently. By analyzing the results of binding time analysis, on erations, which should be used in the combining partial evaluation, are determined in advance, so that the computation in the combination of specialized programs is reduced effectively.
文摘This paper describes theoretical and practical aspects of a partial evaluator that treats a parallel lambda language. The parallel language presented is a combination of lambda calculus and message passing communication mechanism. This parallel language can be used to write a programming language's denotational semantics which extracts the parallelism in the program. From this denotational definition of the programming language, the partial evaluator can generate parallel compiler of the language by self application.The key technique of partial evaluation is binding time analysis that determines in advance which parts of the source program can be evaluated during partial evaluation, and which parts cannot. A binding time analysis is described based upon type inference. A new type chcode is introduced into the type system, which denotes the type of those expressions containing residual channel operations. A well-formedness criterion is given which ensures that partial evaluation not only doesn't commit type errors but also doesn't change the sequence of channel operations. Before binding time analysis, channel analysis is used to analyze the communication relationship between send and receive processes.