CN109582299A - 一种串并行嵌套子任务流程图的自动布局算法 - Google Patents

一种串并行嵌套子任务流程图的自动布局算法 Download PDF

Info

Publication number
CN109582299A
CN109582299A CN201811427305.5A CN201811427305A CN109582299A CN 109582299 A CN109582299 A CN 109582299A CN 201811427305 A CN201811427305 A CN 201811427305A CN 109582299 A CN109582299 A CN 109582299A
Authority
CN
China
Prior art keywords
node
string
fundamental
basic
tree
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.)
Granted
Application number
CN201811427305.5A
Other languages
English (en)
Other versions
CN109582299B (zh
Inventor
粟华
张�杰
龚春林
谷良贤
胡彬
朱成贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201811427305.5A priority Critical patent/CN109582299B/zh
Publication of CN109582299A publication Critical patent/CN109582299A/zh
Application granted granted Critical
Publication of CN109582299B publication Critical patent/CN109582299B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种串并行嵌套子任务流程图的自动布局算法,构建四种类型FlowSize、FlowStrand、FlowTree和FlowNode;完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块;以上功能保证了在画布上添加任一模块;保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。

Description

一种串并行嵌套子任务流程图的自动布局算法
技术领域
本发明属于流程图制作技术领域,具体地说,涉及一种串并行嵌套子任务流程图的自动布局算法。
背景技术
流程图是利用各种不同图形符号来表示工作过程中活动的发生顺序,用简洁直接的图形表现方式让人理解模块之间的顺序,在各种行业中广泛应用。关于流程图的商业软件也多种多样,其中如Microsoft公司的Visio和金山公司的WPS还有各种较为小众的商业软件都是为了满足人们对文件、数据、系统、程序等流程的方便展示。流程图的广泛应用衍生出了人们对于如何让流程图更加直观、清晰的要求。传统方法是通过人们对流程图的手动布局来解决这一问题,但随着近年来流程图的模块更多、更复杂,手动布局已经不能满足基本需求。对于流程图的自动布局需求应用而生。
现有技术中,在实际项目中对现有的自动布局算法进行筛选,发现没有可以应用到项目中的合适的自动布局算法。有的布局算法仅仅可以布局串行流程,有的算法可以布局并行流程,但对于流程中还具有子任务流程的布局不能很好的实现。
发明内容
本发明的目的在于克服现有技术中存在的缺陷,提出了一种串并行嵌套子任务流程图的自动布局算法。该方法是一种既可以串并行混合布局,又可以在这种混合布局中添加无穷嵌套的子任务的闭环布局算法。在项目的实际应用的得到很好的展示,解决了闭合流程图中串并行混合,嵌套混合子任务的布局算法。
其技术方案如下:
一种串并行嵌套子任务流程图的自动布局算法,将基本模块结构分为四种类型,即:FlowSize、FlowStrand、FlowTree和FlowNode。1.对于FlowSize类型,包括宽和高的属性2.对于FlowNode类型,应具有的属性包括节点大小FlowSize、节点包含的FlowStrand和FlowTree、节点的上级ParentStrand和ParentTree、节点附带对象Tag和节点位置xPositon、yPosition;应包含的方法有添加父节点、添加和移除对象、FlowTree和FlowStrand 3.对于FlowStrand类型,应具有的属性包括是否为闭环isRing、节点大小FlowSize、节点包含的列表FlowNodes;应包含的方法有添加、插入和移除FlowNode 4.对于FlowTree类型,应具有的属性包括节点大小FlowSize、节点包含的列表FlowNodes;应包含的方法有添加、插入和移除FlowNode。
具体步骤如下:
步骤1、构建类FlowSize,包括属性宽和高;
步骤2、构建三种FlowNode,FlowStrand,FlowTree结构类型;
步骤3、构建好基本节点、基本串和基本树之后,可以完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都可以通过最初的根节点获取到所有节点之间的关系,并可获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
进一步,
1)基本节点FlowNode,该节点包括
a)节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d)节点的子基本串Flowstrand和父基本串ParentStrand;
e)节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h)当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b)串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e)计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a)子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
d)当节点大小改变时触发的方法。
本发明的有益效果为:
本发明是一种既可以串并行混合布局,又可以在这种混合布局中添加无穷嵌套的子任务的闭环布局算法。在项目的实际应用的得到很好的展示,解决了闭合流程图中串并行混合,嵌套混合子任务的布局算法。
附图说明
图1是本发明算法步骤1的示意图;
图2是本发明算法步骤2的示意图;
图3是串行布局图;
图4是并行布局图;
图5是串并行混合图;
图6是串行子任务混合图;
图7是串并行和子任务混合图;
图8是串并行、子任务嵌套混合图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步详细地说明。
一种串并行嵌套子任务流程图的自动布局算法,将基本模块结构分为四种类型,即:FlowSize、FlowStrand、FlowTree和FlowNode。1.对于FlowSize类型,包括宽和高的属性2.对于FlowNode类型,应具有的属性包括节点大小FlowSize、节点包含的FlowStrand和FlowTree、节点的上级ParentStrand和ParentTree、节点附带对象Tag和节点位置xPositon、yPosition;应包含的方法有添加父节点、添加和移除对象、FlowTree和FlowStrand 3.对于FlowStrand类型,应具有的属性包括是否为闭环isRing、节点大小FlowSize、节点包含的列表FlowNodes;应包含的方法有添加、插入和移除FlowNode 4.对于FlowTree类型,应具有的属性包括节点大小FlowSize、节点包含的列表FlowNodes;应包含的方法有添加、插入和移除FlowNode。
具体步骤如下:
步骤1、如图1所示,构建类FlowSize,包括属性宽和高;
步骤2、如图2所示,构建三种(FlowNode,FlowStrand,FlowTree)结构类型,分别为:
1)基本节点FlowNode,该节点包括
a)节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d)节点的子基本串Flowstrand和父基本串ParentStrand;
e)节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h)当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b)串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e)计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a)子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
d)当节点大小改变时触发的方法;
步骤3、构建好基本节点、基本串和基本树之后,可以完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都可以通过最初的根节点获取到所有节点之间的关系,并可获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
STN算法在实例具体包括以下步骤:
1.初始化流程图
2.从左侧拖入模块测试串行
3.拖入模块测试并行
4.拖入子任务测试
5.子任务嵌套子任务测试
本算法基本实现了串行、并行、嵌套子任务的自动布局任务,解决了没有完美解决这一问题的空白。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。

