CN1952884A - 自动布置方法和自动布置装置 - Google Patents
自动布置方法和自动布置装置 Download PDFInfo
- Publication number
- CN1952884A CN1952884A CNA2006101499313A CN200610149931A CN1952884A CN 1952884 A CN1952884 A CN 1952884A CN A2006101499313 A CNA2006101499313 A CN A2006101499313A CN 200610149931 A CN200610149931 A CN 200610149931A CN 1952884 A CN1952884 A CN 1952884A
- Authority
- CN
- China
- Prior art keywords
- layout
- layout engine
- application program
- arranging
- calculating
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 17
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000931705 Cicada Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000519996 Teucrium chamaedrys Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Abstract
一种用来自动布置图表中的部件的自动布置方法,该自动布置方法包括:根据应用程序的操作,生成一个布置引擎控制对象;从多个使用不同算法来计算部件坐标的布置引擎对象中,选择至少一个布置引擎对象,该至少一个布置引擎对象由布置引擎控制对象根据应用程序的指示选择出来;并且由应用程序根据所选择的布置引擎对象计算出的坐标来创建图表。
Description
本申请要求2005年10月18日提交的日本专利申请No.2005-302512的外国优先权,该在先日本专利申请的全部内容以引用的方式并入本文。
技术领域
本发明涉及一种自动布置方法和一种自动布置装置,当创建一个例如网络框图之类的示出图解结构的图表时,该布置方法和装置用于布置该图表的部件。
背景技术
由部件(节点)和用来连接该部件的线路所构成,并包括一个网络结构图表的图表已经被频繁使用。但是当这种图表有许多节点或线路时,很难手动地去布置它们,因此需要使用一些布置功能来绘图。
在这样的自动布置中已知了各种不同种类的算法。例如,举例说明了一个弹簧模型,一个磁弹簧模型,或一种循环方法(比如,参看“基于面向对象的方法论的对象图表的自动布置”,Nakajima等人,日本信息处理社会期刊,第39卷第12期,第3282页,1998年)。
图4所示结构图示出了相关技术的自动布置装置的一个例子。
图4中,计算机4是一种常见类型的计算机,其至少包括一个中央处理单元(CPU)41、一个输入部分(键盘、触摸面板或其他类似设备)42、一个显示部分(CRT:阴极射线管、LCD:液晶显示器或其他类似设备)43、和一个存储部分(硬盘、存储器或其他类似设备)44。
节点数据441、布置计算部分442和应用程序部分443存储在存储部分44中。在节点数据441中,存储了用于计算包括节点位置、节点间连接关系、节点的形状、颜色和大小的自动布置所需的数据。布置计算部分442是一个用来根据这些节点数据通过使用其中的一个指定算法来计算节点坐标的程序。应用程序部分443是一个用来以计算结果为基础在显示部分上显示期望结构图表的程序。用户从输入部分预先输入节点数据。
在图4中的存储部分44中示出的程序部分分别由作为程序执行部分的CPU41操作。
如上所述,在相关技术的自动布置方法和自动布置装置中,设计者使用一个最适合系统(想要显示的结构图表)的特定算法,并把这种算法直接装配在所述装置上。这样,就出现了一个问题,即很难改变一种绘图方法(用于计算布置的算法)。
发明内容
考虑到上述情况作出本发明,并提出了一种可以改变绘图算法的自动布置方法和自动布置装置。
在一些实施中,本发明的自动布置方法用于自动布置图表中的部件,所述自动布置方法包括:
根据应用程序的操作,生成一个布置引擎控制对象;
从多个使用不同算法来计算部件坐标的布置引擎对象中,选择至少一个布置引擎对象,所述至少一个布置引擎对象由布置引擎控制对象根据应用程序的指示选择出来;并且
由应用程序根据所选择的布置引擎对象计算出的坐标来创建图表。
本发明的自动布置方法进一步包括:
当布置引擎控制对象确定在多个布置引擎对象中不存在根据应用程序的指示而要被选择的布置引擎对象时,生成一个布置引擎制造对象,并且生成将由布置引擎制造对象来选择的布置引擎对象。
在一些实施中,本发明的自动布置装置用于自动布置图表中的部件,所述自动布置装置包括:
一个应用程序执行部分,其用来运行应用程序;
多个布置计算部分,其通过不同算法来计算部件坐标;和
一个控制部分,其用来根据应用程序的指示从多个布置计算部分中选择至少一个布置计算部分,
其中,根据由所选择的布置计算部分计算出的坐标来创建图表。
本发明的自动布置装置进一步包括:
一个生成部分,当控制部分确定在多个布置计算部分中不存在根据应用程序的指示而要被选择的布置计算部分时,该生成部分用来生成要被选择的布置计算部分。
根据本发明,因为用于计算布置的一部分被以程序库的格式来实施以实现通用化,并且可以在程序库中加入新的绘图方法(算法),所以当计算出布置时,算法可以被改变成最适合系统(想要显示的结构图表)的算法。
附图说明
图1所示是根据本发明的一个实施例的自动布置装置的一个实施例的结构框图。
图2是用来解释根据本发明一个实施例的自动布置装置的详细结构和操作的说明图。
图3是示出根据本发明的一个实施例的自动布置方法的过程流程的说明图。
图4是示出相关技术的自动布置装置示例的结构框图。
具体实施方式
现在,参照附图,下面将具体描述本发明。图1是根据本发明的一个实施例的自动布置装置的一个例子的结构框图。
图1中,计算机1是个普通类型的计算机,它至少包括:一个中央处理单元(CPU)11、一个输入部分(键盘、触摸面板或其他类似设备)12、一个显示部分(CRT、LCD或其他类似设备)13、和一个存储部分(硬盘、存储器或其他类似设备)14。
图1是用来解释示意结构的结构框图。在存储部分14中示出了节点数据141,布置计算部分142a、142b、和142c,应用程序部分143和布置接口部分144。
节点数据141为对于自动计算一个布置所必须的数据,该布置包括节点位置、节点间的连接关系、以及这些节点的形状、颜色和大小。
布置计算部分142a、142b和142c是根据节点数据用不同算法分别计算布置的多个程序。
应用程序部分143是预先装载的程序,它用来把节点数据发送到布置计算部分142a、142b和142c中的任意一个,并依照布置计算部分142a、142b和142c中任意一个计算出的结果来在显示部分13上显示所需要的结构图表。
布置接口部分144是用来在应用程序部分143和布置计算部分142a、142b及142c之间发送和接收数据的程序。
用户要预先从输入部分12输入节点数据。
图2是用来解释根据本发明实施例所述自动布置装置各部分的详细结构和操作的说明图。图2所示结构仅为图1中的存储部分14的结构。
图2中,图1所示的布置接口部分144、布置引擎142a、142b和142c(与图1所示的布置计算部分相对应)、下面将要描述的布置引擎控制部分147、以及引擎制造部分146被称作布置程序库。布置程序库的生成和操作将参照图2所示进行描述。
生成意味着:在存储部分14中装载一个用来执行相关职责的程序,并执行这个程序。作为要被装载的程序,可以从与网络(未示出)相连的另一台计算机中装载其中存在的程序,或者也可以预先把程序储存在计算机1的存储部分14中。
布置制造部分145是一个预先装载的程序,并且作为一个操作,其根据生成应用程序部分143的程序库的请求来生成布置接口部分144。
布置接口部分144是由布置制造部分145装载的程序,作为操作其用来向应用程序部分143发送数据并从应用程序部分143接收数据。布置接口部分144向布置引擎控制部分147发送应用程序部分143的布置请求(更换布置引擎的请求)。用户通过输入部分12依照指示生成应用程序部分143的布置请求(包括引擎的指定信息)。
布置引擎控制部分147是由布置接口部分144装载的一个程序。作为操作,布置引擎控制部分147对多个布置引擎进行控制,并依据从应用程序部分143通过布置接口部分144提供的布置请求来向至少一个布置引擎发送布置请求。
引擎制造部分146是一个用于生成布置引擎的程序。当不存在指定布置引擎时,通过布置引擎控制部分147的操作来装载引擎制造部分146,接着引擎制造部分146进行操作来装载并生成作为具有预定接口的插入程序的布置引擎。
布置引擎142a、142b和142c的任意一个都可以进行操作来依据布置引擎控制部分147的布置请求执行布置计算,以计算节点的坐标,并通过布置接口部分144把计算结果发送到应用程序部分143中。
在这个实施例中,描述了一个具有三个布置引擎的例子,但是本发明并不限于此。
图1和图2所举例说明的存储部分14中所示的程序是由CPU11分别进行操作的。这些程序组成了一个应用程序执行部分、一个布置计算部分、一个用于控制布置计算部分的控制部分、一个用于生成布置计算部分的生成部分、以及一个布置接口部分。
上述布置程序库是由一种面向对象的语言进行编写的,并且存储部分14的各个部分分别与各个对象相对应。引擎制造部分146(对象)可以通过动态地分类装载布置引擎(对象)来在操作期间添加布置方法(算法)。
图3是示出根据本发明实施例的自动布置方法的过程流程的说明图。
图3是根据UML(统一建模语言)符号表示法来以时间为参考表示各对象间通信的序列图。现在,将对应示出了图3所示通信序列的标记来在下面对该过程的流程进行描述。
(S1)应用程序允许布置制造生成布置程序库。布置制造生成一个布置接口。布置接口生成布置引擎控制和引擎制造。
(S2)该应用程序请求节点布置的布置接口。相应该请求将这些节点的位置、大小和连接信息提供到该布置接口。来自该应用程序的消息(请求)是非同步实施的。因此,可防止应用程序的运行受到布置接口或布置引擎等的进程的阻塞。
(S3)布置接口将布置请求传送到布置引擎控制。当不存在指定布置引擎时,布置引擎控制会请求引擎制造来生成布置引擎。
(S4)引擎制造生成指定的布置引擎。同时,通过使用面向对象的语言功能来动态地执行分类装载操作。
(S5)布置引擎控制请求布置引擎进行布置。布置结果就示出了该节点的坐标。
(S6)布置接口将布置结果作为一个事件通知给所述应用程序。作为布置结果的节点坐标都包含在这个事件中。
如上所述,因为通过分类装载操作生成了布置引擎,所以就可以把布置功能作为一个通用目的来使用。
另外,我们可以动态地切换布置的算法,从而计算出最适合系统(想要显示的结构图表)的布置。
本发明并非只限制在上述的实施例,在不离开其主旨的范围内可以进一步包括一些改变和变形。
例如,当考虑通过使用无线LAN(局域网)在一定范围内安装多种小型装置的情况时,期待这些装置可以动态地在网络中添加或删除。当本发明被应用到此情况时,即使添加或删除了装置,也可以很容易的在控制屏幕上进行布置,这样就可以实现一个用户可以经常容易地观看的屏幕了。
对于本领域技术人员很明显的是可以对所述本发明的优选实施例进行各种修改和变化而不脱离本发明实质或范围。因而,本发明意在包含与所附权利要求和其等价要求相一致的本发明所有的修改和变化。
Claims (4)
1.一种自动布置方法,其用于自动布置图表中的部件,所述自动布置方法包括:
根据应用程序的操作,生成一个布置引擎控制对象;
从多个使用不同算法来计算部件坐标的布置引擎对象中,选择至少一个布置引擎对象,所述至少一个布置引擎对象由布置引擎控制对象根据应用程序的指示选择出来;并且
由应用程序根据所选择的布置引擎对象计算出的坐标来创建图表。
2.根据权利要求1的自动布置方法,进一步包括:
当布置引擎控制对象确定在多个布置引擎对象中不存在根据所述应用程序的指示而要被选择的布置引擎对象时,生成一个布置引擎制造对象,并且生成将由布置引擎制造对象来选择的布置引擎对象。
3.一种自动布置装置,其用于自动布置图表中的部件,所述自动布置装置包括:
一个应用程序执行部分,其用来运行应用程序;
多个布置计算部分,其通过不同算法来计算部件坐标;和
一个控制部分,其用来根据所述应用程序的指示,从多个布置计算部分中选择出至少一个布置计算部分,
其中,根据由所选择的布置计算部分计算出的坐标来创建图表。
4.根据权利要求3的自动布置装置进一步包括:
一个生成部分,当所述控制部分确定在多个布置计算部分中不存在根据该应用程序的指示而要被所选择的布置计算部分时,该生成部分用来生成要被选择的布置计算部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005302512A JP2007114822A (ja) | 2005-10-18 | 2005-10-18 | 自動レイアウト方法および装置 |
JP2005302512 | 2005-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1952884A true CN1952884A (zh) | 2007-04-25 |
CN100533375C CN100533375C (zh) | 2009-08-26 |
Family
ID=37949546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101499313A Expired - Fee Related CN100533375C (zh) | 2005-10-18 | 2006-10-17 | 自动布置方法和自动布置装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7712065B2 (zh) |
JP (1) | JP2007114822A (zh) |
CN (1) | CN100533375C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489986B2 (en) * | 2008-01-31 | 2013-07-16 | Microsoft Corporation | Correcting positions of shapes in a diagram |
US9324168B2 (en) * | 2008-01-31 | 2016-04-26 | Microsoft Technology Licensing, Llc | Constraint-based correction of shape positions in a diagram |
US8454788B2 (en) * | 2009-03-13 | 2013-06-04 | The Boeing Company | Method and apparatus for placing short courses of composite tape |
CN101877136A (zh) * | 2009-04-30 | 2010-11-03 | 国际商业机器公司 | 处理图形对象的方法、设备及系统 |
US8612892B2 (en) * | 2009-06-18 | 2013-12-17 | Microsoft Corporation | Incremental run-time layout composition |
US9405449B2 (en) * | 2010-01-14 | 2016-08-02 | Microsoft Technology Licensing, Llc | Layout constraint manipulation via user gesture recognition |
US8312413B2 (en) * | 2010-01-22 | 2012-11-13 | International Business Machines Corporation | Navigating analytical tools using layout software |
AP2013007228A0 (en) * | 2012-06-19 | 2013-11-30 | Infosys Ltd | A computer implemented method and system for customizing a unified modelling language tool |
US9734608B2 (en) | 2015-07-30 | 2017-08-15 | Microsoft Technology Licensing, Llc | Incremental automatic layout of graph diagram for disjoint graphs |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06289588A (ja) * | 1993-03-31 | 1994-10-18 | Toppan Printing Co Ltd | レイアウトデザイン装置 |
JPH08227428A (ja) * | 1995-02-20 | 1996-09-03 | Matsushita Electric Ind Co Ltd | プリント基板cad装置 |
JP4723740B2 (ja) * | 2001-03-14 | 2011-07-13 | 富士通株式会社 | 密度一様化配置問題の最適解探索方法および密度一様化配置問題の最適解探索プログラム |
JP2003076552A (ja) * | 2001-09-04 | 2003-03-14 | Fuji Xerox Co Ltd | 画像処理プログラム提供サーバ、クライアント側画像処理装置、画像処理プログラム作成方法、画像処理プログラム提供プログラムおよび画像処理プログラム受取りプログラム |
JP2003101749A (ja) * | 2001-09-20 | 2003-04-04 | Pagecomp Lab Corp | 画像レイアウト生成装置 |
JP2005149273A (ja) | 2003-11-18 | 2005-06-09 | Matsushita Electric Ind Co Ltd | 半導体集積回路のフロアプラン装置及びフロアプラン方法 |
JP4332477B2 (ja) * | 2004-08-06 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
US7348982B2 (en) * | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
-
2005
- 2005-10-18 JP JP2005302512A patent/JP2007114822A/ja not_active Withdrawn
-
2006
- 2006-10-13 US US11/580,329 patent/US7712065B2/en not_active Expired - Fee Related
- 2006-10-17 CN CNB2006101499313A patent/CN100533375C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7712065B2 (en) | 2010-05-04 |
US20070089080A1 (en) | 2007-04-19 |
JP2007114822A (ja) | 2007-05-10 |
CN100533375C (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100533375C (zh) | 自动布置方法和自动布置装置 | |
JP5489391B2 (ja) | トポロジを比較するための方法、システムおよびプログラム(トポロジ比較) | |
Bentley et al. | Architectural support for cooperative multiuser interfaces | |
US9442827B2 (en) | Simulation environment for distributed programs | |
CN100428238C (zh) | 在流设计工具中显示性能约束的方法和系统 | |
JP2009104229A (ja) | 入力チェック装置および入力チェック方法 | |
WO2013084628A1 (ja) | 製造ラインシミュレーション装置、データ入力支援装置、およびデータ入力支援方法 | |
CN115048254A (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
JP2007087256A (ja) | 画面提供装置、画面提供方法、およびプログラム | |
WO2019146233A1 (ja) | 業務プロセス設計支援方法及び業務プロセス設計支援装置 | |
JP2021170368A (ja) | 情報提示方法、装置、電子機器、記憶媒体及びプログラム | |
JP5967200B2 (ja) | ルール管理装置、ルール管理方法及びプログラム | |
KR20010057771A (ko) | 가상 현실 공간에서 객체 검색 및 연관 객체 조작을 위한객체 관리방법 | |
JP5660379B2 (ja) | シンクライアント用プロキシサーバおよび通信制御方法 | |
JPH0583253A (ja) | 網監視方式 | |
JP2012533137A (ja) | サブグリッドの統合トランザクション処理方法及びこれを記録した記録媒体 | |
JP6603637B2 (ja) | ユーザインタフェース接続装置、及びプログラム | |
JPH04320530A (ja) | ハイパーテキスト装置 | |
JP2005202802A (ja) | アセンブリ組み立て工程表示装置、アセンブリ組み立て工程表示方法、プログラム及びコンピュータシステム | |
JP2957030B2 (ja) | 事象表示装置 | |
JP2022048621A (ja) | システム開発支援プログラムおよびシステム開発支援方法 | |
JP2005190178A (ja) | データメンテナンス装置、データメンテナンス方法、及びデータメンテナンスプログラム | |
JP6146417B2 (ja) | 入力支援装置、入力支援方法、及び、プログラム | |
CN115146129A (zh) | 数据项的勾选方法、装置、存储介质及计算机设备 | |
CN116992095A (zh) | 数据模型的查询方法、装置、存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090826 Termination date: 20121017 |