21、特定领域扩展与低成本工具支持的技术分析

特定领域扩展与低成本工具支持的技术分析

1. 特定领域扩展(P2 和 P3)

1.1 扩展概念概述

通过扩展概念可以实现具有更高结构和行为等效性的建模。它允许定义具有自己符号和执行语义的特定领域概念(P2),基于扩展的方法的优势在于基础语言的概念可以包含在特定领域概念中(P3),并且基础语言(BL)概念和扩展可以在同一模型中联合使用。

1.2 SLX 中的特定领域概念

在 SLX 中,可以定义两种类型的特定领域概念:语句和表达式。这些概念的语法定义受限于正则语言的子集,不适用于复杂的领域特定语言(DSL),因此属性(P2)只是部分存在。此外,DSL 概念只能包含 SLX 表达式,不能包含其他类型的构造,如 SLX 语句,这在定义示例语言 SML 的效果时是一个主要障碍,在 SLX 中必须将它们编码为字符串,所以属性(P3)也是部分存在。扩展的执行语义由一系列 SLX 语句和一个特殊的扩展语句定义,它们定义了到 SLX 核心语言的映射。通过为每个扩展实例执行此映射并将其替换为目标代码来派生目标代码。由于有模拟原语,执行语义的描述出奇地短,SML 在 SLX 中的完整定义为 103 行代码(LOC)。

1.3 DMX 中的特定领域概念

DMX 可以定义的语言集更全面,已经可以定义像状态机这样的复杂语言。其扩展支持上下文无关语言,这使得定义复杂语言成为可能。此外,DMX 包含一个特殊语句 setGenContext ,允许在语义部分更改当前生成上下文,这一概念允许在使用扩展的封闭模型的其他位置添加构造,在定义语义时很有帮助。例如,在 SML 的语义定义中,在使用状态机的同一模块中创建了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值