Claims (2)

1.一种串并行嵌套子任务流程图的自动布局算法,其特征在于,包括以下步骤:
步骤1、构建类FlowSize,包括属性宽和高;
步骤2、构建三种结构类型,分别为:基本节点FlowNode、基本串FlowStrand、基本树FlowTree;
步骤3、构建好基本节点、基本串和基本树之后,完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都能通过最初的根节点获取到所有节点之间的关系,并能获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
2.根据权利要求1所述的串并行嵌套子任务流程图的自动布局算法,其特征在于,
1)基本节点FlowNode,该节点包括
a)节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d)节点的子基本串Flowstrand和父基本串ParentStrand;
e)节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h)当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b)串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e)计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a)子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
当节点大小改变时触发的方法。
CN201811427305.5A 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法 Expired - Fee Related CN109582299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811427305.5A CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811427305.5A CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Publications (2)

Publication Number Publication Date
CN109582299A true CN109582299A (zh) 2019-04-05
CN109582299B CN109582299B (zh) 2021-12-10

Family

ID=65924985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811427305.5A Expired - Fee Related CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Country Status (1)

Country Link
CN (1) CN109582299B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734353A (zh) * 2019-10-28 2021-04-30 北京国双科技有限公司 一种可视化流程动态多分支的布局方法和装置
CN115079918A (zh) * 2022-08-19 2022-09-20 中化现代农业有限公司 项目研究建模方法、装置、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615541A (zh) * 2015-02-10 2015-05-13 上海创景计算机系统有限公司 基于流程图的仿真测试建模系统及方法
CN105242597A (zh) * 2015-09-29 2016-01-13 中国科学院光电技术研究所 一种嵌入式控制器调试界面的自动生成方法
CN106056649A (zh) * 2016-05-31 2016-10-26 深圳市永兴元科技有限公司 流程图的生成方法和装置
JP2017037617A (ja) * 2015-08-07 2017-02-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106557457A (zh) * 2016-11-28 2017-04-05 中国电子科技集团公司第二十八研究所 一种基于qt的自动生成跨平台复杂流程图的系统
CN107291887A (zh) * 2017-06-21 2017-10-24 北京中泰合信管理顾问有限公司 Lnmp架构实现软件化的流程管理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615541A (zh) * 2015-02-10 2015-05-13 上海创景计算机系统有限公司 基于流程图的仿真测试建模系统及方法
JP2017037617A (ja) * 2015-08-07 2017-02-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN105242597A (zh) * 2015-09-29 2016-01-13 中国科学院光电技术研究所 一种嵌入式控制器调试界面的自动生成方法
CN106056649A (zh) * 2016-05-31 2016-10-26 深圳市永兴元科技有限公司 流程图的生成方法和装置
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106557457A (zh) * 2016-11-28 2017-04-05 中国电子科技集团公司第二十八研究所 一种基于qt的自动生成跨平台复杂流程图的系统
CN107291887A (zh) * 2017-06-21 2017-10-24 北京中泰合信管理顾问有限公司 Lnmp架构实现软件化的流程管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
边旭等: "《流程图布局算法实现》", 《数字技术与应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734353A (zh) * 2019-10-28 2021-04-30 北京国双科技有限公司 一种可视化流程动态多分支的布局方法和装置
CN115079918A (zh) * 2022-08-19 2022-09-20 中化现代农业有限公司 项目研究建模方法、装置、电子设备和存储介质
CN115079918B (zh) * 2022-08-19 2022-11-18 中化现代农业有限公司 项目研究建模方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109582299B (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
US11599251B2 (en) Derived and linked definitions with override
Liu et al. Generalized synchronization in complex dynamical networks via adaptive couplings
JP3634323B2 (ja) 図形編集システム
US11216159B2 (en) Configuration element for graphic elements
CN109582299A (zh) 一种串并行嵌套子任务流程图的自动布局算法
CN105450684B (zh) 云计算资源调度方法和系统
CN110377279A (zh) 可视化引导无代码构建工作流程并自动验证方法及系统
CN107918367A (zh) 多品种批量产品混线生产实时状态管理方法
CN104182913B (zh) 一种电网方式图成图智能排布方法
Shekhawat Enumerating generic rectangular floor plans
CN111178829A (zh) 一种在软件项目管理中基于图算法的冲突消解方法
CN100349135C (zh) 一种测试向量的产生方法
CN109144562A (zh) 一种基于zookeeper的智能代码发布告警方法
US20180365353A1 (en) Calculation order management for a sequential-modular process simulator
Steiniger et al. A conceptual framework for automated generalization and its application to geologic and soil maps
CN105653123B (zh) 一种图标分组方法及终端设备
CN104461249B (zh) 图形界面的排列显示方法及装置
Hebisch et al. Scenario-based architecting with architecture trace diagrams
US20100082958A1 (en) Method for implementing production processes and system for executing the method
CN106126102A (zh) 移动终端多壁纸数据交互方法及装置
CN111275392A (zh) 一种项目关系展示方法
US9891806B2 (en) Assignment rotator
CN116108757B (zh) 试训环境中多级仿真时间推进方法、服务器及存储介质
JP2000172759A (ja) 工程管理システム
Yu et al. From goal models to feature models: A rule-based approach for software product lines

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20211210

CF01 Termination of patent right due to non-payment of annual fee