6.5生成工具
生成工具可以根据抽象描述生成任何工件。例如: • 基于UML类模型的不同编程语言中的类和方法体 • 基于数据模型的特定数据库系统的 SQL 或 DDL 语句,以及测试数据或数据访问模块 • 基于形式语法的词法分析器和解析器 • 能够基于 XML 模式定义(XSD)读取或写入 XML 模式的编程语言的类或函数 • 来自源代码文档 • 来自文本描述的JPG, PNG或矢量图形图像
6.5.1需求和决策标准
• 独立于目标平台和生成工件的格式 • 独立于输入数据/工件的元模型 • 转换过程的灵活性 • 安全关键应用的认证。
6.5.2代码生成器面临的挑战
自由可定义的元模型和生成规则提供了更高的灵活性,但牺牲了简单性。
6.5.3 示例
• ANTLR(开源解析器生成器) • AndroMDA(开源) • openArchitectureWare(开源) • 许多建模工具可以从模型或图表生成工件。这里的示例是数据库结构,如表和视图。 • 实现级的约定优于配置框架,如Ruby on Rails、Grails和Spring Roo也属于这一类,因为它们根据抽象描述生成(代码)工件。
Last updated