应用模型实体与应用模型数据约束链接
3.1.6 应用模型实体与应用模型数据约束链接
应用模型实体与应用模型数据分离提高了应用模型独立性的同时,也给应用模型计算带来了困难,因此必须解决应用模型实体与应用模型数据匹配链接问题。基于应用模型实体与应用模型数据分离的策略,应用模型运行流程如下:
图3.10 应用模型运行流程
从图3.10中可以看到,应用模型数据类似于中间件,实现应用模型输入数据调配与应用模型运算结果的组织存储。应用模型数据可以单独存在,负责模型数据定制。同一应用模型数据可以应用到不同的模型实体中。具体数据由数据库、文件系统等管理,应用模型数据负责与其交互。
在这种运行流程中,由于模型实体与模型数据相对独立,因此有效的约束匹配机制尤为重要。约束匹配发生在应用模型实体与应用模型数据交互阶段。应用模型数据与具体数据库或文件系统间的约束可以作为数据生产的必要条件,不作为约束提出。
模型组件中定义的约束子类,主要用于完成模型组件与模型数据之间的约束检查,具体包括值约束、结构约束、空间语义约束。三类约束分别在输入、状态变量集、输出三个层面上进行,其中状态变量集层面上的约束不包括时空语义约束。具体见图3.11。
在有效的约束机制下,才能实现应用模型组件与应用模型数据的正确链接,完成应用模型计算。应用模型实体与应用模型数据分离后,链接方式比较灵活,不同模型组件可以链接同一模型数据,同一模型数据可以链接不同数据源。应用模型组件与应用模型数据链接在三个层面上进行,即输入—输入、输出—输出、状态变量集—中间值,部分模型输出对应于模型中间值。应用模型组件与应用模型数据链接如图3.12所示,多应用模型组件与应用模型数据链接如图3.13所示。
具体实现中,模型组件类的输入子类、输出子类、状态变量子类分别与模型数据的输入子类、输出子类、中间值子类进行约束检查,并与模型数据实例进行链接,从而模型实例化,进行模型计算。
图3.11 应用模型实体/应用模型组件与应用模型数据约束
图3.12 应用模型组件与应用模型数据链接
图3.13 应用模型数据与应用模型实体/应用模型组件链接产生新的应用模型
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。