基于抽象规则的温室蔬菜UML 建模研究
2021-01-18王勇姜懿芮徐志颖姜俊
王勇,姜懿芮,徐志颖,姜俊
(1.驻马店市农业科学院,河南驻马店 463000;2.郑州大学信息工程学院,河南郑州 450002;3.郑州大学国际学院,河南郑州 450002)
20 世纪90 年代以来,设施农业在我国发展迅速,特别是节能日光温室蔬菜种植面积一直在扩大。随着智能农业信息技术在温室蔬菜生产中的应用,设施农业现代化步伐加快[1-2]。对日光温室蔬菜生产系统进行智能化建模管理,建立统一建模语言(UML)模型,能够实现对蔬菜从种到收的全程智能化控制,为智能化农业生产开辟新的路径,推动精准设施农业的发展[3-6]。
温室系统结构复杂,主要由蔬菜数据采集系统、温室大棚视频监控系统、温室大棚远程控制系统等组成[7-8],且在智能化建模过程中,不同的子模块中存在不一致的问题,因此探究温室蔬菜系统智能化建模存在的问题,对模型进行检测,处理模型中的一致性问题显得尤为重要,目前这方面的研究较少[10-12],这对现代农业发展极为不利。鉴于此,本文研究了日光温室蔬菜系统的模型检测原理,利用抽象规则实现了温室蔬菜系统的检测,以期解决日光温室蔬菜系统建模中出现的各类问题,使得模型建立更加高效、便捷。
1 检测原理与方法
模型检测研究基于统一建模语言(UML),在一个项目下的不同UML 图中的相关信息应该是一致的。在模型驱动工程(MDE)中,需要检测图表以及图与图之间的一致性。对于给定的软件项目提出要求,在日光温室蔬菜系统模型中,设计出两个不同温室嵌入式系统的UML 用例图(见图1)和UML 活动图(见图2)。在温室用例图1 中,用于描述蔬菜R 的信息(INFO1);在温室活动图2 中,控制模块(CMod)用于描述R 的信息传递(INFO1)。
智能化的模型中,各种模块系统出现的内容不一致,需要检测这些不一致的内容,并且力争减少这些不一致。如果一个系统是庞大而复杂的,图表可能会非常大。模型转换是MDE 的重要组成部分。UML 类图的抽象规则是将低级类图转换为高级类图。大多数现有模型抽象方法适用于用户决定的几个关键场景。根据对模型中实体重要性的理解,利用这些关键实体表示其他实体,然后通过关系抽象实现模型的抽象。
2 日光温室蔬菜系统的抽象规则
在日光温室蔬菜系统中,得到两个环境参数数据之间的直接关系,需要通过抽象规则分析这两组数据之间的路径。日光温室蔬菜系统UML 模型图使用分类器抽象的方法,利用关系抽象规则抽象类图中的关系,发现两种关系之间的联系,将两种关系抽象为一种关系。关系抽象使用规则抽象类图,将低层类图抽象为高层类图。
关系抽象和分类器抽象的语法。分类器抽象的语法如P1:[类×(关系)×类→类]。例如,如果在日光温室蔬菜数据采集系统和温室传感器节点的数据处理系统中,根据语法的关系,可以将场景抽象为类(蔬菜数据A)。关系抽象的语法是P2:[(关系)×类×(关系)→关系]。根据温室传感器节点的数据处理系统,如果在情景中环境温度数据和光照数据有关系,蔬菜大棚管理人员和种植户有关系。描述蔬菜、温室蔬菜和日光温室蔬菜之间的关系,日光温室蔬菜是一种温室蔬菜,温室蔬菜是一种蔬菜。日光温室蔬菜系统的场景描述为S1:[蔬菜×(泛化)×温室蔬菜×(泛化)×日光温室蔬菜]。在图3 中,通过使用分类器语法:[日光温室蔬菜×(泛化)×温室蔬菜→蔬菜],抽象了日光温室蔬菜系统的场景S1,得到了描述日光温室蔬菜和温室蔬菜的抽象场景,根据关系抽象规则:[(泛化)×类×(泛化)→泛化],我们得到泛化关系。最后将可以得到描述人类和动物的抽象场景,根据关系抽象规则:[蔬菜×(泛化)×温室蔬菜],关系抽象意味着模型通过关系抽象规则而不是分类器抽象规则进行抽象。关系抽象用于获得类图的高级抽象,而分类器抽象用于抽象路径。
图4 中的上半部分表示了日光温室蔬菜系统分类器抽象的输入和输出。图4 中上部匹配了日光温室蔬菜系统分类器抽象P1 的语法:[类蔬菜温度数据×(关联)×类蔬菜光照数据→类]。图中下半部分表示关系的输入和输出,与日光温室蔬菜系统下部匹配关系抽象语法P2:[(关联)×蔬菜温度数据×(关联)→关联],如果输入[(关联1)×类蔬菜温度数据×(关联2)],输出是关联1 或关联2。关系抽象输出依赖于关系抽象规则。
3 日光温室蔬菜系统的检测
在日光温室蔬菜系统中以迭代的方法应用规则,得到最终的可能性不是最大的,因此需要找出新的允许顺序获得最大的可靠性,在允许的两个规则后,有两个执行命令。首先运行第一个规则或第二个规则,导致两个不同的执行命令,不同的执行顺序可能导致不同的结果,图5中显示了两个执行命令,下半部分显示了第一个执行顺序,图5 中的执行规则:[(关联A)×温室蔬菜数据×(关联B)equals 关联D1],完成规则[(关联D1)×温室蔬菜数据×(关联C)equals 关联E1],其次是类温室蔬菜光照数据和类温室蔬菜温度数据的最终关系是关联E1,关联E1 的可靠性是FinalReliabilitya。图的上半部分显示了第二个执行顺序,执行应用顺序[(关联B)×温室蔬菜数据×(关联C)equals 关联D2],应用规则是[(关联A)×温室蔬菜数据×(关联D2)equals 关联E2]。温室温度数据和光照数据之间的执行顺序是关联E2,可靠性是FinalReliabilityb,关联E1 和E2 是不同的,如果关联E1关联E2,则路径包含关系不一致,如果Final Reliability a≠Final Reliability b,则路径包含可靠性不一致。
4 结论
日光温室蔬菜系统智能化模型中,各种模块系统出现内容不一致,需要检测这些不一致的内容,并且需要减少不一致的存在。首先对模型抽象进行分析,然后构建抽象规则,对UML 静态图和动态图进行实体一致性检测。并利用关系抽象规则,实现关系的检测。本文首先介绍模型检测的原理,对UML 模型进行分类,分析模型抽象。针对UML 模型中出现的不一致问题,提出基于抽象规则的UML 模型一致性检测的方法,定义了关系抽象的规则,发现UML 图中的循环经常导致问题,循环问题包含关系不一致、完整性问题和关系冗余。研究了如何检测关系不一致、关系完整性和关系冗余等问题以及如何解决这些问题。理论分析和验证试验表明,本文提出的基于抽象规则的UML 模型检测的方法,能准确识别UML 模型中存在的不一致问题,具有较高的检测效率。