首页 理论教育 基于本体的跨平台应用软件移植技术成功应用示例

基于本体的跨平台应用软件移植技术成功应用示例

时间:2023-11-17 理论教育 版权反馈
【摘要】:以Windows中文件系统的系统操作API为例,其中函数FindFirstVolume用来获取第一个驱动器的GUID,返回的句柄是函数FindNextVolume以及函数Find-VolumeClose的输入,因此在一段代码中,函数FindFirstVolume的调用必然在函数FindNextVolume和函数FindVolumeClose的调用之前。如前文所述,其中函数FindFirstVolume执行后返回的句柄是函数FindNextVolume以及函数FindVolumeClose的输入,因此函数FindFirstVolume的调用与函数FindNextVolume以及函数FindVolumeClose有明显的时序关系。根据定义13,它们之间的时序关系可以表示为:这些函数与函数之间的关系可以用本体语言OWL来描述,以下是生成的OWL文件片段。

基于本体的跨平台应用软件移植技术成功应用示例

以Windows中文件系统的系统操作API为例,其中函数FindFirstVolume用来获取第一个驱动器的GUID,返回的句柄是函数FindNextVolume以及函数Find-VolumeClose的输入,因此在一段代码中,函数FindFirstVolume的调用必然在函数FindNextVolume和函数FindVolumeClose的调用之前。类似的,还有根据驱动器的GUID给出它的挂载点的函数FindFirstVolumeMountPoint、函数FindNextVolume-MountPoint以及函数FindVolumeMountPointClose,它们之间也存在调用先后的关系。函数SetVolumnMountPoint用来将给定GUID对应的驱动器挂载到给定路径上。根据前文的定义,对这几个函数进行静态和动态建模,然后用本体语言来描述模型。

函数FindNextVolume的函数型构:

从函数型构可以看出FindFirstVolume具有两个输入参数,分别是类型为LPTSTR的lpszVolumeName,以及类型为DWORD的cchBufferLength,函数的返回值为HANDLE类型,根据定义6,可以得到如下描述:

类似其他函数也可以如此形式化表示,限于篇幅,此处就不逐一列出。(www.xing528.com)

如前文所述,其中函数FindFirstVolume执行后返回的句柄是函数FindNextVolume以及函数FindVolumeClose的输入,因此函数FindFirstVolume的调用与函数FindNextVolume以及函数FindVolumeClose有明显的时序关系。根据定义13,它们之间的时序关系可以表示为:

这些函数与函数之间的关系可以用本体语言OWL来描述,以下是生成的OWL文件片段。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