首页> 外文期刊>Advances in software engineering >SPOT: A DSL for Extending Fortran Programs with Metaprogramming
【24h】

SPOT: A DSL for Extending Fortran Programs with Metaprogramming

机译:SPOT:使用元编程扩展Fortran程序的DSL

获取原文
           

摘要

Metaprogramming has shown much promise for improving the quality of software by offering programming language techniques to address issues of modularity, reusability, maintainability, and extensibility. Thus far, the power of metaprogramming has not been explored deeply in the area of high performance computing (HPC). There is a vast body of legacy code written in Fortran running throughout the HPC community. In order to facilitate software maintenance and evolution in HPC systems, we introduce a DSL that can be used to perform source-to-source translation of Fortran programs by providing a higher level of abstraction for specifying program transformations. The underlying transformations are actually carried out through a metaobject protocol (MOP) and a code generator is responsible for translating a SPOT program to the corresponding MOP code. The design focus of the framework is to automate program transformations through techniques of code generation, so that developers only need to specify desired transformations while being oblivious to the details about how the transformations are performed. The paper provides a general motivation for the approach and explains its design and implementation. In addition, this paper presents case studies that illustrate the potential of our approach to improve code modularity, maintainability, and productivity.
机译:通过提供编程语言技术来解决模块化,可重用性,可维护性和可扩展性问题,元编程已显示出改善软件质量的巨大希望。到目前为止,元编程的功能尚未在高性能计算(HPC)领域中进行深入研究。在整个HPC社区中运行着大量用Fortran编写的遗留代码。为了促进HPC系统中的软件维护和发展,我们引入了DSL,该DSL可通过提供更高级别的抽象来指定程序转换而用于执行Fortran程序的源到源转换。底层转换实际上是通过元对象协议(MOP)进行的,代码生成器负责将SPOT程序转换为相应的MOP代码。该框架的设计重点是通过代码生成技术使程序转换自动化,因此开发人员只需要指定所需的转换,而无需了解有关如何执行转换的详细信息。本文提供了该方法的一般动机,并解释了其设计和实现。此外,本文还提供了一些案例研究,这些案例说明了我们的方法在提高代码模块化,可维护性和生产率方面的潜力。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号