JP2007114822A - 自動レイアウト方法および装置 - Google Patents

自動レイアウト方法および装置 Download PDF

Info

Publication number
JP2007114822A
JP2007114822A JP2005302512A JP2005302512A JP2007114822A JP 2007114822 A JP2007114822 A JP 2007114822A JP 2005302512 A JP2005302512 A JP 2005302512A JP 2005302512 A JP2005302512 A JP 2005302512A JP 2007114822 A JP2007114822 A JP 2007114822A
Authority
JP
Japan
Prior art keywords
layout
application program
engine
automatic
unit
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.)
Withdrawn
Application number
JP2005302512A
Other languages
English (en)
Inventor
Yuichi Sakuraba
祐一 櫻庭
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2005302512A priority Critical patent/JP2007114822A/ja
Priority to US11/580,329 priority patent/US7712065B2/en
Priority to CNB2006101499313A priority patent/CN100533375C/zh
Publication of JP2007114822A publication Critical patent/JP2007114822A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Abstract

【課題】 描画アルゴリズムを変更可能とした自動レイアウト方法および装置を提供することを目的とする。
【解決手段】 アプリケーションプログラムの動作に基づいて所定の図を作成するのにあたり、図の構成要素の自動レイアウトを行う自動レイアウト方法において、
前記アプリケーションプログラムの動作に基づいて、レイアウトエンジン管理オブジェクトが生成される工程と、
このレイアウトエンジン管理オブジェクトが、前記アプリケーションプログラムの指示に基づいて、前記構成要素の座標を異なるアルゴリズムにより算出する複数のレイアウトエンジンオブジェクトの中から少なくとも1つを選択する工程と、
選択されたレイアウトエンジンオブジェクトが算出した座標に基づいて、前記アプリケーションプログラムが前記所定の図を作成する工程と、
を有することを特徴とする自動レイアウト方法。
【選択図】 図1

Description

