基于Activiti和Drools的水产养殖自动决策流程管理系统
2019-01-14王文娟
陈 明,潘 赟,王文娟
基于Activiti和Drools的水产养殖自动决策流程管理系统
陈 明,潘 赟,王文娟※
(1. 上海海洋大学信息学院,上海 201306; 2. 农业部渔业信息重点实验室,上海 201306)
针对目前水产养殖过程管理中缺乏有效的流程化管理、养殖业务规则不明确、养殖决策效率低、人工经验判断操作失误率高等问题,阐述了工作流技术和规则引擎技术结合应用于水产养殖流程管理的设计思想。首先提出了一种基于规则引擎的智能工作流管理系统体系结构,并对系统进行总体框架设计。然后在分析和总结出水产养殖业务流程步骤繁琐不明确、受时间限制、多循环、多并发和存在大量养殖业务决策等特点的基础上,以南美白对虾养殖流程为例,通过Activiti可视化流程设计器对南美白对虾养殖流程进行流程定义和设计,构建水产养殖工作流模型;通过Drools规则引擎制定南美白对虾养殖关键流程业务规则库,制定过程包括养殖规则的分析、定义、设计、编写和触发。最后,将Activiti工作流引擎和Drools规则引擎与当今主流的SSH框架进行整合,开发基于Activiti和Drools的水产养殖自动决策流程管理系统。通过初期试验运行表明,该系统能有效实现水产养殖全流程业务状态的实时监控和养殖关键流程的规则决策,能有效增加养殖产量14.8%,降低饵料系数11.4%,减少人工管理成本30%,使得整体经济效益增加29.3%,初期试验效果良好,为水产养殖信息化过程管理提供了一种切实可行的流程化、自动化、精细化养殖的新策略。
水产养殖;模型;管理系统;Activiti工作流;Drools规则引擎;流程管理;业务决策
0 引 言
目前信息化水产养殖过程管理的相关研究大多偏向于对水温、溶解氧、酸碱度等水质环境因素的检测,结合相关硬件设备,建立养殖环境实时监控系统,如基于物联网的水产养殖智能化控制系统[1-3]、基于无线传感器网络的水产养殖多环境因素监测系统[4-6]、复合精确自动增氧系统[7]等。现有的工厂化精准水产养殖系统,如以色列的高度集约化养殖模式[8]、工厂化循环水福利养殖产业模式[9],气动螺旋桨驱动的水产养殖自动作业船[10],工业化水产养殖自动喂料机[11]等,多是依靠先进养殖设备实现单个或多个养殖环节上的自动化,并非扩展到整个养殖流程。到目前为止,并没有一种明确有效的流程化管理方法可以同时控制整个水产养殖过程,实现养殖过程的自动化、流程化管理。而传统的水产养殖过程管理习惯依据养殖人员的经验去判断当前的养殖状态和进行相应的养殖操作,由于缺乏精准有效的养殖业务决策能力,由养殖人员操作失误而导致池塘水产品死亡事件屡屡发生。为了摆脱现有养殖模式带来的弊端,亟需一种能智能决策、流程化管理的水产养殖监控系统。
源于20世纪70年代中期的工作流是“全部或者部分由计算机支持或自动处理的业务过程”[12]。工作流技术现已广泛应用于办公自动化领域、加工制造业、银行金融业、交通运输业、物流管理等各行业的流程控制和管理中[13-17]。其在流程自动化管理和控制方面表现突出,但目前尚未在水产养殖流程管理领域得到应用。
工作流技术实现了自动化的流程管理,提高了工作效率,但在业务决策方面表现薄弱。水产养殖过程存在大量的养殖业务决策,需要依据决策结果判定下一步养殖操作。规则引擎将业务规则从应用程序中抽取出来,并使用预定义的语义模块编写业务决策,接受数据输入,解释业务规则,并根据规则做出相应的执行动作,协助工作流管理系统进行流程路由决策和流程动态规划[18]。目前少数学者尝试将工作流与规则引擎相结合,提取了一些理论模型,并探索将其应用于某些特定场景。Döhring等[19-20]使用基于规则的可重用BPMN(business process modeling notation)模式来解决工作流中的异常,同时提出了基于规则引擎的工作流子过程自动化转换设计模型,以实现柔性工作流引擎。Popp等[21]尝试通过指定业务规则的模型转换来自动细化或调整业务流程,以更好地处理流程变化。项文俊[22]设计的基于工作流和规则引擎的IT运维流程管理系统,使IT运维更加标准化、流程化。朱晓辉等[23]将两者结合开发了保险电子商务系统,解决了自动核保试算等问题。本文在已有相关理论模型基础上,梳理和构建了基于工作流和规则引擎的系统模型和框架,并将其应用到工业化水产养殖流程中,利用规则引擎辅助养殖流程定义与执行,将规则与流程相结合,为解决水产养殖流程中存在的大量业务决策问题提供了切实可行的方案。
本文以南美白对虾养殖流程为例,将Activiti工作流引擎和Drools规则引擎同时集成于Eclipse开发环境中,构建基于工作流和规则引擎的水产养殖自动决策流程管理系统。该系统实现水产养殖全过程流程化养殖操作、养殖业务规则自动决策、养殖环境、水质、科学投喂、病害控制、水产动物生长状况等全方位的监控和管理,提供养殖经验,提高养殖效益,达到水产养殖全过程流程化、自动化、精细化管理的目标。
1 基于规则引擎的智能工作流系统
本系统引入规则引擎到工作流管理系统中,将业务规则和业务流程同时从业务逻辑中抽取出来,建立流程与规则相结合的系统。根据规则引擎的思想,并结合现有的工作流系统体系结构,设计出基于规则引擎的工作流系统,其体系结构如图1所示。
图1 基于规则引擎的工作流管理系统体系结构图
该工作流系统主要是在传统工作流管理系统体系结构的基础上增加了规则创建模块和规则引擎模块。其中规则创建模块在遵循一定语言语法规范下,进行业务规则的定义与编写,生成规则文件或规则库,为规则引擎提供规则集。规则引擎模块主要完成业务规则决策功能,并通过规则服务接口提供工作流流程控制、任务管理、活动管理等规则服务,协助工作流引擎完成流程的运行过程。
基于规则引擎的工作流管理系统最重要的功能是实现工作流引擎和规则引擎的连接和交互,当工作流引擎运行流程时,流程将上下文信息如流程实例、活动实例、流程数据、应用程序传入的应用数据等作为事实对象传递规则引擎,并调用规则服务接口,启动规则服务,触发规则引擎的执行。规则引擎将刚才传入的事实对象加载到工作内存中并生成事实实例;将事实对象与规则引擎规则库中事先定义好的规则进行条件匹配,筛选并激活符合当前数据状态下的业务规则;根据规则冲突消解策略,如规则优先级等,进行规则处理,安排规则的执行顺序;根据处理后的结果和业务规则中声明的执行逻辑,执行应用程序中对应的操作行为。规则引擎把此次规则执行带来的变化信息进行更新并通过规则服务返回给工作流引擎,工作流引擎等待新的事实对象的传入,和下一次规则的触发,以此实现流程引擎和规则引擎的双向驱动,保证流程运转的高效性和业务决策的准确性,提高系统的实时性和实用性。
2 系统总体框架设计
系统采用基于MVC的B/S(浏览器/服务器)设计模式,可以满足水产养殖自动决策流程管理系统远程访问和监控的需要。将Activiti工作流引擎和Drools规则引擎与当今主流的SSH框架进行整合,采用表现层、业务逻辑层、持久层和数据库的分层设计模式,将界面与业务逻辑分离、流程逻辑与程序分离、业务规则与程序分离,使得养殖流程管理系统的安全性、可维护性、置用性和可拓展性大大提高。整个系统的架构图如图2所示。
注:JSP为java服务器页面。
业务逻辑层:系统核心部分,该层以Spring作为核心技术,将Activiti工作流引擎、Drools规则引擎、Struts框架和Hibernate框架整合在一起,共同完成逻辑处理和数据存储。其中Activiti工作流引擎负责驱动和执行整个养殖流程、控制养殖流程整体的业务流转和路由选择情况;Drools规则引擎负责养殖放养期关键流程中大量养殖业务规则的自动决策,如水位、水质、虾/鱼苗情况、投喂、投药等相关一系列养殖规则的决策操作。规则服务接口为两者引擎的交互提供了通道,为规则的执行提供输入和输出变量的设置。
数据持久层:该层采用功能全面、方便简洁的Hibernate框架完成系统数据持久化和存取操作。本层提供数据信息管理服务,分为流程库、业务库和规则库,包含养殖流程执行过程中工作流自身产生的25张流程相关数据表、养殖系统相关的养殖信息数据表、养殖业务规则文件和规则信息数据表等,作为水产养殖流程管理系统的数据信息基础。
表现层:表现层采用JSP技术实现了系统功能,该系统主要完成养殖业务流程的监督管理、养殖业务规则的自动决策,实现养殖全程业务状态的跟踪、记录和控制,记录养殖信息全方位的变化,从而为养殖人员提供养殖的信息依据,提高养殖效益。其系统具体功能包括以下几个方面:
1)工作流管理模块
该模块负责部署养殖流程定义;查询流程执行过程中生成的流程实例、历史任务等;记录工作流生命周期里产生的各种流程相关数据信息。
2)养殖流程管理模块
该模块是系统的核心模块,负责启动已部署的养殖流程实例;根据养殖工作流模型,依次执行每个养殖流程节点,完成各阶段养殖操作;根据养殖规则,在放养期关键养殖流程执行的同时,进行养殖规则自动决策操作,显示决策结果并给予养殖用户专家级别的操作经验。
3)养殖信息管理模块
该模块负责记录和管理系统运行过程中生成的大量养殖相关数据信息,包括池塘、虾苗、水位、水质、虾情、投喂、巡塘、诊断、投药和捕捞等信息,为养殖提供信息依据。
4)规则库管理模块
该模块对规则库和控制参数进行单独管理,使得规则和参数能够根据养殖环境和水产动物实际生长状况进行调整而不需要做大的变动,使系统的决策更加灵活。
5)疾病诊断模块
6)系统设置模块
该模块实现养殖用户的添加、删除;用户信息的查询、修改;用户密码的重置修改;养殖用户对应负责池塘养殖情况的查询等。
3 系统试验分析
3.1 水产养殖流程特点
在对比分析学者关于罗非鱼[24]、南美白对虾[25]等水产品的养殖流程描述和《水产养殖手册》[26]描述的养殖方法后,总结出水产养殖流程特点:1)水产养殖步骤繁琐,部分步骤执行顺序不明确;2)养殖过程受季节限制,由时间驱动,并且各阶段不可逆转;3)放养期日常管理阶段养殖操作需每日重复循环进行;4)放养期日常管理阶段养殖操作需每日定时定点进行;5)放养期日常管理阶段养殖操作存在并发执行、并发结束的多并发性可能;6)水产养殖过程中存在大量的养殖业务规则决策,如判断水位高低、水质好坏、制定投喂规则等,需通过决策判定下一步养殖操作。
3.2 南美白对虾养殖流程模型的设计
3.2.1 南美白对虾养殖工作流模型
在分析水产养殖流程特点之后,系统通过Eclipse的可视化流程设计器Activiti Designer对南美白对虾养殖流程进行流程定义和设计,养殖流程模型如图3所示。
南美白对虾养殖流程分为3个阶段:放养前准备期、放养期和起捕期,每个阶段包含各自的养殖状态。该流程模型描绘南美白对虾从“选塘”开始到最后“捕获”的整个养殖过程的流程流转情况。
由“选塘”开始到“投放苗种”结束即为放养前准备期阶段,此部分存在顺序流程和并发流程,主要完成养殖前期一系列准备操作。
上述拉祜族等四个藏缅语民族在叙述文字产生神话时,不时涉及到其他民族。比如澜沧江西岸拉祜族的神话中,涉及佤族、傣族、哈尼族、汉族,均为历史上与拉祜族关系密切的周边民族;在有-无文字神话叙事文本中,隐藏着区域社会权力结构。同样逻辑也反映在傈僳、哈尼等民族的神话叙述中。因而文字丢失的叙述反映了神话产生或转述时的族群政治关系。
由“放养”开始进入放养期阶段,放养时养殖人员设置开始放养日期和放养期天数。“放养天数”节点负责计算当前放养天数以及当前的放养时段(幼苗期、放养前期、放养中期和放养后期)。流程执行至“排他网关”为整个放养期阶段,此部分流程为养殖关键流程,包括:
1)“实时水位监控”、“实时水质监控”、“日常虾情分析”、“科学投喂”、与“巡塘管理”日常养殖操作的并发路由,并由“定时器边界事件”设定时间,控制5个并发流程每日结束并发执行的时间,保证养殖过程以“天(24 h)”为单位进行并发和循环养殖观察与记录。
2)加入业务规则任务节点,“水位监管规则”、“水质监管规则”、“虾情分析规则”、“投喂规则”、与“巡塘规则”,分别与1)节中的5个养殖操作构成循环路由,控制每次养殖操作时的规则决策与5个养殖节点每天定时定点循环,且每次执行的间隔时间或次数可由养殖人员设定,决策后的结果将反馈给养殖人员相应养殖警告信息或专家级别的养殖建议,以便进行相应的养殖处理。
3)在水质与虾情2条流程后引入“病源监测”和“科学投药”流程,水质、虾情与病源影响因素构成“综合指标病症诊断”的综合指标,并对应相应的“病源监测规则”和“投药规则”做规则分析,以保证南美白对虾的健康生长。
4)“排他网关”用于设置是否起捕的依据,根据用户设置的放养期天数判断是否进行起捕操作,当养殖天数达到预定的总放养期天数即起捕,未满足总放养期天数即循环回流至“放养天数”节点继续进行放养期阶段操作。
图3 南美白对虾养殖流程模型图
由“起捕”开始到“捕获”结束即为起捕期,使用灵活的“兼容网关”进行单向或双向条件判断,情况有3种:1)“起捕”的虾全部达标或捕捞天数已达到最大限定捕捞期,则仅“捕获”;2)“起捕”的虾全部未达标且还在限定捕捞期内,则仅重新“放养”;3)“起捕”的虾一部分达标,另一部分未达标且还在限定捕捞期内,则达标的虾“捕获”,未达标的重新“放养”。
3.2.2 定时器边界事件与并发控制
在利用定时器边界事件设定触发时间,控制并发流程在同一个时刻汇合时,为防止在合并(Join)节点处产生事务冲突,导致某个并发流程不能顺利结束而产生异常,需要将触发时间转换成cron表达式类型,例如“00 30 18 * * ?”。本系统设置5个边界定时器(对应“实时水位监控”、“实时水质监控”等5个并发流程任务节点)触发时间的cron表达式分别为“00 mm HH * * ?”、“05 mm HH * * ?”、“10 mm HH * * ?”、“15 mm HH * * ?”和“20 mm HH * * ?”。当养殖人员在放养天数节点处设置边界定时器的触发时间为每晚的00:05时,5个并发流程会按照cron表达式规定的时间格式,依次在00:05:00、00:05:05、00:05:10、00:05:15与00:05:20,这20 s的时间段内依次触发,汇入合并节点,结束并发流程的执行。
3.3 基于Drools的养殖业务规则制定过程
南美白对虾养殖流程整体的流转和路由的选择由Activiti工作流引擎控制,大量养殖业务规则的决策由Drools规则引擎进行控制。图2中的业务规则任务节点专门针对Drools规则引擎的使用,为工作流引擎与规则引擎的交互提供规则服务接口,为规则的执行提供输入和输出变量的设置。在养殖放养期日常管理环节上制定跟水位、水质、虾/鱼苗情况、投喂、投药、病症诊断等相关的一系列养殖规则,放入以.drl命名的规则文件中。Drools规则引擎通过匹配养殖人员操作、录入或系统采集等事实对象的数据与事先定义的规则,根据匹配后的结果进行相应的养殖操作处理,给予养殖人员警告信息或专家级别的建议,保证水产养殖业务决策的准确性,提高养殖效率。以下是规则的制定过程。
3.3.1 养殖规则的分析
通过参考现有的南美白对虾养殖影响因素的资料,分析总结出南美白对虾在放养期日常养殖操作过程中存在的具体养殖业务决策主要有:1)水位高低的判断;2)水质中水温、pH值、溶解氧、氨氮、亚硝酸盐、硫化氢等物质含量高低的判断;3)虾养殖过程中每个阶段平均质量、平均体长、死亡率、身体特征、摄食情况等的判断;4)养殖过程中根据养殖时期、天气情况、整体水质情况和虾整体生长情况制定的科学投喂规则;5)巡塘时池塘周围异常情况的判断;6)水质中病毒及其种类的判断;7)由水质、虾情、病源3方面因素形成的综合指标病症的诊断;8)根据诊断后病症种类,判断投放药物措施。
3.3.2 养殖规则的定义
在规则分析之后进行养殖规则定义,由于养殖业务规则复杂繁多,以表格形式对养殖规则进行明确描述和量化,做出具体的规则定义和描述如表1所示。表1中规则对象即南美白对虾养殖流程中放养期阶段关键流程节点所对应的事实对象;对象属性即每个对象所对应的养殖关键影响参数;规则条件即参数的测试范围,也是规则的前件;规则结论即业务决策后的执行结果,其结果给予养殖人员警告信息或专家级别的建议。
表1 南美白对虾养殖规则定义
注:A(=1,2,3…)表示规则条件中参数范围的上限值;B(i=1,2,3…)表示规则条件中参数范围的下限值;C(=1,2,3…)、D(=1,2,3…)与E(=1,2,3…)均表示规则条件中参数范围的间值。
Note: A(=1,2,3…) represents the upper threshold of the parameters in the rule condition;B(=1,2,3…) represents the lower threshold of the parameters in the rule condition;C(=1,2,3…),D(=1,2,3…) andE(=1,2,3…) all represent the interval values of the parameter in the rule condition.
以水质监控对象中的pH值属性为例,对表1中pH值规则定义进行说明。
1)水质中pH值大于等于3且小于等于3,核定:此时pH值正常;
2)水质中pH值超过3,核定:警告,此时水中pH值偏高,可投入适量滑石灰进行调节;
3)水质中pH值低于3,核定:警告,此时水中pH值偏低,可投入适量生石灰进行调节。
3.3.3 养殖规则的设计
根据养殖规则定义,对规则进行合理设计。在编写规则之前,需要先定义好规则中需要使用到的养殖事实对象,包括事实对象类和类属性。南美白对虾养殖事实对象及包含属性如下表2所示。
3.3.4 养殖规则的编写
完成规则定义和设计后,具体养殖规则的编写遵循Drools规则语言语法规范,在平台操作界面中建立以.drl命名的规则文件,分别有水位监管、水质监管、虾情分析、科学投喂、巡塘、病源监测、综合指标病症诊断与科学投药8个养殖业务规则文件,每个规则文件中含有多组规则。
以水质监管规则中的pH值规则为例,此组规则包含3个规则,分别是Low pH value(低pH value规则)、Normal pH value(正常pH value规则)与High pH value(高pH value规则),实时传入的pH值用变量pH value表示,规则条件中pH值的正常范围为[3~3],其业务规则代码编写流程如下图4所示。
表2 南美白对虾养殖规则设计事实对象属性表
图4 pH值规则代码编写流程框图
3.3.5 养殖规则的触发
当流程执行到图2中“实时水位监控”、“实时水质监控”等并发节点时,会自动执行“水位监管规则”、“水质监管规则”等业务规则任务节点,通过调用规则服务接口,触发养殖规则的执行。即当养殖人员操作、录入或系统采集事实对象的数据传入时,Drools规则引擎通过匹配数据与养殖规则,并根据匹配后的结果进行相应的养殖操作处理。此轮规则执行完后执行流又重新回流至前一个并发养殖流程节点,等待新的事实数据的传入和规则的触发,以此保证水产养殖业务决策的实时性和高效性,提高精细化养殖的准确性。
4 系统实现及应用分析
本文设计的基于Activiti和Drools的水产养殖自动决策流程管理系统在Windows10操作系统环境下,使用Eclipse3.7作为集成开发环境,同时集成Activiti5.22工作流引擎插件和Drools5.6规则引擎插件。系统后台开发采用Mysql数据库服务器,应用服务器采用Apache Tomcat,前端采用Html、JavaScript和CSS编程语言进行开发。系统搭建主流的SSH框架,将Activiti工作流引擎和Drools规则引擎与SSH框架进行整合,遵循3层体系架构。系统应用Java开发语言进行开发和实现,并以JavaBean的形式进行养殖流程实体类的编写和类属性的封装,完成数据库内的映射、查询以及连接等操作,同时将开发功能和框架进行分离。
系统对事先定义好的南美白对虾养殖工作流模型进行流程部署后产生一条南美白对虾养殖流程实例,启动实例后开始养殖。根据养殖流程的流向进行从选塘、选苗直至最后捕获管理等一系列的养殖流程操作,并在实时的水位监控、水质监控等养殖关键流程执行的同时进行水位、水质等养殖业务规则自动决策操作。如图5界面所示,当系统在某个时刻接收到一系列水质数据传入时,数据传输频率可由养殖人员控制,系统会执行水质监控流程节点并自动进行水质监管规则的决策,显示决策结果并给出操作建议。该系统保证了南美白对虾养殖的流程化执行、智能化控制和自动化决策,给予养殖用户专家级别的经验,提高了养殖效率。
图5 养殖流程中实时水质监控界面
在养殖流程执行的同时系统记录了大量养殖相关数据信息,包括虾苗、水位、水质、虾情、投喂、投药等信息,并可以对这些信息变化作分析。图6是水质监控24 h内水质各参数的趋势变化图,提供养殖人员最直观可靠的水质环境变化。系统通过记录养殖信息全方位的变化趋势,为养殖提供信息依据。规则库和控制参数在系统中进行单独管理,养殖人员可根据养殖环境和水产动物生长实际状况对养殖规则控制参数进行调整而不需要做大的变动,使系统的决策更加灵活。
图6 水质变化趋势图
由于Drools规则引擎决策速率具有不受规则数量影响的特性,如表3所示,不管养殖规则数量多少,系统每次做出决策的平均时间都维持在3.5 s左右,决策的准确率达到100%。根据软件测试“2-5-10原则”[27],测试响应时间在2~5 s内属于系统用户比较满意的接受范围内,证实了系统的快速和稳定。
表3 自动决策效率
本文设计的系统已在项目合作单位南通某水产公司的水产动物养殖管理过程中进行试验运行,试验采用2口大小均为4 500 m2,平均水深1.5 m的池塘,一个池塘采用本文设计的新系统,作为试验塘,另一个采用该公司原用的传统水产养殖系统,作为对照塘。试验塘和对照塘均投放已淡化好的南美白对虾虾苗32万尾,养殖周期为2018年2月初至5月中旬,历时100 d的放养管理。对试验塘和对照塘中全部成虾进行捕捞和计量的统计,结果显示,使用本系统的池塘产量为3 115.5 kg,平均规格79尾/kg,饵料系数0.88;对照池塘产量为2 713.5 kg,平均规格82尾/kg,饵料系数0.98,试验塘中南美白对虾产量比对照塘中增加了14.8%,养殖饵料系数降低了11.4%,成活率上升了7%,该结果表明使用本系统进行水产养殖流程化管理可以有效提高南美白对虾的产量。
基于本系统的南美白对虾养殖池塘在此养殖周期内耗费总成本平均为11.64万元/hm2,如表4所示,由于本系统制定了详细的投喂规则,使得南美白对虾符合“少量多餐”的健康饮食方式,增加了投喂次数,所以增加了饲料成本,但是产量的增加和饵料系数的减少,说明此系统达到了精准投喂的目标。由于本系统实现了流程化的养殖操作管理和自动决策管理,使得投入的人工成本降低约30%。以当季市场价南美白对虾44元/kg的均价计算收益,使用本系统进行养殖管理的池塘总产值为平均30.69万元/hm2,使用原有传统养殖系统管理的池塘总产值为26.73万元/hm2,总产值增加约14.8%,整体获利增加约29.3%,提高了养殖效率和经济收益。
表4 南美白对虾养殖成本和收益分析
5 结 论
本文构建的基于Activiti和Drools的水产养殖自动决策流程管理系统,通过Activiti实现水产养殖全过程流程化养殖操作和实时监控;通过Drools实现大量养殖业务规则的自动决策管理。此系统与传统的水产养殖系统相比,存在如下优势:
1)在传统水产养殖系统监测控制、数据管理等简单功能基础之上,进行流程化的养殖操作管理,根据工作流模型自动进入下一步养殖状态,无需人工经验判断,使养殖管理更加科学化、规范化。
2)系统在流程运行和数据监控的同时,提供了传统养殖系统没有的养殖规则自动决策功能,根据规则快速灵活地自动决策,显示决策结果并给出操作建议,给予用户专家级别的养殖经验。
3)虽然系统功能较传统水产养殖系统复杂很多,但该系统依然能高效运行。系统每次做出决策的平均时间都维持在3.5 s左右,准确率达到100%,这处在实际生产操作中的可接受范围之内,满足了系统实际运行的需求,达到了系统快速、稳定、高效的设计目标。
此系统的研发一方面给工作流技术和规则引擎技术的发展开拓了新领域,使之运用到了水产养殖过程管理领域;另一方面使水产养殖过程管理脱离传统的人工手动控制和经验判断,加强了养殖流程和养殖规则的统一管理。该系统在试验运行后,可以有效提高南美白对虾的产量14.8%,降低饵料系数11.4%,提升成活率7%,减少人工管理成本30%,使得整体经济获利增加约29.3%,初期试验效果良好,随着系统的进一步优化完善,待系统全面实施后,定会给企业带来更加可观的经济效益。基于Activiti和Drools的水产养殖自动决策流程管理系统为水产养殖过程管理领域提供了一种流程化、自动化、精细化管理的新方法,对现代水产养殖业的发展具有重要的推动作用。
[1] 李慧,刘星桥,李景,等. 基于物联网Android平台的水产养殖远程监控系统[J]. 农业工程学报,2013,29(13):175-181.
Li Hui, Liu Xingqiao, Li Jing, et al. Aquiculture remote monitoring system based on IOT Android platform[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2013, 29(13): 175-181. (in Chinese with English abstract)
[2] Manju M, Karthik V, Hariharan S, et al. Real time monitoring of the environmental parameters of an aquaponic system based on Internet of Things[C]// International Conference on Science Technology Engineering & Management, IEEE, 2018: 943-948.
[3] Raju K R S R, Varma G H K. Knowledge Based real time monitoring system for aquaculture using IoT[C]//Advance Computing Conference. IEEE, 2017: 318-321.
[4] 杨旭辉,周庆国,韩根亮,等. 基于ZigBee的节能型水产养殖环境监测系统[J]. 农业工程学报,2015,31(17):183-190.
Yang Xuhui, Zhou Qingguo, Han Genliang, et al. Energy-efficient aquaculture environmental monitoring system based on ZigBee[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2015, 31(17): 183-190. (in Chinese with English abstract)
[5] Tai H J, Liu S Y, Li D L, et al. A multi-environmental factor monitoring system for aquaculture based on wireless sensor networks[J]. Sensor Letters, 2012, 10(1): 265-270.
[6] Shi B, Sreeram V, Zhao D, et al. A wireless sensor network-based monitoring system for freshwater fishpond aquaculture[J]. Biosystems Engineering, 2018, 172: 57-66.
[7] 蒋建明,朱正伟,李正明,等. 水产养殖中复合精确自动增氧技术研究[J]. 农业机械学报,2017,48(12):334-339.
Jiang Jianming, Zhu Zhengwei, Li Zhengming, et al. Technology of green accurate oxygen enhancement in aquaculture[J]. Transactions of the Chinese Society for Agricultural Machinery, 2017, 48(12): 334-339. (in Chinese with English abstract)
[8] 中国水产频道. 大开眼界:以色列集约化水产养殖的方式与装备[N]. 中国渔业报社,(2016-05-06)[2018-07-20].
[9] 黄滨,刘滨,雷霁霖,等. 工业化循环水福利养殖关键技术与智能装备的研究[J]. 水产学报,2013,37(11):1750-1760.
Huang Bin, Liu Bin, Lei Jilin, et al. The research on key technology and intelligent equipment of aquaculture welfare in industrial circulating water mode[J]. Journal of Fisheries of China, 2013, 37(11): 1750-1760. (in Chinese with English abstract)
[10] Sun Y P, Zhao Y Y, Zhao D A, et al. Design of automatic aquaculture workboat driven by air propellers[J]. Applied Mechanics & Materials, 2014, 556-562: 2553-2558.
[11] Yeoh S J, Taip F S, Endan J, et al. Development of automatic feeding machine for aquaculture industry[J]. Pertanika Journal of Science & Technology, 2010,18(1): 105-110.
[12] Hollingsworth D. Workflow aanagement coalition The workflow management coalition specification workflow management coalition the workflow reference model[J]. Lorenzo Cotino Hueso, 2011, 80(4): 577-601.
[13] 薛源. 基于Activiti工作流引擎的协同办公应用的研究与实现[D]. 成都:电子科技大学,2016.
Xue Yuan. The Design And Implementtation Of Cooperation Office System Based On Activiti[D]. Chengdu: University of Electronic Science and Technology of China, 2016. (in Chinese with English abstract)
[14] 宋栓军,石雯丽,杨佩莉. 基于Petri网的服装供应链仿真模型[J]. 计算机工程与应用,2017,53(19):241-245.
Song Shuanjun, Shi Wenli, Yang Peili. Simulation model of apparel supply chain based on Petri net[J]. Computer Engineering and Applications, 2017, 53(19): 241-245. (in Chinese with English abstract)
[15] 王晓晓,杜勇前,叶剑虹,等. 基于工作流网的银行业务库高安全门禁系统[J]. 计算机工程与应用,2016,52(8):221-228.
Wang Xiaoxiao, Du Yongqian, Ye Jianhong, et al. High security entrance guard system for bank vaults based on workflow net[J]. Computer Engineering and Applications, 2016, 52(8): 221-228. (in Chinese with English abstract)
[16] Starke S D, Baber C, Cooke N J, et al. Workflows and individual differences during visually guided routine tasks in a road traffic management control room[J]. Applied Ergonomics, 2017, 61: 79-89.
[17] Lee C K M, Ho W, Ho G T S, et al. Design and development of logistics workflow systems for demand management with RFID[J]. Expert Systems with Applications, 2011, 38(5): 5428-5437.
[18] 成敏. 基于规则引擎的动态工作流模型研究与设计[D]. 武汉:武汉理工大学,2009.
Cheng Min. Research and Design of the Dynamic Workflow Model Based on the Rule Engine[D]. Wuhan: Wuhan University of Technology, 2009. (in Chinese with English abstract)
[19] Döhring M, Heublein S. Anomalies in Rule-Adapted Workflows: A Taxonomy and Solutions for vBPMN[C]// European Conference on Software Maintenance and Reengineering, IEEE, 2012: 117-126.
[20] Döhring M, Schulz A, Galkin I. Emulating runtime workflow adaptation and aspect weaving by recursive rule-based sub-process selection: A model transformation approach[C]//Beijing, 2012, 59(5): 133-142.
[21] Popp R, Kaindl H. Automated refinement of business processes through model transformations specifying business rules[C]//IEEE, International Conference on Research Challenges in Information Science, IEEE, 2015: 327-333.
[22] 项文俊. 基于工作流和规则引擎的IT运维流程管理系统的开发[D]. 上海:上海交通大学,2015.
Xiang Wenjun. Development of IT Service Process Management System Using Workflow and Rule Engine[D]. Shanghai: Shanghai Jiaotong University, 2015. (in Chinese with English abstract)
[23] 朱晓辉,马晶,王焱. 基于规则和工作流引擎的保险电子商务系统研究[J]. 现代电子技术,2016,39(19):157-160.
Zhu Xiaohui, Ma Jing, Wang Yan. Research on insurance e-commerce system based on rules and workflow engine[J]. Modern Electronics Technique, 2016, 39(19): 157-160. (in Chinese with English abstract)
[24] 颜波,石平. 基于物联网的水产养殖智能化监控系统[J]. 农业机械学报,2014,45(1):259-265.
Yan Bo, Shi Ping. Aquaculture intelligent monitoring system based on Internet of things[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(1): 259-265. (in Chinese with English abstract)
[25] 裴丽娜,陈明,葛艳. 基于系统动力学的对虾养殖品质风险应用[J]. 传感器与微系统,2016,35(11):157-160.
Pei Lina, Chen Ming, Ge Yan. Application of quality risk of Vannamei farming system based on system dynamics[J]. Transducer and Microsystem Technologies, 2016, 35(11): 157-160. (in Chinese with English abstract)
[26] 李德尚. 水产养殖手册[M]. 北京:农业出版社,1993:335-367.
[27] 朱少民. 软件测试方法和技术 [M]. 第2版. 北京:清华大学出版社,2010.
Process management system of automatic decision making for aquaculture based on Activiti and Drools
Chen Ming, Pan Yun, Wang Wenjuan※
(1.,201306,; 2.,201306,)
At present, there exist a series of problems in the process management of aquaculture, including inefficient process management, inexplicit aquaculture business rules, low efficiency of decision-making and high failure rate of operation by human experiences. In order to solve those problems, this study targets to develop an enhanced process management system for the automatic decision making of aquaculture. The theoretical foundation of the proposed system is to integrate rule engine technology with the traditional workflow systems. Although workflow technology can realize the automatic process management and improve the work efficiency, it performs worse in automatic business decision-making. There exist substantial decisions during the process of aquaculture, which can determine the right next-step operation. Rule engine can separate business rules from the application program, and assist workflow system to conduct automatic decision-making and dynamic scheduling of the business process. Based on this theoretical foundation, the architecture of an intelligent workflow management system based on rule engine was proposed, which implemented the idea of interaction and bidirectional driving between workflow engine and rule engine. To further examine the rationale of the proposed system, this study used the case ofbreeding to customize the process management system. First, the characteristics of the business process ofbreading, including complex and inexplicit steps, being constrained by time, multiple cycles, multiple concurrency and substantial business decisions, were analyzed and summarized. Next, the breeding process ofwere defined and designed through the Activiti visualization process designer based on the development of workflow model of aquaculture. Then, the analysis, definition, design, compilation and triggering of the business rules in the key breeding processes ofwere established through the Drools rule engine. Finally, though integrating Activiti workflow engine and Drools rule engine with the mainstream SSH framework, the process management system of automatic decision making forbased on Activiti and Drools was developed by the tool of Eclipse3.7 integrated with the plug-in components of Activiti5.22 and Drools5.6. The process management system followed the three-layer system architecture and programmed by JAVA language and MySQL database. Although compared with the traditional aquaculture management system, the proposed process management system performed superior in process management and automatic decision making, it can still run efficiently. Because the velocity of decision-making by Drools rule engine was not affected by the number of the business rules, no matter how many breeding rules there were, the process management system could always make automatic decisions with an average of 3.5 s and the accuracy rate reached up to 100%. Currently, the process management system had been partially applied by an aquaculture company in Nantong and the company had completed the contrast test in system pilot run. The results of the comparative experiment had demonstrated that the system could effectively realize the real-time supervision and control of the whole-process business state of aquaculture, and quickly and accurately make the automatic decisions of the breeding business rules. Compared with the shrimp pond controlled by the traditional feeding system, the shrimp pond controlled by the process management system increased the yield of aquaculture by 14.8%, reduced the feed coefficient by 11.4%, reduced the labor cost by 30%, and increased the total profit by 29.3%. Thus, this study provides an automatic, streamlined and fine management method for the process management of aquaculture.
aquaculture; models; management system; Activiti workflow; Drools rule engine; process management;business decision-making
陈 明,潘 赟,王文娟. 基于Activiti和Drools的水产养殖自动决策流程管理系统[J]. 农业工程学报,2018,34(24):192-200. doi:10.11975/j.issn.1002-6819.2018.24.023 http://www.tcsae.org
Chen Ming, Pan Yun, Wang Wenjuan. Process management system of automatic decision making for aquaculture based on Activiti and Drools[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(24): 192-200. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2018.24.023 http://www.tcsae.org
2018-08-10
2018-12-14
国家研发计划项目(2018YFD0701003);上海市科技创新行动计划项目(16391902902)
陈 明,教授,博士,博士生导师,研究方向为水产物联网、智能化养殖。Email:mchen@shou.edu.cn
王文娟,讲师,博士,研究方向为智能化水产养殖、冷链物流及溯源系统。Email:wangwj@shou.edu.cn
10.11975/j.issn.1002-6819.2018.24.023
TP399
A
1002-6819(2018)-24-0192-09