CN107643947A - 基于Eclipse的其他软件调用方法、系统及存储介质 - Google Patents
基于Eclipse的其他软件调用方法、系统及存储介质 Download PDFInfo
- Publication number
- CN107643947A CN107643947A CN201710866556.2A CN201710866556A CN107643947A CN 107643947 A CN107643947 A CN 107643947A CN 201710866556 A CN201710866556 A CN 201710866556A CN 107643947 A CN107643947 A CN 107643947A
- Authority
- CN
- China
- Prior art keywords
- output stream
- eclipse
- output
- job
- programs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于Eclipse的其他软件调用方法、系统及存储介质,通过新建一个builder对象,参数为要执行的其他可执行程序的绝对路径;通过执行该其他程序,获得一个Process进程对象;通过获得该进程的输入流,执行相应的指令;创建一个新的线程,用来监听进程的输出流,当监听线程开始执行后,监听其他可执行程序的输出流。本发明对标准输出流和错误输出流的工作模型进行优化,减少了调用其他程序时出现错误和异常的概率,并且不会造成输出流阻塞的问题,同时能将正确信息和错误信息明显的区分开来。此外,本发明还提出终止所有无效进程的函数,大大降低出现重复建立进程的情况及占用大量的cpu资源的问题。
Description
技术领域
本发明涉及嵌入式集成开发技术领域,尤其涉及一种基于Eclipse的其他软件调用方法、系统及存储介质。
背景技术
随着嵌入式硬件和软件日益复杂,传统基于命令行的开发调试操作已经无法满足日常需求,基于图形化的调试工具成为最流行的选择。Eclipse作为一款良好的开源软件,提供了大量的扩展节点,可供开发自己的功能。现如今,许多嵌入式集成开发环境都是基于Eclipse来实现的。在Eclipse的基础上做嵌入式集成开发环境的开发,其核心是调用其他相关软件以及对产生的相关进程进行管理。
在Eclipse中调用其他软件,主要是通过java的Process类实现的,Process类执行时,会有两个结果输出流。一个是标准输出流,输出的是正确的执行结果。一个是错误输出流,输出的是错误的执行结果。如果不对这两个输出流进行处理,只处理标准输出流的话,假如执行过程中出现了错误或者异常,容易造成输出流的阻塞,同时程序也不会继续进行,出现卡死状态。而如果将两个输出流合并成一个输出流的话,虽然可以解决输出流的阻塞问题,但这样错误输出和正确输出合并在了一起,无法明显的区分错误输出和正确输出。
此外,由于集成开发环境需要经常调用其他可执行程序,从windows操作系统的角度来看,这些被调用的其他可执行程序和Eclipse.exe属于不同的进程,在后台以非图形化的方式运行着。如果不对这些进程提供统一的终止管理,则可能会出现问题,比如Eclipse关闭或者异常终止,而其他被调用的可执行程序仍会在后台运行。又比如在调用Vavido软件的时候,如果不对之前的进程进行杀死处理,可能会出现重复建立进程的情况,占用大量的cpu资源。
综上,研究基于Eclipse的其他软件调用模式的优化势在必行,此外,还需为集成开发环境提供统一的进程管理机制,这里管理主要是指终止无效的进程。
发明内容
本发明的主要目的在于提供一种基于Eclipse的其他软件调用方法、系统及存储介质,通过方案优化,减少程序执行过程中出现的错误和异常,降低造成输出流阻塞、程序异常终止等风险,并节省占用的cpu资源。
为实现上述目的,本发明提供的一种基于Eclipse的其他软件调用方法,包括以下步骤:
S1:通过ProcessBuilder()函数新建一个builder对象,参数为要执行的其他可执行程序的绝对路径;
S2:通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程;
S3:通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;
S4:使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job;
S5:当监听线程开始执行之后,监听其他可执行程序的输出流,如果输出流不为空则输出到自定义的console中;如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。
其中,在步骤S4中,所述多线程选择的是Eclipse本身的Job机制,使用的是Job机制的扩展WorkspaceJob。
其中,在步骤S5中,所述其他可执行程序的输出流有两个结果输出流,一个是标准输出流,输出的是正确的执行结果;一个是错误输出流,输出的是错误的执行结果。
其中,在步骤S5中,使用一个while循环实现对其他可执行程序的输出流监听,循环的终止条件是标准输出流和错误输出流均为空。
其中,所述对其他可执行程序的输出流监听的判断准则具体包括:
(1)当标准输出流有结果时,以白色颜色输出到自定义的console中;
(2)当错误输出流有结果时,以红色颜色输出到自定义的console中;
(3)若果标准输出流和错误输出流都为空,则关闭两个输出流,同时刷新工程所在的工作区间
其中,所述方法还包括:
设计基于Eclipse终止无效进程的函数对后台进程进行统一的终止管理。
其中,基于Eclipse终止无效进程的函数实现包括以下步骤:
(1)获取IJobManager对象,通过IJobManager.cancel(MY_JOB_FAMILY)取消该系列下的所有job;
(2)调用windows的cmd.exe执行Tasklist指令,获取所有的正在运行的进程信息列表;
(3)遍历此进程信息列表,如果遍历到的进程是需要终止的进程,则截取获得该进程的PID,通过调用windows的cmd.exe执行“taskkill/F/PID pid”指令终止该进程;
(4)遍历完成之后终止cmd.exe进程。
此外,本发明还提出一种基于Eclipse的其他软件调用系统,所述系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法的步骤。
此外,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
与现有技术相比,本发明的有益效果是:(1)本发明基于Eclipse对其他程序的调用模式进行了优化,对标准输出流和错误输出流进行了特殊处理,大大减少了执行过程中出现的错误和异常,降低了造成输出流阻塞的危险,同时能将正确信息和错误信息明显的区分开来。(2)基于调用其他程序产生的进程,本发明提出了终止无效进程的函数,降低了程序异常终止等风险,并节省了占用的cpu资源。
附图说明
图1是本发明基于Eclipse的其他软件调用方法的流程示意图;
图2是本发明基于Eclipse的终止无效进程的函数实现流程示意图;
图3及图4分别是本发明设计的RealtimeProcess与Activator类图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于Eclipse的其他软件调用模式及进程管理机制的优化实现,属于嵌入式集成开发环境开发领域。本发明基于Eclipse调用其他程序并获得执行结果的实现包括以下步骤:通过ProcessBuilder()函数创建其他程序的对象builder;通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程;通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,方便对进程进行统一管理,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job;当监听线程开始执行之后,会监听其他可执行程序的输出流。如果输出流不为空则输出到自定义的console中.如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。此外,本发明还提出了一个基于Eclipse终止无效进程的函数,具体实现包括以下步骤:获取IJobManager对象,通过IJobManager.cancel(MY_JOB_FAMILY)取消该系列下的所有job;通过调用cmd.exe执行“Tasklist”获得正在运行的进程信息列表;遍历此进程信息列表,如果遍历到的进程是需要终止的进程,则截取获得该进程的PID,通过调用windows的cmd.exe执行“taskkill/F/PID pid”指令终止该进程;遍历完成之后终止cmd.exe进程。本发明对标准输出流和错误输出流的工作模型进行优化,减少了调用其他程序时出现错误和异常的概率,并且不会造成输出流阻塞的问题,同时能将正确信息和错误信息明显的区分开来。然后本发明还提出了终止所有无效进程的函数,在Eclipse关闭的时候以及其他需要终止无效进程的时候调用,大大的降低了出现重复建立进程的情况以及占用大量的cpu资源的问题
具体地,如图1所示,本发明提出一种基于Eclipse的其他软件调用方法,包括以下步骤:
S1:通过ProcessBuilder()函数新建一个builder对象,参数为要执行的其他可执行程序的绝对路径;
S2:通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程;
S3:通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;
S4:使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job;
S5:当监听线程开始执行之后,监听其他可执行程序的输出流,如果输出流不为空则输出到自定义的console中;如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。
本发明作进一步改进,步骤S3具体的代码为:new BufferedWriter(newOutputStreamWriter(process.getOutputStream()));通过这行代码初始化了一个BufferedWriter对象br。之后通过执行函数br.write(cmd),参数为要执行的程序指令,即可通过该输入流向其他可执行程序发送指令。
本发明作进一步改进,在步骤S4中,多线程选择的是Eclipse本身的Job机制。与Runnable以及Thread这两种实现多线程的方式对比,Eclipse提供的Job机制更容易使用程序来控制,与Eclipse也更加契合。同时它能够在Eclipse的右下角UI界面上实时的显示执行进度条,实用性更加的友好。
本发明作进一步改进,在步骤S5中,所述其他可执行程序的输出流会有两个结果输出流,一个是标准输出流,输出的是正确的执行结果。一个是错误输出流,输出的是错误的执行结果。这里使用了一个while循环,循环的终止条件就是标准输出流和错误输出流均为空。
其中,对其他可执行程序的输出流监听的判断准则具体包括:
当标准输出流有结果时,以白色颜色输出到自定义的console中;
当错误输出流有结果时,则以红色颜色输出到自定义的console中。这样就能将正确信息和错误信息明显的区分开来。
若果标准输出流和错误输出流都为空,则关闭两个输出流,同时刷新工程所在的工作区间。
进一步地,所述方法还包括:设计基于Eclipse终止无效进程的函数对后台进程进行统一的终止管理。
其中,如图2所示,基于Eclipse终止无效进程的函数实现包括以下步骤:
(1)通过Platform.getJobManager()获得IJobManager对象。通过IJobManager.cancel(MY_JOB_FAMILY)取消该系列下的所有job,这样就取消掉了创建的全部WorkspaceJob。
(2)通过调用windows的cmd.exe,执行Tasklist指令,获取所有的正在运行的进程信息列表。
(3)遍历此进程信息列表,如果遍历到的进程是需要终止的进程,则截取获得该进程的PID,通过调用windows的cmd.exe执行“taskkill/F/PID pid”指令终止该进程。
(4)遍历完成之后终止cmd.exe进程。
与现有技术相比,本发明的有益效果是:(1)本发明基于Eclipse对其他程序的调用模式进行了优化,对标准输出流和错误输出流进行了特殊处理,大大减少了执行过程中出现的错误和异常,降低了造成输出流阻塞的危险,同时能将正确信息和错误信息明显的区分开来。(2)基于调用其他程序产生的进程,本发明提出了终止无效进程的函数,降低了程序异常终止等风险,并节省了占用的cpu资源。
下面对本发明方案进行详细阐述:
基于Eclipse的其他软件调用及相关进程管理,具体实现方法为:
(1)在现有Process类的基础上扩展设计实现一个RealtimeProcess类,该类用于其他软件调用模式的优化;
如图3及图4所示,RealtimeProcess类包含两个变量:isRunning标记该进程是否运行,name代表该进程的名字。最主要的方法有三种:RealtimeProces()是该类的构造方法,参数是进程名;exec()函数是执行其他程序的函数,参数为进程以及待执行指令列表;openocd()函数,它与exec()函数类似,只不过openocd.exe比较特殊,它的正确执行结果会在错误输出流中输出,所以单独设计实现了一个函数。
(2)集成开发环境需要提供统一的进程管理机制,这里的管理主要是指终止无效的进程。为此,本发明在建立的插件开发工程里,继承AbstractUIPlugin实现一个Activator类,该类是对插件的生命周期进行管理。
Activator类包含的变量中:PLUGIN_ID为插件ID,通过此ID能够唯一识别插件;MY_JOB_FAMILY是用来管理该插件所创建的所有Job的,所有由该插件所创建的Job都归属于这个集合中。Activator类包含的方法中:killProcess()函数为新创建的函数,用来进行进程终止操作;start()函数是插件初始化函数,在插件刚开始调用时触发执行;stop()函数是插件的结束函数,当插件生命周期结束的时候自动出来该函数。在此类中,重写了stop函数,该函数会在插件终止的时候执行,Eclipse的异常终止以及正常退出等情况都会触发此函数。而在stop函数中,会调用实现的进程终止函数,对通过本集成开发环境打开的进程做一个统一终止操作。
如图1所示,本发明基于RealtimeProcess类调用其他程序并获得执行结果的实现包括以下步骤:
S1:通过ProcessBuilder()函数新建一个builder对象,参数为要执行的其他可执行程序的绝对路径。
S2:通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程。
S3:通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令。
S4:使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,方便对进程进行统一管理,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job。
S5:当监听线程开始执行之后,会监听其他可执行程序的输出流。
其中,在步骤S3中,具体实现代码为:new BufferedWriter(newOutputStreamWriter(process.getOutputStream()));通过这行代码初始化了一个BufferedWriter对象br。之后通过执行函数br.write(cmd),参数为要执行的程序指令,即可通过该输入流向其他可执行程序发送指令。
在步骤S4中,多线程选择的是Eclipse本身的Job机制。与Runnable以及Thread这两种实现多线程的方式对比,Eclipse提供的Job机制更容易使用程序来控制,与Eclipse也更加契合。同时它能够在Eclipse的右下角UI界面上实时的显示执行进度条,实用性更加的友好。继承Job基类,Eclipse的Job机制包含三种扩展:UIJob,WorkbenchJob,WorkspaceJob。三这种扩展机制特点如下:
(1)UIJob是Eclipse的UI线程。它在执行的过程中,UI是不刷新的,所以不适合在此线程中执行耗时长的操作,否则容易造成界面卡死。
(2)WorkbenchJob也是UI线程。是对UIJob的扩展,但与UIJob不同,它只有在Eclipse正在执行的时候才能够运行作业。
(3)WorkspaceJob是非UI线程。一般对资源文件进行修改时可以使用它。除UI外的操作也可以使用它。
对比这三种Job,在本发明的功能执行过程中,需要消耗大量的时间,所以不能在UI线程执行。故选择WorkspaceJob。
在步骤S5中,使用一个while循环实现对其他可执行程序的输出流监听,循环的终止条件就是标准输出流和错误输出流均为空,如果输出流不为空则输出到自定义的console中;如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。监听具体判断准则如下:
(1)当标准输出流有结果时,以白色颜色输出到自定义的console中;
(2)当错误输出流有结果时,则以红色颜色输出到自定义的console中。
(3)若果标准输出流和错误输出流都为空,则关闭两个输出流,同时刷新工程所在的工作区间。
如图2所示,本发明基于Activator类将杀死进程的操作封装成立一个函数,主要是在Eclipse关闭的时候调用,以及其他需要终止无效进程的时候调用。如图2,本发明基于Activator类实现终止无效进程包括以下操作:
(1)通过Platform.getJobManager()获得IJobManager对象,该对象是Eclipse的全局job管理器。每次创建WorkspaceJob时,都会给它归属到一个系列中,通过本集成开发环境创建的WorkspaceJob都归属到了同一个系列中。故通过IJobManager.cancel(MY_JOB_FAMILY)取消该系列下的所有job,这样就将所有由本集成开发环境创建的WorkspaceJob全部取消掉了。
(2)与调用其他可执行程序类似,使用java函数,调用windows的cmd.exe,先执行Tasklist指令,获取所有的正在运行的进程信息。这些信息以列表的形式保存。
(3)遍历此信息列表,如果遍历到的行包含需要终止的进程,则使用java的split函数切割出该进程的PID,通过调用windows的cmd.exe执行“taskkill/F/PID pid”指令终止该进程。
(4)遍历完成之后终止cmd.exe进程。
通过以上的操作,就可以在需要的时候终止所有无效进程。
此外,本发明还提出一种基于Eclipse的其他软件调用系统,所述系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法的步骤。
本实施例的具体原理,请参照上述实施例,在此不再赘述。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本实施例的具体原理,请参照上述实施例,在此不再赘述。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于Eclipse的其他软件调用方法,其特征在于,包括以下步骤:
S1:通过ProcessBuilder()函数新建一个builder对象,参数为要执行的其他可执行程序的绝对路径;
S2:通过builder.start()执行该其他程序,获得一个Process进程对象process,process即为打开该其他程序后的进程;
S3:通过process.getOutputStream()获得该进程的输入流,通过该输入流执行相应的指令;
S4:使用WorkspaceJob创建一个新的线程,用来监听process进程的输出流,通过belongsTo()将该Job归属到一个集合中,之后通过schedule()将该线程添加到等候线程中,等待操作系统执行该Job;
S5:当监听线程开始执行之后,监听其他可执行程序的输出流,如果输出流不为空则输出到自定义的console中;如果输出流为空,则关闭输出流,同时刷新工程所在的工作区间。
2.根据权利要求1所述的基于Eclipse的其他软件调用方法,其特征在于,在步骤S4中,所述多线程选择的是Eclipse本身的Job机制,使用的是Job机制的扩展WorkspaceJob。
3.根据权利要求1所述的基于Eclipse的其他软件调用方法,其特征在于,在步骤S5中,所述其他可执行程序的输出流有两个结果输出流,一个是标准输出流,输出的是正确的执行结果;一个是错误输出流,输出的是错误的执行结果。
4.根据权利要求3所述的基于Eclipse的其他软件调用方法,其特征在于,在步骤S5中,使用一个while循环实现对其他可执行程序的输出流监听,循环的终止条件是标准输出流和错误输出流均为空。
5.根据权利要求4所述的基于Eclipse的其他软件调用方法,其特征在于,所述对其他可执行程序的输出流监听的判断准则具体包括:
(1)当标准输出流有结果时,以白色颜色输出到自定义的console中;
(2)当错误输出流有结果时,以红色颜色输出到自定义的console中;
(3)若果标准输出流和错误输出流都为空,则关闭两个输出流,同时刷新工程所在的工作区间。
6.根据权利要求1-5中任一项所述的基于Eclipse的其他软件调用方法,其特征在于,所述方法还包括:
设计基于Eclipse终止无效进程的函数对后台进程进行统一的终止管理。
7.根据权利要求6所述的基于Eclipse的其他软件调用方法,其特征在于,基于Eclipse终止无效进程的函数实现包括以下步骤:
(1)获取IJobManager对象,通过IJobManager.cancel(MY_JOB_FAMILY)取消该系列下的所有job;
(2)调用windows的cmd.exe执行Tasklist指令,获取所有的正在运行的进程信息列表;
(3)遍历此进程信息列表,如果遍历到的进程是需要终止的进程,则截取获得该进程的PID,通过调用windows的cmd.exe执行“taskkill/F/PID pid”指令终止该进程;
(4)遍历完成之后终止cmd.exe进程。
8.一种基于Eclipse的其他软件调用系统,其特征在于,所述系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710866556.2A CN107643947A (zh) | 2017-09-22 | 2017-09-22 | 基于Eclipse的其他软件调用方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710866556.2A CN107643947A (zh) | 2017-09-22 | 2017-09-22 | 基于Eclipse的其他软件调用方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107643947A true CN107643947A (zh) | 2018-01-30 |
Family
ID=61111329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710866556.2A Pending CN107643947A (zh) | 2017-09-22 | 2017-09-22 | 基于Eclipse的其他软件调用方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107643947A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542604A (zh) * | 2018-11-23 | 2019-03-29 | 北京锐安科技有限公司 | 线程中注入接口的方法、装置、设备及存储介质 |
CN111026455A (zh) * | 2019-11-27 | 2020-04-17 | 掌阅科技股份有限公司 | 插件生成方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318619A1 (en) * | 2009-06-16 | 2010-12-16 | Microsoft Corporation | Publish/Subscribe Mashups For Social Networks |
CN101944060A (zh) * | 2010-09-10 | 2011-01-12 | 华南理工大学 | 一种基于嵌入式软件的细粒度检测方法 |
-
2017
- 2017-09-22 CN CN201710866556.2A patent/CN107643947A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318619A1 (en) * | 2009-06-16 | 2010-12-16 | Microsoft Corporation | Publish/Subscribe Mashups For Social Networks |
CN101944060A (zh) * | 2010-09-10 | 2011-01-12 | 华南理工大学 | 一种基于嵌入式软件的细粒度检测方法 |
Non-Patent Citations (1)
Title |
---|
MINGCHENG QU等: "Third-part software calls and related processmanagement based on Eclipse", 《HTTPS://WWW.ATLANTIS-PRESS.COM/PROCEEDINGS/ITIM-17/25880488》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542604A (zh) * | 2018-11-23 | 2019-03-29 | 北京锐安科技有限公司 | 线程中注入接口的方法、装置、设备及存储介质 |
CN111026455A (zh) * | 2019-11-27 | 2020-04-17 | 掌阅科技股份有限公司 | 插件生成方法、电子设备及存储介质 |
CN111026455B (zh) * | 2019-11-27 | 2023-02-24 | 掌阅科技股份有限公司 | 插件生成方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8881097B2 (en) | System and method for creating and using graphical object instances in a statechart environment | |
CN107357567B (zh) | 一种可视化脚本编辑器的设计系统和方法 | |
US8689191B2 (en) | Correct refactoring of concurrent software | |
US8893144B2 (en) | Systems and methods for parallel execution of a portion of a script by interpreting comments in the script as parallel control statements | |
US7640538B2 (en) | Virtual threads in business process programs | |
CN105528231B (zh) | 一种基于中间辅助函数的软件动态升级方法及系统 | |
WO2020215686A1 (zh) | spring框架泛型依赖注入方法、装置及计算机设备、存储介质 | |
Klotzbücher et al. | Orocos rtt-lua: an execution environment for building real-time robotic domain specific languages | |
CN107643947A (zh) | 基于Eclipse的其他软件调用方法、系统及存储介质 | |
US20110271284A1 (en) | Method of Simulating, Testing, and Debugging Concurrent Software Applications | |
CN105740139A (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
Marr et al. | A concurrency-agnostic protocol for multi-paradigm concurrent debugging tools | |
US20030144891A1 (en) | Supervising the processing status of activities within workflow management systems | |
CN112015528B (zh) | 一种工业控制系统软件控制流程构建和解析方法 | |
US9612829B2 (en) | System and method for pattern based services extraction | |
Wienands et al. | Anatomy of a visual domain-specific language project in an industrial context | |
Emmi et al. | Analysis of asynchronous programs with event-based synchronization | |
Beckstein et al. | A meta level architecture for workflow management | |
US20110107306A1 (en) | Multi-view debugging | |
Hall et al. | Detecting no-sleep energy bugs using reference counted variables | |
Qu et al. | Third-part Software Calls and Related Process Management Based on Eclipse | |
Colvin | Separation of concerning things: a simpler basis for defining and programming with the C/C++ memory model (extended version) | |
Paci et al. | Managing evolution by orchestrating requirements and testing engineering processes | |
Peiler | Priority-based compilation of SCCharts | |
Sarstedt et al. | Targeting System Evolution by Explicit Modeling of Control Flows Using UML 2 Activity Charts. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180130 |
|
RJ01 | Rejection of invention patent application after publication |