本発明は、ネットワーク構成図などのグラフ構造を示す図の作成に際し、図の構成要素のレイアウトを行う自動レイアウト方法および装置に関するものである。
従来、ネットワーク構成図を始め構成要素(ノード)とそれらを結ぶコネクションから構成されている図は多く使用されている。これらの図はノードやコネクションが多い場合、手作業でレイアウトすることは難しくなり、何らかのレイアウト機能を使用して描画されている。
このような従来の自動レイアウトには、各種のアルゴリズムが知られている。例えば、スプリングモデル、マグネテック・スプリング・モデルあるいはサークル手法などがある(例えば非特許文献1参照。)。
中島 他,「オブジェクト指向方法論に基づくオブジェクト図の自動レイアウト」,情報処理学会論文誌,Vol.39,No.12,pp.3282,1998
図4は、従来の自動レイアウト装置の一例を示す構成図である。
図4において、コンピュータ4は一般的なものであり、少なくとも中央演算装置(CPU)41、入力手段(キーボード、タッチパネル等)42、表示手段(CRT、LCDなど)43および記憶手段(ハードディスク、メモリ等)44から構成される。
記憶手段44には、ノードの位置、ノード間の結合関係、ノードの形、色、サイズ、をはじめ自動レイアウト計算に必要なデータが格納されたノードデータ441と、これらのノードデータに基づき予め規定されたアルゴリズムの一つを用いてノードの座標を計算するプログラムであるレイアウト計算部442と、この計算結果に基づき表示手段に所望の構成図を表示させるプログラムであるアプリケーション部443が格納されている。
なお、ノードデータは入力手段から予めユーザが入力しておく。
また、図4の記憶手段44に示した各プログラム部は、プログラム実行手段であるCPU41により動作する。
このように、従来の自動レイアウト方法および装置では、システム(表示させたい構成図)に最も適した特定のアルゴリズムを設計者が採用して装置に直接実装していた。このため、描画手法(レイアウト計算のアルゴリズム)を変更することが困難であるという問題があった。
本発明は、このような自動レイアウト方法および装置が有していた問題を解決しようとするものであり、描画アルゴリズムを変更可能とした自動レイアウト方法および装置を提供することを目的とする。
本発明は次の通りの構成になった自動レイアウト方法および装置である。
(1)アプリケーションプログラムの動作に基づいて所定の図を作成するのにあたり、図の構成要素の自動レイアウトを行う自動レイアウト方法において、
前記アプリケーションプログラムの動作に基づいて、レイアウトエンジン管理オブジェクトが生成される工程と、
このレイアウトエンジン管理オブジェクトが、前記アプリケーションプログラムの指示に基づいて、前記構成要素の座標を異なるアルゴリズムにより算出する複数のレイアウトエンジンオブジェクトの中から少なくとも1つを選択する工程と、
選択されたレイアウトエンジンオブジェクトが算出した座標に基づいて、前記アプリケーションプログラムが前記所定の図を作成する工程と、
を有することを特徴とする自動レイアウト方法。
(2)前記レイアウトエンジン管理オブジェクトが、選択すべきレイアウトエンジンオブジェクトが無いと判断した場合、レイアウトエンジンファクトリオブジェクトを生成する工程と、
このレイアウトエンジンファクトリオブジェクトが前記選択すべきレイアウトエンジンオブジェクトを生成する工程と、
を有することを特徴とする(1)に記載の自動レイアウト方法。
(3)アプリケーションプログラムの動作に基づいて所定の図を作成するのにあたり、図の構成要素の自動レイアウトを行う自動レイアウト装置において、
前記アプリケーションプログラムを動作させるアプリケーション実行手段と、
前記構成要素の座標を異なるアルゴリズムにより算出する複数のレイアウト計算手段と、
前記アプリケーションプログラムの動作に基づいて、前記複数のレイアウト計算手段の中から少なくとも1つを選択する管理手段と、
を有し、
選択されたレイアウト計算手段が算出した座標に基づいて、前記所定の図を作成することを特徴とする自動レイアウト装置。
(4)前記管理手段が選択すべきレイアウト計算手段が無いと判断した場合に、前記選択すべきレイアウト計算手段を生成する生成手段を有することを特徴とする(3)に記載の自動レイアウト装置。
本発明によれば、以下のような効果がある。
請求項1から請求項4に記載の発明によれば、レイアウト計算を行う部分をライブラリ形式にして汎用化を実現し、このライブラリに新たな描画手法(アルゴリズム)を追加することもできるため、レイアウト計算を行う際に、システム(表示させたい構成図)に最も適したアルゴリズムに切り替えることができる。
以下図面を用いて本発明を詳細に説明する。図1は本発明に係る自動レイアウト装置の一例を示す構成図である。
図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とのやり取りを行う。このレイアウトインタフェース部144ではアプリケーション部143のレイアウト依頼(レイアウトエンジンの切り替え依頼)をレイアウトエンジン管理部147に渡す。
なお、アプリケーション部143のレイアウト依頼(レイアウトエンジンの指定情報を含む)はユーザの入力手段12からの指示に基づき発生させるものである。
レイアウトエンジン管理部147は、レイアウトインタフェース部144によりロードされたプログラムであって、動作としては複数のレイアウトエンジンを管理し、レイアウトインタフェース部144を介して渡されたアプリケーション部143からのレイアウト依頼に基づきレイアウトエンジンの少なくとも1つにレイアウト依頼する。
エンジンファクトリ部147は、レイアウトエンジンを生成するプログラムであって、指定されたレイアウトエンジンが無い場合に、レイアウトエンジン管理部147の動作によりロードされ、予め決められたインタフェースを持つプラグインプログラムであるレイアウトエンジンをロードし生成するように動作する。
レイアウトエンジン142a,142b,142cのいずれかは、レイアウトエンジン管理部147のレイアウト依頼に基づきレイアウト計算を行いノードの座標を算出し、レイアウトインタフェース部144を介してアプリケーション部143に算出結果を渡すように動作する。
なお、本実施例ではレイアウトエンジンが3つの場合について説明したがそれに限るものではない。
また、図1および図2の記憶手段14に示した各プログラムは、CPU11により動作する。これらが、アプリケーション実行手段、レイアウト計算手段、レイアウト計算手段を管理する管理手段、レイアウト計算手段を生成する生成手段、レイアウトインタフェース手段などを構成する。
このようなレイアウトライブラリは、オブジェクト指向言語で記述されており、記憶手段14の各部はオブジェクトを意味するものでもある。エンジンファクトリ部146(オブジェクト)は、レイアウトエンジン(オブジェクト)を動的にクラスローディングすることで動作中にレイアウト手法(アルゴリズム)を追加することが可能となる。
図3は、本発明に係る自動レイアウト方法の処理の流れを示す説明図である。
なお、図3は、UML(Unified Modeling Language)のノーテーションに基づいて、オブジェクト間の通信を、時間を基準に表現したシーケンス図である。図3の通信順序を示す符号に対応させて処理の流れを以下に説明する。
(S1)アプリケーションが、レイアウトファクトリに対してレイアウトライブラリを生成させる。レイアウトファクトリは、レイアウトインタフェースを生成する。レイアウトインタフェースは、レイアウトエンジン管理およびエンジンファクトリを生成する。
(S2)アプリケーションがレイアウトインタフェースにノードのレイアウトを依頼する。依頼にはノードの位置、大きさ接続情報を、このレイアウトインタフェースに渡す。アプリケーションからのメッセージ(依頼)は非同期で行う。このため、レイアウトインタフェースやレイアウトエンジンなどの処理によってアプリケーションの動作がブロックされるのを防ぐことができる。
(S3)レイアウトインタフェースは、レイアウト依頼をレイアウトエンジン管理に委譲する。レイアウトエンジン管理は指定されたレイアウトエンジンが無かった場合、エンジンファクトリにレイアウトエンジンの生成を依頼する。
(S4)エンジンファクトリは、指定されたレイアウトエンジンの生成を行う。この際、オブジェクト指向言語の機能を使用して動的にクラスローディングを行う。
(S5)レイアウトエンジン管理がレイアウトエンジンに対してレイアウトを依頼する。レイアウトの結果はノードの座標となる。
(S6)レイアウトインタフェースがレイアウトの結果をイベントとしてアプリケーションに通知する。レイアウト結果であるノードの座標はすべてイベントに含まれている。
以上により、レイアウトエンジンをクラスローディングすることにより生成するため、レイアウト機能を汎用的に使用することができる。
また、レイアウトのアルゴリズムを動的に切り替えてシステム(表示させたい構成図)に最適なレイアウト計算を行うことができる。
なお、本発明は、上記実施例に限定されることなく、その本質から逸脱しない範囲で更に多くの変更、変形をも含むものである。
例えば、様々な種類の小型デバイスが無線LANを使用してフィールドに設置される状況を考えた場合、このようなデバイスは動的にネットワークに追加或いは削除可能となると予想される。これに対して本発明を適用することにより、デバイスが追加或いは削除された場合においても容易に管理画面のレイアウトを行うことができ、常にユーザが見やすい画面構成が可能となる。
本発明に係る自動レイアウト装置の一実施例を示す構成図である。 本発明に係る自動レイアウト装置の詳細な構成及び動作を説明する説明図である。 本発明に係る自動レイアウト方法の処理の流れを示す説明図である。 従来の自動レイアウト装置の一例を示した構成図である。
符号の説明
1 コンピュータ
11 CPU
12 入力手段
13 表示手段
14 記憶手段
141 ノードデータ部
142a、142b、142c レイアウト計算部(レイアウトエンジン)
143 アプリケーション部
144 レイアウトインタフェース部
145 レイアウトインタフェース部
146 エンジンファクトリ部
147 レイアウトエンジン管理部

