以功能单元为基础的任务程序的创建和执行方法及系统技术方案

技术编号:6621378 阅读:179 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机应用技术领域,公开一种以功能单元为基础的程序开发和执行的方法和系统。所述系统包括:程序单元描述模块、任务管理模块及执行终端;所述程序单元描述模块,通过人机界面以文字或框图形式对由脚本语言编写的功能单元进行抽象和描述;所述任务管理模块,通过对程序单元中的部分或全部输入参数进行赋值从而产生可执行任务;所述执行终端,从任务管理模块中读取任务,并结合输入参数执行程序单元逻辑体内容。本发明专利技术具有编程简单,使用方便,易维护的优点。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,具体涉及一种以功能单元为基础的程序开发和执行的方法和系统。
技术介绍
对智能设备的控制,大部分是依赖于运行在其操作系统上的软件来实现的。随着计算机软硬件技术的不断进步,以及智能设备的操作和控制系统日益向高端发展,通过软件的在线更新实现对设备的动态实时控制,必将成为发展的方向。设计和编制软件或程序越来越成为人们生活和工作中的一部分。目前,无论是专业还是通用软件,在开发前都需要首先选定一个程序语言,然后再进行编码。这意味着,即使项目中某一功能已有成熟的软件模块实现了,假如该软件模块因采用的开发语言与项目选定的语言不兼容,该软件模块也无法直接在项目里重用。从而造成资源浪费。现有的编程语言一般都要求使用者具有一定的经验和背景,须掌握该语言的语法和函数或工具库的使用技巧,熟悉其开发环境和工具。而且一旦所编程序需要经过编译转换成机器码时,其过程有可能变得更为复杂,软件部署更为困难。从而阻碍大部分无技术背景的系统使用者直接参与编写程序的工作,即使只是实现一些简单的控制需求。另外,经过编译的软件还存在阅读难、维护难、升级难的问题。即使是有相关技术背景的软件工程师,在缺乏文档或文档过时的情况下,只通过源代码来精确理解别人的设计思路也不是一件容易的事。因而,也使得软件重用在现实中变得非常困难。
技术实现思路
本专利技术旨在解决现有技术的缺陷,提供一种以功能单元为基础的程序开发和执行的方法和系统。本专利技术的目的由以下技术方案实现—种以功能单元为基础的任务程序创建方法,其特征在于,包括以下步骤(1)描述程序单元信息;(2)定义程序单元的输入参数信息;(3)建立可供选择的脚本逻辑执行引擎列表;(4)选择脚本逻辑执行引擎,并按所选脚本逻辑执行引擎所对应的脚本语言规范编写程序单元的逻辑体;(5)将若干程序单元保存在程序单元数据库中,并建立程序单元列表;(6)从现有的程序单元列表中选择程序单元;(7)为所选程序单元的输入参数设定引用单元顺序号或常量值;(8)按彼此关联性将所选程序单元添加到任务的程序单元队列中,并据此获得各程序单元的顺序号;(9)选择执行终端,并建立任务与执行终端间的关联;(11)保存任务于任务程序数据库。所述描述的程序单元信息包括单元名称、创建者、单元类型、单元功能说明、可能抛出的例外的类型名、执行结果类型标识、脚本逻辑执行引擎标识。上述步骤O)中定义的输入参数信息包括参数名及参数类型。上述步骤(6)中是按用户设定的查询条件,选择出需要的程序单元。所述引用单元顺序号为已存在于当前创建任务的程序单元队列中的、其输出结果与该输入参数的类型相同的、其它程序单元的顺序号。所述编写程序单元的逻辑体时,满足以下条件①逻辑体以参数变量名调用本程序单元的输入参数;②逻辑体内定义的变量及其值只在逻辑体内有效。一种以功能单元为基础的任务程序的执行方法,其特征在于,包括以下步骤(1)建立并保存可供选择的执行终端的列表;(2)从执行终端的列表中选择执行终端;(3)将待执行的任务程序与所选择的执行终端进行绑定;(4)执行终端定期轮询并下载与其绑定的任务;(5)从任务程序的程序单元队列中取出第一个程序单元;(6)调用程序单元所对应的脚本逻辑执行引擎,执行该程序单元的逻辑体,并保存执行结果;(7)根据执行结果,决定下一个程序单元的顺序号,如下一个程序单元不存在,结束本任务;否则,根据顺序号从程序单元队列中取出对应的程序单元,并重复步骤(6)。在执行方法的步骤(6)之前,判断程序单元是否存在,如是,执行步骤(6);如否, 则判断本任务已经结束,返回任务执行结果。所述判断程序单元是否存在的依据是执行失败标记是否已设置,和/或,下一个程序单元实例为空;如执行失败标记已设置,则表示本程序单元实例的执行已非正常结束, 返回任务执行结果;否则,如下一个程序单元实例为空,则表示本程序单元实例的执行已正常结束,返回任务执行结果;否则,表示本程序单元实例的执行尚未完成,则遍历程序单元中的所有输入参数,如果参数中的引用单元顺序号已定义,用与顺序号对应的程序单元的最近输出结果值对该输入参数进行赋值。一种以功能单元为基础的任务程序开发和执行系统,其特征在于,包括程序单元描述模块,包括程序单元定义子模块,接受用户输入,实现对程序单元进行概括性描述;逻辑体编辑子模块,接受用户输入,实现对程序单元的逻辑体进行编辑任务管理模块,包括任务定义子模块,接受用户输入,实现对任务的定义;接口模块,接受执行终端的查询任务的请求;存储模块,在数据库或文件系统中存取任务。所述执行终端,包括读写模块,按一定的协议从任务管理模块中获得任务,并将执行结果保存在任务管理模块;程序运行模块,执行包括在任务中的程序单元。本专利技术通过提供一种以功能单元为基础的任务程序的创建和执行方法及系统,达到了以下有益效果(1)不同计算机语言,无论是编译型的或解析型的语言开发的程序,都能通过组合完成一个新的功能,从而充分发挥不同程序语言的优势,有效利用现有的开发工具和软件库;(2)实现程序设计模块化,模块功能专业化,使程序易于维护,从而提高程序的可靠性和可重用性;C3)采用通用语言,以标准格式对程序单元进行描述,大大提高程序的可读性;(4)统一了界面,使用者将不再需要因选用的程序语言不同而被迫熟悉不同的开发环境;(5)以直观的方式建立功能模块间的联系,而非通过采用特定计算机语言编写代码,以函数调用的方式来实现。附图说明图1是本专利技术实施例提供的创建程序单元的流程图。图2是本专利技术实施例提供的创建任务的流程图。图3是本专利技术实施例提供的一种执行任务的流程图。图4是本专利技术实施例提供的一种以功能单元为基础的任务程序创建和执行的系统的结构示意图。具体实施例方式实施例一本实施例提供的以功能单元为基础的任务程序创建方法,主要包括创建程序单元的步骤和创建任务的步骤,下面将结合附图作进一步的详细描述。一、结合图1所示,创建程序单元方法包括以下流程101 利用系统提供的人机界面,描述程序单元信息。此处需要说明的是,人机界面的风格、外观设计和编程方式有多种选择,是本领域技术人员非创造性劳动即可实现的,本实施例对此不做具体限定。此外,所述的程序单元信息包括但不限于以下信息单元名称,程序单元的名称,在系统范围内不具备唯一性; 单元类型,定义程序单元的功能类型;单元功能说明,对本程序单元进行概括性描述,能帮助使用者理解本单元的功能和使用方法;执行结果类型标识,标识执行完成本程序单元实例时所产生的结果的类型;脚本逻辑执行引擎标识,决定用于运行程序单元逻辑体的引擎(Engine);可能抛出的例外的类型名,在本实施例中,以Java语言为例,如java. lang. Exception。102 定义程序单元的输入参数信息。所定义的输入参数信息包括参数名,参数名的命名须符合在步骤101中选定的脚本语言的规范,且该名称在程序单元内必须能唯一标识该输入参数;参数类型名称,例如字符串(string)、数字(numeric)、布尔值(boolean)、复杂对象(json);默认值,为可选项, 如不作定义,其值为空(null)。103 是否有更多输入参数信息需定义,是则执行102,否则,执行104。需要说明的是,对于具体任务的输入参数的数本文档来自技高网...

【技术保护点】
1.一种以功能单元为基础的任务程序创建方法,其特征在于,包括以下步骤:(1)描述程序单元信息;(2)定义程序单元的输入参数信息;(3)建立可供选择的脚本逻辑执行引擎列表;(4)选择脚本逻辑执行引擎,并按所选脚本逻辑执行引擎所对应的脚本语言规范编写程序单元的逻辑体;(5)将若干程序单元保存在程序单元数据库中,并建立程序单元列表;(6)从现有的程序单元列表中选择程序单元;(7)为所选程序单元的输入参数设定引用单元顺序号或常量值;(8)按彼此关联性将所选程序单元添加到任务的程序单元队列中,并据此获得各程序单元的顺序号;(9)选择执行终端,并建立任务与执行终端间的关联;(11)保存任务于任务程序数据库。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯剑文
申请(专利权)人:珠海脉络软件有限公司
类型:发明
国别省市:44

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1