CN101464799A - 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 - Google Patents
基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 Download PDFInfo
- Publication number
- CN101464799A CN101464799A CNA2009100677158A CN200910067715A CN101464799A CN 101464799 A CN101464799 A CN 101464799A CN A2009100677158 A CNA2009100677158 A CN A2009100677158A CN 200910067715 A CN200910067715 A CN 200910067715A CN 101464799 A CN101464799 A CN 101464799A
- Authority
- CN
- China
- Prior art keywords
- code
- model
- node
- module
- parallel
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于可视化建模的MPI并行程序设计系统及框架代码自动生成方法,用户界面层基于可视化操作界面向代码生成层提供模型;代码生成层用于对模型进行解析,其中用户界面层包括用于图形化建模的图形编辑器和作为生成代码框架修改环境的代码编辑器,代码生成层包括算法骨架模块、模型验证模块和代码生成模块,算法骨架模块用于描述模式的特征和行为,将设计模式进行再次的封装,提供程序框架;模型验证模块用于在代码生成前对模型的逻辑正确性进行验证,代码生成模块用于根据用户需求不同调用不同的并行标准库。与现有技术相比,本发明具有很好的通用性,即使不具备专业编程知识的专业人员,也可以通过可视化的建模方式自形生成代码框架。
Description
技术领域
本发明涉及一种MPI高性能并行计算中的编程环境、模型与方法,特别是涉及MPI并行程序框架代码的自动生成及程序设计方法。
背景技术
随着计算机的应用范围和应用水平的不断拓展和提高,人们对于计算机的计算和处理能力等性能要求也随之增加。近些年来,尤其是在天文、气象、海洋、生物、能源、化工、地质勘探、军事以及理论物理、数学等科学计算能力要求高的领域,对计算与信息处理能力提出了越来越高的要求。并行计算的出现和发展,也正是为了克服和解决这个问题而不断努力的。
目前,构建并行计算硬件环境的技术也已日臻成熟,搭建一个理论上计算能力相当强的并行计算环境,现在已经不是难题。然而,如何高效地在并行计算环境中进行各种并行计算应用程序的设计与开发,对于多数非计算机专业出身并且缺乏并行计算程序开发的专业训练的各应用领域的技术人员来说,已成为并行计算技术转化为实际生产力所面临的关键问题。
经文献检索发现,传统的支持并行程序设计与开发的系统和方法主要有:并行程序设计语言(HPF、Erlang、X10、Cilk)、并行编译器、高性能并行函数库(Intel的TBB、Microsoft TPL、IBM Amino)、可移植的多线程库(Pthread)、消息传递库(MPI、PVM)、自动并行化工具(OpenMP)、协同编程语言(Linda)、基于模板的并行程序设计方法(Frameworks)、并行组件编程方法(CCA)等等。
上述现有技术中的这些系统和方法,有的抽象程度太低,需要并行程序设计人员过多的关注底层细节,如消息传递、同步、加减锁等,致使编程效率低,程序代码错误多;有的不能满足当前最新的应用和系统需求;有的存在可移植性、可扩展性差的缺陷;有的是因为面向特殊专用领域,如空气动力学模拟、求解偏微分方程等,因而通用性很差。
因此,目前随着多核微处理器的普及,并行计算机走进了更加大众化的计算领域,研究并提出一套通用的并行程序设计方法和系统已经迫在眉睫。
发明内容
鉴于上述技术问题,本发明提出了一种基于可视化建模的MPI并行程序设计系统及其框架代码自动生成方法,提供一套辅助并行程序设计与开发的系统与方法,利用可视化的用户操作界面,根据用户在系统设计阶段建立的各种模型,通过解析模型,自动生成结构完整且优化的并行程序框架代码。
本发明提出了一种基于可视化建模的MPI并行程序设计系统,包括用户界面层和代码生成层和并行标准库,用户界面模块向其即代码生成层提供模型,代码生成层对模型进行解析,根据用户的需要通过对已有的并行标准库进行调用,其中用户界面层包括用于图形化建模的图形编辑器和用于生成代码框架的修改的代码编辑器,代码生成层包括算法骨架模块、模型验证模块和代码生成模块,算法骨架模块用于定义模式的属性集的方法来描述相应模式的特征和行为,将多种设计模式进行再次的封装,提供程序框架;模型验证模块用于在代码生成前对模型的逻辑正确性进行验证,以确保生成代码的有效性,代码生成模块用于根据用户需求不同调用不同的并行标准库。
1.一种基于可视化建模的MPI并行程序设计系统,包括用户界面层、代码生成层,用户界面层基于可视化操作界面向代码生成层提供模型;代码生成层用于对模型进行解析,其中用户界面层包括用于图形化建模的图形编辑器和作为生成代码框架修改环境的代码编辑器,代码生成层包括算法骨架模块、模型验证模块和代码生成模块,算法骨架模块用定义模式的属性集的方法来描述相应模式的特征和行为,将设计模式进行再次的封装,提供程序框架;模型验证模块用于在代码生成前对模型的逻辑正确性进行验证,以确保生成代码的有效性,代码生成模块用于根据用户需求不同调用不同的并行标准库。
该系统还包括并行设计标准库,所提供的模型根据用户的需要通过对已有的并行设计标准库进行调用。
在该系统中定义一组用来刻画模型的构造块,该构造块由在不同模型间被重复使用的基本元素定义。
每个所述模型对应着一个树型数据结构,该树型数据结构包括:作为根的ContentsModel类,该类抽象成员属性列表,该列表中保存有该系统中所有构造块成员,当访问模型数据结构时,得到这个数据结构的根,即在DiagramEditor类中定义的成员函数:Contents Model类的对象parent,通过parent.getChildren()可访问到所有的构造块,并且根据构造块可以访问对应的属性;NodeModel记录了一类构造块的相关信息,包括名称、位置、基本属性;构造块的共有属性,即List类型的sourceConnection和targetConnection,这两个属性分别保存了连接到这个构造块的连接线和从这个构造块发出的连接线的另一端链接的对象;连接线有NodeModel类型的属性source和target,描述一个连接线的起始点和结束点。
所述模型的保存是将Java对象转化为XML格式的文件保存。
本发明还提出一种基于可视化建模的MPI并行程序设计系统的框架代码自动生成方法,该方法包括以下步骤:
用户根据底层的并行计算硬件平台和运行环境选择一类并行编程语言或者并行程序库,由代码生成器根据该语言的编程模型选择基本的程序结构骨架;同时由代码生成器遍历已创建的并行应用的树型数据结构,形成并行应用程序的控制流信息,插入到程序结构骨架中生成最终的程序源代码;其中将模型进行解析,自动生成框架代码流程,该流程包括以下步骤:
步骤1:首先查找开始节点,查找成功时生成头文件以及main()函数头;
步骤2:根据连接线连接到的方向解析下一个节点,并生成相应代码;
步骤3:若遇到上循环,生成循环开始语句;
步骤4:解析循环体中的各个节点,生成对应代码;
步骤5:若遇到下循环,循环结束,返回到步骤2,继续解析其余节点;
步骤6:若经过检查该节点不是循环,则检查是否遇到分支节点;
步骤7:若遇到了分支节点则计算此次分支的合并节点是哪个,然后按解析分支节点到合并节点之间的构造块,并生成对应代码,放入分支的一个条件下;
步骤8:参与步骤7中的功能;
步骤9、10:共同完成分支中另一条路径的解析;
步骤11、12:若该节点不是循环或者分支节点,则检查是否碰到了结束节点。若是则进入步骤12,退出解析过程,若不是则该节点就是一个普通节点,生成相应代码,然后继续解析下一个节点;
步骤12:结束解析过程。
与现有技术相比,本发明具有很好的通用性,即使不具备专业编程知识的专业人员,也可以通过可视化的建模方式字形生成代码框架,操作方便,无需编程。
附图说明
图1为MPI并行程序设计及框架代码自动化生成系统的结构示意图;
图2为面向构造块的MPI并行程序的可视化建模流程示意图;
图3为将模型进行解析,自动生成框架代码流程示意图;
表1表示基于可视化建模的MPI并行程序设计系统层次。
具体实施方式
MPI是基于消息传递的高性能并行计算环境中的消息传递标准,目前已经被高校、研究机构和工业界在集群系统、工作站网络等高性能并行计算硬件平台上广泛的采用,成为事实上的消息传递标准规范。现有的各种MPI实现版本,如MPICH、CHIMP、LAM等函数库在局域网和广域网环境高性能并行计算中取得了良好的效果。因此,本发明的并行程序设计中也采纳MPI标准。
MPI并行程序设计及框架代码自动化生成系统在所创建模型的基础上,能够生成基于消息传递的并行程序代码框架。用户只需要补充更具体的算法细节,就能够开发出完整的、可运行的并行应用程序的源代码。该平台拥有良好的用户界面,对于各种常用的功能提供了操作系统风格的图形化操作界面,从而方便了程序员和其他系统用户;该平台为并行应用程序的可视化建模过程和代码生成功能提供完整的模块支持,如交互式模型编辑器,基本构造块库,代码控制模块,代码生成等;该平台提供了不同类型的建模构造块,以满足不同类型并行应用程序的设计需要,用户可通过配置选项设置不同的属性;为了使平台具有较好的可维护性、可扩展性与可使用性,在开发过程中使用了多种已经验证过的设计模式,保证其具有良好的软件体系结构。
软件工程中将软件系统开发分为问题定义、需求分析、系统设计、系统编码、系统测试、系统维护等阶段,本发明方法以此为基础,但是只涉及到了系统设计与系统编码阶段。
在系统设计阶段,本发明提供用户交互界面,包括一套预定义的图形元素和一个编辑区;这些图形元素可供建立各种模型,每一个元素块都有特定名称、属性、含义和用法,并行程序设计用户根据需求分析的结果,依据一定的限定规则,通过拖拽左边的图形元素到右边的编辑区,建立程序的各种模型,如进程模型、消息传递模型、系统流程模型等,编辑各种图形元素的属性并进行赋值。设计完成以后,用户可以把各种模型保存为xml文件,供以后的编辑、修改与优化,并提供了不同系统之间的模型复用。
系统设计阶段完成之后,在进入编码阶段之前,本发明根据用户在系统设计阶段建立的各种模型,自动生成结构完整且优化的并行程序框架代码,涉及到所有的并行通信与控制的细节,包括并行运行环境初始化代码、并行运行环境动态参数获取代码、多个进程生成代码、进程任务分配代码、进程间消息传递代码、进程间同步代码、并行运行环境终止代码等。并且,以可编辑的文档窗口展示给用户,用户可以在此编辑窗口进行更加具体的串行程序代码(面向具体问题域的解决方案)编写,而所有涉及到并行框架代码和并行通信模式都已经由本方法自动生成。各层的功能如表1所示。
表1
本发明的基于可视化建模的MPI并行程序设计系统分为两层:第一层是与语言和运行的硬件环境无关的用户界面模块,它向其下一层(即代码生成层)提供建立好的模型,以供下面的模块分析并且生成用户需要的代码框架;第二层是核心代码生成的模块,它对上一层建好模型进行翻译,并根据用户的需要通过对已有的并行标准库进行调用,从而生成代码,大大减小了用户的代码开发强度。
本发明的处理对象是对并行计算应用程序业务逻辑和算法流程所创建的模型。为了能够更加精确的描述模型,进而描述并行应用程序,在系统中定义一组用来刻画模型(Models)、定义明确的构造块(Constructing blocks)是非常必要的。使用这种方法的好处可以表现在以下几个方面:第一,构造块是比模型规模更小的描述单元,因此构造块的精确定义和描述要比模型更加容易实现,而且构造块要比模型更容易使用。第二,构造块的实现为模型的精确描述提供了可能性,只要构造块的定义是精确的,那么只需要精确定义从构造块组成模型的规则,得到的模型也能够被证明是精确的。第三,描述不同模型的基本元素之间是存在重叠的,如果将这些在不同模型间被重复使用的基本元素定义为构造块,那么将实现构造块的复用,简化了模型描述。如图2所示,为本发明的划分为构造块的MPI并行程序设计系统的功能模块图,它包括构造块设计、结合构造规则设计,可以实现进程模型设计、通信模型设计和编程模型设计,进一步实现主视图设计和分层视图设计。
除了对构造块的划分和定义,还要将构造块以合理的方式组织成模型。一个结构良好的模型应该在语义上是前后一致的,并且与所有的相关模型协调一致。
MPI并行程序设计及框架代码自动化生成系统,支持自动化的处理可视化建模系统创建的并行应用。该类并行应用通过树型的数据结构保存在内存中,并通过自定义的XML文件储存在文件系统里。
每个模型对应着一个树型数据结构,如图3所示,其中根为Contents Mode1类,它包括一个成员属性列表,每当添加一个新的构造块,就在这个列表中添加一项,删除构造块则相反。当访问模型数据结构时,得到这个数据结构的根,即在DiagramEditor类中定义的成员函数:Contents Mode1类的对象parent,通过parent.getChildren()可访问到所有的构造块,并且根据构造块可以访问对应的属性。
每一个NodeMode1(例如NodeMode11、NodeMode21、NodeMode13)类记录了一类构造块的相关信息,包括名称、位置、基本属性等。构造块根据实际情况不同存在不同的属性,但是它们都拥有两个共同的属性,即List类型的sourceConnection和targetConnection。这两个属性分别保存了连接到这个构造块的连接线和从这个构造块发出的连接线的另一端链接的对象。
连接线有NodeMode1类型的属性source和target,描述一个连接线的起始点和结束点。
保存模型有几种可以选择的方式:
第一种方法是使跟模型相关的Java类都实现Serializable接口,通过Java的序列化方法,将模型对象序列化到文件中。这种方式实现起来简单,也最容易上手,可以作为快速原型开发的方式。Java序列化方式最大的缺点就是版本冲突问题,如果模型增加了新的属性或结构发生变化,那就很难恢复上一个模型版本保存的数据了。
第二种方法是将Java对象转化为XML(可扩展标记语言)格式的文件保存,Java对象到XML格式文件转化有很多框架,可以将Java对象转化为XML格式文件来保存。使用这种方法的好处是XML是一种国际通用的标准,有利于模型的转换操作和在不同环境下的移植。目前XML相关技术已经非常成熟,也有比较多的商业软件包和开源软件包对该项技术提供软件支持。
第三种方法是将模型保存到关系数据中,这就需要建立一个对象关系数据库映射框架,然后将模型保存到关系数据库中。这种方式依赖于底层的数据库软件的支持,因此对系统有着较强的依赖性,不利于扩展和移植。
本系统选择第二种方式实现对模型的保存,并且采用Dom4j开源XML解析包作为XML解析工具。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。作为一个易用的、开源的库,Dom4j在处理性能上非常出色,使用方法十分灵活。它使用带有多个继承层的基于接口的方法,拥有大量的接口,专门针对Java开发,使用起来非常简单、直观,简化了对XML格式文件的构造和解析过程。Dom4j基于多个继承层接口的方法和特性设置等功能保证了处理XML格式文件的性能及稳定性。
具体的处理流程如下:用户根据底层的并行计算硬件平台和运行环境选择一类并行编程语言或者并行程序库,由代码生成器根据该语言的编程模型选择基本的程序结构骨架;同时由代码生成器遍历已创建的并行应用的树型数据结构,形成并行应用程序的控制流信息,插入到程序结构骨架中生成最终的程序源代码。
将模型进行解析,自动生成框架代码流程示意图如图3所示,该流程包括以下步骤:
步骤1:首先查找开始节点,查找成功时生成头文件以及main()函数头;
步骤2:根据连接线连接到的方向解析下一个节点,并生成相应代码;
步骤3:若遇到上循环,生成循环开始语句;
步骤4:解析循环体中的各个节点,生成对应代码;
步骤5:若遇到下循环,循环结束,返回到步骤2,继续解析其余节点;
步骤6:若经过检查该节点不是循环,则检查是否遇到分支节点;
步骤7:若遇到了分支节点则计算此次分支的合并节点是哪个,然后按解析分支节点到合并节点之间的构造块,并生成对应代码,放入分支的一个条件下;
步骤8:参与步骤7中的功能;
步骤9、10:共同完成分支中另一条路径的解析;
步骤11、12:若该节点不是循环或者分支节点,则检查是否碰到了结束节点。若是则进入步骤12,退出解析过程,若不是则该节点就是一个普通节点,生成相应代码,然后继续解析下一个节点;
步骤12:结束解析过程。
根据用户建立的模型生成并行程序框架代码,可以表示用户根据具体的应用域问题建立任意的应用求解域进程模型,展示了本方法良好的通用性。除此之外,本方法还引入了并行设计模式的思想,对一些成熟的、经常被复用的并行问题解决模式(并行设计模式)进行了模型描述和预定义实现,提供了代码结构优化的并行设计模式库,用户可以根据具体的应用问题,选择合适的设计模式来直接实现自己的问题解决框架结构和并行框架代码结构,而不需要自己手工的进行应用建模。
Claims (6)
1.一种基于可视化建模的MPI并行程序设计系统,包括用户界面层、代码生成层,用户界面层基于可视化操作界面向代码生成层提供模型;代码生成层用于对模型进行解析,其中用户界面层包括用于图形化建模的图形编辑器和作为生成代码框架修改环境的代码编辑器,代码生成层包括算法骨架模块、模型验证模块和代码生成模块,算法骨架模块用定义模式的属性集的方法来描述相应模式的特征和行为,将设计模式进行再次的封装,提供程序框架;模型验证模块用于在代码生成前对模型的逻辑正确性进行验证,以确保生成代码的有效性,代码生成模块用于根据用户需求不同调用不同的并行标准库。
2.如权利要求1所述的基于可视化建模的MPI并行程序设计系统,其特征在于,还包括并行设计标准库,所提供的模型根据用户的需要通过对已有的并行设计标准库进行调用。
3.如权利要求1所述的基于可视化建模的MPI并行程序设计系统,其特征在于,在该系统中定义一组用来刻画模型的构造块,该构造块由在不同模型间被重复使用的基本元素定义。
4.如权利要求1所述的基于可视化建模的MPI并行程序设计系统,其特征在于,每个所述模型对应着一个树型数据结构,该树型数据结构包括:作为根的Contents Model类,该类抽象成员属性列表,该列表中保存有该系统中所有构造块成员,当访问模型数据结构时,得到这个数据结构的根,即在DiagramEditor类中定义的成员函数:ContentsMode1类的对象parent,通过parent.getChildren()可访问到所有的构造块,并且根据构造块可以访问对应的属性;NodeModel记录了一类构造块的相关信息,包括名称、位置、基本属性;构造块的共有属性,即List类型的sourceConnection和targetConnection,这两个属性分别保存了连接到这个构造块的连接线和从这个构造块发出的连接线的另一端链接的对象;连接线有NodeModel类型的属性source和target,描述一个连接线的起始点和结束点。
5.如权利要求1所述的基于可视化建模的MPI并行程序设计系统,其特征在于,所述模型的保存是将Java对象转化为XML格式的文件保存。
6.如权利要求1所述的基于可视化建模的MPI并行程序设计系统的框架代码自动生成方法,该方法包括以下步骤:
用户根据底层的并行计算硬件平台和运行环境选择一类并行编程语言或者并行程序库,由代码生成器根据该语言的编程模型选择基本的程序结构骨架;同时由代码生成器遍历已创建的并行应用的树型数据结构,形成并行应用程序的控制流信息,插入到程序结构骨架中生成最终的程序源代码;其中将模型进行解析,自动生成框架代码流程,该流程包括以下步骤:
步骤1:首先查找开始节点,查找成功时生成头文件以及main()函数头;
步骤2:根据连接线连接到的方向解析下一个节点,并生成相应代码;
步骤3:若遇到上循环,生成循环开始语句;
步骤4:解析循环体中的各个节点,生成对应代码;
步骤5:若遇到下循环,循环结束,返回到步骤2,继续解析其余节点;
步骤6:若经过检查该节点不是循环,则检查是否遇到分支节点;
步骤7:若遇到了分支节点则计算此次分支的合并节点是哪个,然后按解析分支节点到合并节点之间的构造块,并生成对应代码,放入分支的一个条件下;
步骤8:参与步骤7中的功能;
步骤9、10:共同完成分支中另一条路径的解析;
步骤11、12:若该节点不是循环或者分支节点,则检查是否碰到了结束节点。若是则进入步骤12,退出解析过程,若不是则该节点就是一个普通节点,生成相应代码,然后继续解析下一个节点;
步骤12:结束解析过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100677158A CN101464799A (zh) | 2009-01-16 | 2009-01-16 | 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100677158A CN101464799A (zh) | 2009-01-16 | 2009-01-16 | 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101464799A true CN101464799A (zh) | 2009-06-24 |
Family
ID=40805392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100677158A Pending CN101464799A (zh) | 2009-01-16 | 2009-01-16 | 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464799A (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976196A (zh) * | 2010-11-19 | 2011-02-16 | 重庆大学 | 一种面向“服务质量”的代码自动生成方法 |
CN102567790A (zh) * | 2010-12-09 | 2012-07-11 | 金蝶软件(中国)有限公司 | 业务单据处理方法及系统 |
CN102591654A (zh) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | 一种基于ssh架构的代码生成器及方法 |
CN102622259A (zh) * | 2012-02-17 | 2012-08-01 | 南京南瑞继保电气有限公司 | 一种用于可视化编程的功能块函数建模方法 |
CN102722602A (zh) * | 2012-05-04 | 2012-10-10 | 华南理工大学 | 多粒度多方面数控建模方法 |
CN102855123A (zh) * | 2012-10-17 | 2013-01-02 | 电子科技大学 | 基于数据帧驱动的软件综合方法 |
CN103399528A (zh) * | 2013-03-06 | 2013-11-20 | 中国电力科学研究院 | 一种Modbus从站模拟器系统的自动生成方法 |
CN103488477A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | Java接口的可视化编辑系统和可视化编辑方法 |
CN103810335A (zh) * | 2014-01-28 | 2014-05-21 | 北京仿真中心 | 一种面向复杂系统并行仿真的组件式描述方法 |
CN104025053A (zh) * | 2011-11-08 | 2014-09-03 | 英特尔公司 | 使用集体操作建模的消息传递接口调谐 |
CN104102971A (zh) * | 2013-04-11 | 2014-10-15 | 波音公司 | 管理具有对象循环的模型 |
US8924946B2 (en) | 2010-11-24 | 2014-12-30 | International Business Machines Corporation | Systems and methods for automatically optimizing high performance computing programming languages |
CN104317580A (zh) * | 2014-10-13 | 2015-01-28 | 中国运载火箭技术研究院 | 虚拟试验应用集成开发环境 |
CN106569785A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种作业表单生成方法及设备 |
CN106681699A (zh) * | 2015-11-06 | 2017-05-17 | 中国电力科学研究院 | 大电网用在线分析计算的并行编程辅助系统及其调试方法 |
CN106843849A (zh) * | 2016-12-28 | 2017-06-13 | 南京大学 | 一种基于文档的库函数的代码模型的自动合成方法 |
CN109062555A (zh) * | 2018-06-23 | 2018-12-21 | 上海泽阳智能科技有限公司 | 一种协作编程系统 |
CN109710419A (zh) * | 2018-11-13 | 2019-05-03 | 北京航空航天大学 | 基于文本分析的mpi代码通信过程解析方法 |
CN110688109A (zh) * | 2019-10-09 | 2020-01-14 | 凯德技术长沙股份有限公司 | 一种模型编辑系统的创建方法及模型编辑系统 |
CN110785736A (zh) * | 2018-02-12 | 2020-02-11 | 甲骨文国际公司 | 自动代码生成 |
CN111427567A (zh) * | 2020-03-20 | 2020-07-17 | 杭州涂鸦信息技术有限公司 | 一种智能产品快速生成方法及其系统和设备 |
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
CN112000318A (zh) * | 2020-08-31 | 2020-11-27 | 中国科学院长春光学精密机械与物理研究所 | 光电对抗装备教学训练系统通用架构方法、设备及介质 |
CN112083929A (zh) * | 2020-09-03 | 2020-12-15 | 哈尔滨工业大学 | 一种面向功率约束系统的性能-能耗协同优化方法及装置 |
CN112230893A (zh) * | 2020-10-16 | 2021-01-15 | 北京中船信息科技有限公司 | 面向船舶制造的多种工业机理模型一站式构建系统及方法 |
CN112307723A (zh) * | 2020-08-31 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 生成代码文档的方法、装置和电子设备 |
CN113010168A (zh) * | 2021-02-26 | 2021-06-22 | 中国科学院软件研究所 | 一种基于场景树的用户界面生成方法 |
CN113703735A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于独立代码块编排的应用生成方法、装置、设备及介质 |
-
2009
- 2009-01-16 CN CNA2009100677158A patent/CN101464799A/zh active Pending
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976196B (zh) * | 2010-11-19 | 2013-01-02 | 重庆大学 | 一种面向“服务质量”的代码自动生成方法 |
CN101976196A (zh) * | 2010-11-19 | 2011-02-16 | 重庆大学 | 一种面向“服务质量”的代码自动生成方法 |
US8924946B2 (en) | 2010-11-24 | 2014-12-30 | International Business Machines Corporation | Systems and methods for automatically optimizing high performance computing programming languages |
CN102567790A (zh) * | 2010-12-09 | 2012-07-11 | 金蝶软件(中国)有限公司 | 业务单据处理方法及系统 |
CN104025053A (zh) * | 2011-11-08 | 2014-09-03 | 英特尔公司 | 使用集体操作建模的消息传递接口调谐 |
CN104025053B (zh) * | 2011-11-08 | 2018-10-09 | 英特尔公司 | 使用集体操作建模的消息传递接口调谐 |
CN102591654B (zh) * | 2011-12-28 | 2015-09-23 | 方正国际软件有限公司 | 一种基于ssh架构的代码生成器及方法 |
CN102591654A (zh) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | 一种基于ssh架构的代码生成器及方法 |
CN102622259B (zh) * | 2012-02-17 | 2015-08-12 | 南京南瑞继保电气有限公司 | 一种用于可视化编程的功能块函数建模方法 |
CN102622259A (zh) * | 2012-02-17 | 2012-08-01 | 南京南瑞继保电气有限公司 | 一种用于可视化编程的功能块函数建模方法 |
CN102722602A (zh) * | 2012-05-04 | 2012-10-10 | 华南理工大学 | 多粒度多方面数控建模方法 |
CN102855123A (zh) * | 2012-10-17 | 2013-01-02 | 电子科技大学 | 基于数据帧驱动的软件综合方法 |
CN102855123B (zh) * | 2012-10-17 | 2014-12-17 | 电子科技大学 | 基于数据帧驱动的软件综合方法 |
CN103399528A (zh) * | 2013-03-06 | 2013-11-20 | 中国电力科学研究院 | 一种Modbus从站模拟器系统的自动生成方法 |
CN103399528B (zh) * | 2013-03-06 | 2016-05-25 | 中国电力科学研究院 | 一种Modbus从站模拟器系统的自动生成方法 |
CN104102971B (zh) * | 2013-04-11 | 2020-04-07 | 波音公司 | 管理具有对象循环的模型 |
CN104102971A (zh) * | 2013-04-11 | 2014-10-15 | 波音公司 | 管理具有对象循环的模型 |
CN103488477B (zh) * | 2013-09-02 | 2016-09-28 | 用友网络科技股份有限公司 | Java接口的可视化编辑系统和可视化编辑方法 |
CN103488477A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | Java接口的可视化编辑系统和可视化编辑方法 |
CN103810335A (zh) * | 2014-01-28 | 2014-05-21 | 北京仿真中心 | 一种面向复杂系统并行仿真的组件式描述方法 |
CN104317580B (zh) * | 2014-10-13 | 2017-09-29 | 中国运载火箭技术研究院 | 虚拟试验应用集成开发系统 |
CN104317580A (zh) * | 2014-10-13 | 2015-01-28 | 中国运载火箭技术研究院 | 虚拟试验应用集成开发环境 |
CN106569785B (zh) * | 2015-10-09 | 2021-03-09 | 阿里巴巴集团控股有限公司 | 一种作业表单生成方法及设备 |
CN106569785A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种作业表单生成方法及设备 |
CN106681699A (zh) * | 2015-11-06 | 2017-05-17 | 中国电力科学研究院 | 大电网用在线分析计算的并行编程辅助系统及其调试方法 |
CN106843849A (zh) * | 2016-12-28 | 2017-06-13 | 南京大学 | 一种基于文档的库函数的代码模型的自动合成方法 |
US11119738B2 (en) | 2017-01-18 | 2021-09-14 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
CN110785736A (zh) * | 2018-02-12 | 2020-02-11 | 甲骨文国际公司 | 自动代码生成 |
CN110785736B (zh) * | 2018-02-12 | 2021-04-06 | 甲骨文国际公司 | 自动代码生成 |
CN109062555A (zh) * | 2018-06-23 | 2018-12-21 | 上海泽阳智能科技有限公司 | 一种协作编程系统 |
CN109710419A (zh) * | 2018-11-13 | 2019-05-03 | 北京航空航天大学 | 基于文本分析的mpi代码通信过程解析方法 |
CN110688109A (zh) * | 2019-10-09 | 2020-01-14 | 凯德技术长沙股份有限公司 | 一种模型编辑系统的创建方法及模型编辑系统 |
CN111427567A (zh) * | 2020-03-20 | 2020-07-17 | 杭州涂鸦信息技术有限公司 | 一种智能产品快速生成方法及其系统和设备 |
CN111427567B (zh) * | 2020-03-20 | 2023-08-18 | 杭州涂鸦信息技术有限公司 | 一种智能产品快速生成方法及其系统和设备 |
CN112307723A (zh) * | 2020-08-31 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 生成代码文档的方法、装置和电子设备 |
CN112000318A (zh) * | 2020-08-31 | 2020-11-27 | 中国科学院长春光学精密机械与物理研究所 | 光电对抗装备教学训练系统通用架构方法、设备及介质 |
CN112083929A (zh) * | 2020-09-03 | 2020-12-15 | 哈尔滨工业大学 | 一种面向功率约束系统的性能-能耗协同优化方法及装置 |
CN112083929B (zh) * | 2020-09-03 | 2024-04-19 | 哈尔滨工业大学 | 一种面向功率约束系统的性能-能耗协同优化方法及装置 |
CN112230893A (zh) * | 2020-10-16 | 2021-01-15 | 北京中船信息科技有限公司 | 面向船舶制造的多种工业机理模型一站式构建系统及方法 |
CN113010168A (zh) * | 2021-02-26 | 2021-06-22 | 中国科学院软件研究所 | 一种基于场景树的用户界面生成方法 |
CN113010168B (zh) * | 2021-02-26 | 2022-07-26 | 中国科学院软件研究所 | 一种基于场景树的用户界面生成方法 |
CN113703735A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于独立代码块编排的应用生成方法、装置、设备及介质 |
CN113703735B (zh) * | 2021-08-31 | 2024-04-26 | 深圳市云速易连科技有限公司 | 基于独立代码块编排的应用生成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101464799A (zh) | 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 | |
Wimmer et al. | Towards model transformation generation by-example | |
CN104360859B (zh) | 一种可视化的服务开发方法和系统 | |
CN104298836B (zh) | 一种基于蒙特卡罗计算的反应堆堆芯迭代设计系统 | |
CN107273117A (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
Engelen et al. | Integrating textual and graphical modelling languages | |
CA2479310A1 (en) | Dynamic generation of schema information for data description languages | |
CN107291450A (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
CN107025676A (zh) | 一种图片模板以及图片的生成方法及相关装置 | |
CN102982010A (zh) | 提取文档结构的方法和装置 | |
CN103309659A (zh) | 基于富客户端的用户界面动态生成方法及其生成装置 | |
US20170068519A1 (en) | Computer-applied method for displaying software-type applications based on design specifications | |
CN103823793A (zh) | 基于Excel模板的动态报表实现方法 | |
CN101826016A (zh) | 支持多核并行程序设计的可视化建模及代码框架生成方法 | |
CN110262794A (zh) | 一种基于规范与描述语言的aadl功能行为拓展方法及工具 | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
CN103049251A (zh) | 一种数据库持久层装置及数据库操作方法 | |
CN106462585A (zh) | 用于特定列物化调度的系统和方法 | |
CN110109658A (zh) | 一种基于形式化模型的ros代码生成器及代码生成方法 | |
CN109857458A (zh) | 基于ANTLR的AltaRica 3.0的扁平化的转化方法 | |
Del Fabro et al. | Model transformation and weaving in the AMMA platform | |
CN109977514B (zh) | 一种雷达同步数据流图模型调度序列生成方法 | |
CN111176658B (zh) | 基于元对象机制的AADL到Simulink模型自动转换方法 | |
CN110309214A (zh) | 一种指令执行方法及其设备、存储介质、服务器 | |
CN110209699B (zh) | 一种基于openEHR Composition模板的数据接口动态生成与执行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090624 |