Claims (4)

  1. アプリケーションプログラムの動作に基づいて所定の図を作成するのにあたり、図の構成要素の自動レイアウトを行う自動レイアウト方法において、
    前記アプリケーションプログラムの動作に基づいて、レイアウトエンジン管理オブジェクトが生成される工程と、
    このレイアウトエンジン管理オブジェクトが、前記アプリケーションプログラムの指示に基づいて前記構成要素の座標を異なるアルゴリズムにより算出する複数のレイアウトエンジンオブジェクトの中から少なくとも1つを選択する工程と、
    選択されたレイアウトエンジンオブジェクトが算出した座標に基づいて、前記アプリケーションプログラムが前記所定の図を作成する工程と、
    を有することを特徴とする自動レイアウト方法。
  2. 前記レイアウトエンジン管理オブジェクトが、選択すべきレイアウトエンジンオブジェクトが無いと判断した場合、レイアウトエンジンファクトリオブジェクトを生成する工程と、
    このレイアウトエンジンファクトリオブジェクトが前記選択すべきレイアウトエンジンオブジェクトを生成する工程と、
    を有することを特徴とする請求項1に記載の自動レイアウト方法。
  3. アプリケーションプログラムの動作に基づいて所定の図を作成するのにあたり、図の構成要素の自動レイアウトを行う自動レイアウト装置において、
    前記アプリケーションプログラムを動作させるアプリケーション実行手段と、
    前記構成要素の座標を異なるアルゴリズムにより算出する複数のレイアウト計算手段と、
    前記アプリケーションプログラムの動作に基づいて、前記複数のレイアウト計算手段の中から少なくとも1つを選択する管理手段と、
    を有し、
    選択されたレイアウト計算手段が算出した座標に基づいて、前記所定の図を作成することを特徴とする自動レイアウト装置。
  4. 前記管理手段が選択すべきレイアウト計算手段が無いと判断した場合に、前記選択すべきレイアウト計算手段を生成する生成手段を有することを特徴とする請求項3に記載の自動レイアウト装置。
