MDA 语言与本体映射及转换的深入解析
1. 建模空间关系概述
在本体建模领域,存在着多种建模空间,如本体建模空间、MOF 建模空间和 EBNF 建模空间。这些空间之间存在着特定的认识论关系,例如 S2 与 O2、S1 与 O1 存在对应关系,同时 MOF 和 EBNF 建模空间也有类似关系:S3 对应 M3,S2 对应 M2,S1 对应 M1。这些关系可用于描述 OMG ODM RFP 中所要求的转换。
2. 建模空间间的转换
2.1 转换的基本原理
无法直接在本体建模空间和 MOF 建模空间之间进行映射,这种转换需通过 EBNF 建模空间来定义。为实现所有 OWL 本体与基于 MDA 的本体语言所表示的本体之间的双向映射,需定义一对转换。这些转换基于 OWL 的“元定义”(即其元本体)和符合 MDA 的语言(即元模型),此转换原则符合 Bézivin 的基于元模型的模型转换原则。
2.2 具体转换方式及技术
在 EBNF 建模空间中,转换基于 OWL 和 XMI 的 XML 模式。以 OUP 模型转换为等效的 OWL 本体为例,这种转换将 M1 层映射到对应的 OWL 层(O1),最合适的实现方式是使用 XSLT,因为它能将一个 XML 文档转换为另一个 XML 文档。而从 OWL 到 OUP 的反向转换虽也可用 XSLT 实现,但由于可能使用不同的 XML 表示来表示 OWL 本体及其实例的语义,建议使用编程语言(如 Java 并搭配 OWL 解析器,如 Jena)来实现。
在 MOF 建模空间中,只能转换那些具有符合 MOF 的元模型的本体语言。例如 OUP 和 ODM 之间的转换