...
首页> 外文期刊>Software and systems modeling >Code generation by model transformation: a case study in transformation modularity
【24h】

Code generation by model transformation: a case study in transformation modularity

机译:通过模型转换生成代码:转换模块化案例研究

获取原文
获取原文并翻译 | 示例
           

摘要

The realization of model-driven software development requires effective techniques for implementing code generators for domain-specific languages. This paper identifies techniques for improving separation of concerns in the implementation of generators. The core technique is code generation by model transformation, that is, the generation of a structured representation (model) of the target program instead of plain text. This approach enables the transformation of code after generation, which in turn enables the extension of the target language with features that allow better modularity in code generation rules. The technique can also be applied to 'internal code generation' for the translation of high-level extensions of a DSL to lower-level constructs within the same DSL using model-to-model transformations. This paper refines our earlier description of code generation by model transformation with an improved architecture for the composition of model-to-model normalization rules, solving the problem of combining type analysis and transformation. Instead of coarse-grained stages that alternate between normalization and type analysis, we have developed a new style of type analysis that can be integrated with normalizing transformations in a fine-grained manner.rnThe normalization strategy has a simple extension interface and integrates non-local, context-sensitive transformation rules. We have applied the techniques in a realistic case study of domain-specific language engineering, i.e. the code generator for WebDSL, using Stratego, a high-level transformation language that integrates model-to-model, model-to-code, and code-to-code transformations.
机译:模型驱动的软件开发的实现需要有效的技术来实现针对特定领域语言的代码生成器。本文确定了在发电机实施中改善关注点分离的技术。核心技术是通过模型转换生成代码,即生成目标程序的结构化表示(模型)而不是纯文本。这种方法使代码可以在生成后进行转换,从而又可以通过扩展代码生成规则中的模块化特性来扩展目标语言。该技术还可以应用于“内部代码生成”,以使用模型到模型的转换将DSL的高级扩展转换为同一DSL中的低级结构。本文通过使用改进的架构来完善模型对代码生成的早期描述,以改进模型到模型的规范化规则的组合,解决了类型分析和变换相结合的问题。我们开发了一种新的类型分析类型,可以将其与规范化转换以一种细粒度的方式集成在一起,而不是在规范化和类型分析之间交替进行的粗粒度阶段.rn规范化策略具有一个简单的扩展接口并集成了非本地方法,上下文相关的转换规则。我们已在特定领域的语言工程的实际案例研究中应用了这些技术,即使用Stratego(一种集成了模型到模型,模型到代码和代码到代码的高级转换语言)的WebDSL的代码生成器。编码转换。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号