JP2005302512A 2005-10-18 2005-10-18 自動レイアウト方法および装置 Withdrawn JP2007114822A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005302512A JP2007114822A (ja) 2005-10-18 2005-10-18 自動レイアウト方法および装置
US11/580,329 US7712065B2 (en) 2005-10-18 2006-10-13 Automatic layout method and automatic layout device
CNB2006101499313A CN100533375C (zh) 2005-10-18 2006-10-17 自动布置方法和自动布置装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005302512A JP2007114822A (ja) 2005-10-18 2005-10-18 自動レイアウト方法および装置

Publications (1)

Publication Number Publication Date
JP2007114822A true JP2007114822A (ja) 2007-05-10

Family

ID=37949546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005302512A Withdrawn JP2007114822A (ja) 2005-10-18 2005-10-18 自動レイアウト方法および装置

Country Status (3)

Country Link
US (1) US7712065B2 (ja)
JP (1) JP2007114822A (ja)
CN (1) CN100533375C (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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
WO2013190560A1 (en) * 2012-06-19 2013-12-27 Infosys Limited A computer implemented method and system for customizing a unified modelling language tool
US9799128B2 (en) 2015-07-30 2017-10-24 Microsoft Technology Licensing, Llc Incremental automatic layout of graph diagram

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289588A (ja) * 1993-03-31 1994-10-18 Toppan Printing Co Ltd レイアウトデザイン装置
JP2003076552A (ja) * 2001-09-04 2003-03-14 Fuji Xerox Co Ltd 画像処理プログラム提供サーバ、クライアント側画像処理装置、画像処理プログラム作成方法、画像処理プログラム提供プログラムおよび画像処理プログラム受取りプログラム
JP2003101749A (ja) * 2001-09-20 2003-04-04 Pagecomp Lab Corp 画像レイアウト生成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227428A (ja) * 1995-02-20 1996-09-03 Matsushita Electric Ind Co Ltd プリント基板cad装置
JP4723740B2 (ja) * 2001-03-14 2011-07-13 富士通株式会社 密度一様化配置問題の最適解探索方法および密度一様化配置問題の最適解探索プログラム
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289588A (ja) * 1993-03-31 1994-10-18 Toppan Printing Co Ltd レイアウトデザイン装置
JP2003076552A (ja) * 2001-09-04 2003-03-14 Fuji Xerox Co Ltd 画像処理プログラム提供サーバ、クライアント側画像処理装置、画像処理プログラム作成方法、画像処理プログラム提供プログラムおよび画像処理プログラム受取りプログラム
JP2003101749A (ja) * 2001-09-20 2003-04-04 Pagecomp Lab Corp 画像レイアウト生成装置

Also Published As

Publication number Publication date
CN100533375C (zh) 2009-08-26
US20070089080A1 (en) 2007-04-19
US7712065B2 (en) 2010-05-04
CN1952884A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
JP2007114822A (ja) 自動レイアウト方法および装置
JP5489391B2 (ja) トポロジを比較するための方法、システムおよびプログラム(トポロジ比較)
JP4629792B2 (ja) グラフライクダイアグラムを編集するための2次元ツリー
US8707275B2 (en) Simulation environment for distributed programs
US8473524B2 (en) Method and system for updating object data with respect to object specifications in a product life cycle management system
TWI413933B (zh) 圖形使用者介面之應用程式介面
US20150294488A1 (en) Graph generating device, graph generating method and graph generating program
US20080172208A1 (en) Method and computer program product of computer aided design of a product comprising a set of constrained objects
US10235477B2 (en) Prototyping an image processing algorithm and emulating or simulating execution on a hardware accelerator to estimate resource usage or performance
WO2013084628A1 (ja) 製造ラインシミュレーション装置、データ入力支援装置、およびデータ入力支援方法
US7231631B1 (en) Generated code from graphical user interface
JP7457168B2 (ja) 半導体デバイスのモデリング方法及び装置
US9244652B1 (en) State management for task queues
CN112292659B (zh) 通过从语义变焦增强用户接口调用开发工具来从控制计算机编写装置的代码
JPH04348428A (ja) 設計支援方法
US7934192B2 (en) Computer method and apparatus for connection tree routing in visual modeling of software
EP1939772A1 (en) Method and a computer program product for computer aided design of a product comprising a set of constrained objects
JP2009009473A (ja) Guiの設計装置、設計方法およびプログラム
JP2006338343A (ja) 時刻連携ウィンドウシステム
JP2007249561A (ja) 画面遷移図の表示システム及びプログラム
US20010006386A1 (en) Navigation device and device for generating navigation device
EP4185968B1 (en) Computer-implemented human-machine interaction method and user interface
JP2017194738A (ja) 制御プログラム作成装置及び制御プログラム作成方法
Nguyen et al. Integrating scientific workflows and large tiled display walls: Bridging the visualization divide
JP2009282723A (ja) オブジェクト編集装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101209

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110207