JP2021140260A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2021140260A
JP2021140260A JP2020035186A JP2020035186A JP2021140260A JP 2021140260 A JP2021140260 A JP 2021140260A JP 2020035186 A JP2020035186 A JP 2020035186A JP 2020035186 A JP2020035186 A JP 2020035186A JP 2021140260 A JP2021140260 A JP 2021140260A
Authority
JP
Japan
Prior art keywords
activity
component
flow
displayed
display device
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
JP2020035186A
Other languages
English (en)
Other versions
JP7487494B2 (ja
Inventor
知弘 佐藤
Tomohiro Sato
知弘 佐藤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fujifilm Business Innovation 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 Fujifilm Business Innovation Corp filed Critical Fujifilm Business Innovation Corp
Priority to JP2020035186A priority Critical patent/JP7487494B2/ja
Priority to US17/027,718 priority patent/US11320964B2/en
Publication of JP2021140260A publication Critical patent/JP2021140260A/ja
Application granted granted Critical
Publication of JP7487494B2 publication Critical patent/JP7487494B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、ユーザーがフローを構成する部品を予め全て決定しなければならない構成と比べて、ユーザーは、フローを構成する部品の一部を選択することによって、フローを生成することができるようにした情報処理装置を提供する。【解決手段】情報処理装置は、メモリと一又は複数のプロセッサを備え、前記メモリは、フローを構成する機能に対応する部品の仕様を記憶しており、前記プロセッサは、ユーザーが選択した第1部品を基点として、前記部品の仕様を用いて、該第1部品の前又は後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する。【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、ワークフローの特性に応じた表示部品の候補を表示することを課題とし、第1の処理種別に属する処理の内容を示す第1の部品の表示指示を受けた場合に、前記第1の部品を表示部に表示させるとともに、第1の処理種別との順序関係が定められた第2の処理種別に属する処理の内容を示す第2の部品を、表示部に、順序関係に応じて第1の部品と関係付けて表示させることが開示されている。
特開2013−080351号公報
フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、そのユーザーはフローを構成する部品を全て予め決定した上で、フローを生成する必要がある。
そこで、本発明は、フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、ユーザーがフローを構成する部品を予め全て決定しなければならない構成と比べて、ユーザーは、フローを構成する部品の一部を選択することによって、フローを生成することができるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、メモリと一又は複数のプロセッサを備え、前記メモリは、フローを構成する機能に対応する部品の仕様を記憶しており、前記プロセッサは、ユーザーが選択した第1部品を基点として、前記部品の仕様を用いて、該第1部品の前又は後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、情報処理装置である。
請求項2の発明は、前記プロセッサは、第1部品の前の処理を行う第2部品を抽出した後に、さらに、該第2部品の前の処理を行う第3部品を抽出し、該第3部品と該第2部品を前記表示装置に表示するように制御する、又は、第1部品の後の処理を行う第2部品を抽出した後に、さらに、該第2部品の後の処理を行う第3部品を抽出し、該第3部品と該第2部品を前記表示装置に表示するように制御する、請求項1に記載の情報処理装置である。
請求項3の発明は、前記プロセッサは、前記基点となる第1部品以外の部品が選択された場合は、該選択された部品から該第1部品までの経路を抽出し、該経路を前記表示装置に表示するように制御する、請求項2に記載の情報処理装置である。
請求項4の発明は、前記プロセッサは、前記経路が選択された場合は、該経路上の部品と同じ階層にある部品を前記表示装置から削除するように制御する、請求項3に記載の情報処理装置である。
請求項5の発明は、前記プロセッサは、前記経路が複数ある場合は、経路を選択できるように、経路リストを前記表示装置に表示するように制御する、請求項3に記載の情報処理装置である。
請求項6の発明は、前記プロセッサは、経路が選択された場合は、該経路に関する情報を前記表示装置に表示するように制御する、請求項5に記載の情報処理装置である。
請求項7の発明は、前記プロセッサは、選択された経路を部品として選択可能にし、部品と該経路は異なる形態で前記表示装置に表示するように制御する、請求項5に記載の情報処理装置である。
請求項8の発明は、前記プロセッサは、前記表示装置に表示された前記部品の仕様に関する情報が変更された場合は、該変更された情報にしたがって、該部品に接続される部品を抽出し直して、該表示装置に表示するように制御する、請求項1に記載の情報処理装置である。
請求項9の発明は、前記プロセッサは、前記基点となる第1部品以外の部品について、過去の利用回数が多い部品ほど該第1部品に近くなるように、該部品を前記表示装置に表示するように制御する、請求項1に記載の情報処理装置である。
請求項10の発明は、前記利用回数として、ユーザーによって過去に生成されたフローにおける第1利用回数と、過去に生成された全体のフローにおける第2利用回数があり、前記プロセッサは、前記第1利用回数と前記第2利用回数に分けて、前記部品を前記表示装置に表示するように制御する、請求項9に記載の情報処理装置である。
請求項11の発明は、前記第2利用回数が同じである場合は、前記第1利用回数が多い部品ほど該部品の表示の大きさを大きくする、請求項10に記載の情報処理装置である。
請求項12の発明は、前記基点となる第1部品から数えて第n階層の部品の表示の大きさを、第n−1階層の部品の大きさよりも小さくする、請求項9から11のいずれか1項に記載の情報処理装置である。
請求項13の発明は、前記プロセッサは、基点となる前記第1部品が入力元である場合は、該第1部品の後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御し、基点となる前記第1部品が出力先である場合は、該第1部品の前の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御し、基点となる前記第1部品が入力元以外であって、かつ、出力先以外である場合は、該第1部品の前及び後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、請求項1に記載の情報処理装置である。
請求項14の発明は、メモリと一又は複数のプロセッサを備えたコンピュータの前記メモリは、フローを構成する機能に対応する部品の仕様を記憶しており、前記プロセッサに、ユーザーが選択した第1部品を基点として、前記部品の仕様を用いて、該第1部品の前又は後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、処理を実行させるための情報処理プログラムである。
請求項1の情報処理装置によれば、フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、ユーザーがフローを構成する部品を予め全て決定しなければならない構成と比べて、ユーザーは、フローを構成する部品の一部を選択することによって、フローを生成することができる。
請求項2の情報処理装置によれば、第1部品の前又は後の処理を行う第2部品を抽出し、さらに、その第2部品の前又は後の処理を行う第3部品を抽出し、第3部品と第2部品を表示することができる。
請求項3の情報処理装置によれば、第1部品以外の部品が選択された場合は、その選択された部品からその第1部品までの経路を表示することができる。
請求項4の情報処理装置によれば、経路が選択された場合は、その経路上の部品と同じ階層にある部品を削除することができる。
請求項5の情報処理装置によれば、経路が複数ある場合は、経路を選択できるようにすることができる。
請求項6の情報処理装置によれば、経路が選択された場合は、その経路に関する情報を表示することができる。
請求項7の情報処理装置によれば、選択された経路を部品として選択可能にし、部品とその経路は異なる形態で表示することができる。
請求項8の情報処理装置によれば、部品の仕様に関する情報が変更された場合は、その変更された情報にしたがって、その部品に接続される部品を抽出し直すことができる。
請求項9の情報処理装置によれば、第1部品以外の部品について、過去の利用回数が多い部品ほど第1部品に近くなるように表示することができる。
請求項10の情報処理装置によれば、ユーザーによって過去に生成されたフローにおける第1利用回数と、過去に生成された全体のフローにおける第2利用回数に分けて、部品を表示することができる。
請求項11の情報処理装置によれば、第2利用回数が同じである場合は、第1利用回数が多い部品ほど、その部品の表示の大きさを大きくして表示することができる。
請求項12の情報処理装置によれば、階層が深くなるほど、部品の表示の大きさを小さくして表示することができる。
請求項13の情報処理装置によれば、第1部品が入力元である場合は、その第1部品の後の処理を行う第2部品と第1部品を表示し、第1部品が出力先である場合は、その第1部品の前の処理を行う第2部品と第1部品を表示し、第1部品が入力元以外であって、かつ、出力先以外である場合は、第1部品の前及び後の処理を行う第2部品と第1部品を表示することができる。
請求項14の情報処理プログラムによれば、フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、ユーザーがフローを構成する部品を予め全て決定しなければならない構成と比べて、ユーザーは、フローを構成する部品の一部を選択することによって、フローを生成することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 アクティビティ一覧画面の表示例を示す説明図である。 アクティビティ属性登録画面の表示例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態をより具体的に示す構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 アクティビティ登録情報テーブルのデータ構造例を示す説明図である。 フロー登録情報テーブルのデータ構造例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 本実施の形態をより具体的に示す別の構成例についての概念的なモジュール構成図である。 フロー登録情報テーブルのデータ構造例を示す説明図である。 アクティビティ登録情報テーブルのデータ構造例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。 本実施の形態の処理例を示す説明図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(「ソフトウェア」の解釈として、コンピュータ・プログラムを含む)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(例えば、データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(「2以上の値」には、もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(「ネットワーク」には、一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(つまり、社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。
本実施の形態である情報処理装置100は、フローの生成処理を行う機能を有している。図1の例に示すように、情報処理装置100は、少なくともプロセッサ105、メモリ110を有しており、それらをつないでデータのやりとりをするためのバス198により構成されている。この他に、情報処理装置100は、出力装置185、受付装置190、通信装置195を有していてもよい。そして、バス198によって、プロセッサ105、メモリ110、出力装置185、受付装置190、通信装置195の間でデータのやりとりが行われる。
なお、図1の例に示すブロック図は、本実施の形態を実現するコンピュータのハードウェア構成例をも示している。本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図1に例示するようなコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。具体例として、処理部としてプロセッサ105を用い、記憶装置としてメモリ110を用いている。
プロセッサ105は、1つであってもよいし、複数あってもよい。プロセッサ105として、例えば、CPU(Central Processing Unitの略)、マイクロプロセッサ等を含む。複数のプロセッサ105を用いる場合は、密結合マルチプロセッサ、疎結合マルチプロセッサのいずれの形態であってもよい。例えば、1つのプロセッサ105内に複数のプロセッサ・コアが搭載されていてもよい。さらに、複数のコンピュータを通信路で結んで仮想的に一台のコンピュータのように振る舞わせるシステムとしてもよい。具体例として、疎結合マルチプロセッサであって、クラスタシステム、コンピュータクラスタとして構成してもよい。プロセッサ105は、プログラムメモリ120内のプログラムを実行する。
メモリ110として、例えば、レジスタやキャッシュメモリ等のプロセッサ105内部の半導体メモリを含めてもよいし、RAM(Random Access Memoryの略)やROM(Read Only Memoryの略)等によって構成される主記憶装置であるメインメモリであってもよいし、永続性記憶装置としての機能を有するHDD(Hard Disk Driveの略)やSSD(Solid State Driveの略)の内部記憶装置、CD、DVD、Blu−ray(登録商標) Disc、USBメモリ、メモリーカード等の外部記憶装置又は補助記憶装置であってもよいし、また、通信回線を介して接続されたサーバー等の記憶装置を含めてもよい。
メモリ110は、主にプログラムを記憶するプログラムメモリ120と主にデータを記憶するデータメモリ115を有している。なお、プログラムメモリ120、データメモリ115には、図示しているモジュールのプログラムの他、本コンピュータを起動するためのOS等のプログラム、モジュールの実行において適宜変化するパラメータ等のデータが格納されていてもよい。
出力装置185は、例えば、表示装置187、印刷装置189等を有している。液晶ディスプレイ、有機ELディスプレイ、3次元ディスプレイ等の表示装置187は、プロセッサ105による処理結果、データメモリ115内のデータ等を、テキストやイメージ情報等として表示する。プリンタ、複合機等の印刷装置189は、プロセッサ105による処理結果、データメモリ115内のデータ等を印刷する。また、出力装置185として、スピーカー、機器を振動させるアクチュエータ等を含んでいてもよい。
受付装置190は、キーボード、マウス、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいたデータ、又は、スキャナの読み取り動作等によって発生する画像データ等を受け付ける。
また、タッチスクリーンのように、表示装置187と受付装置190の両方の機能を備えているものがあってもよい。その場合、キーボードの機能の実現について、物理的なキーが存在しなくても、タッチスクリーン上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。
なお、ユーザーインタフェースとして、主に、表示装置187、受付装置190が用いられる。
通信装置195は、通信回線を介して他の装置と接続するためのネットワークカード等の通信回線インタフェースである。
本実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のプログラムメモリ120にソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、本実施の形態が実現される。
なお、図1に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図1に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、プロセッサ105として、GPU(Graphics Processing Unitの略、GPGPU(General−Purpose computing on Graphics Processing Unitsの略)を含む)を用いてもよいし、一部のモジュールの実行を専用のハードウェア(例えば特定用途向け集積回路(具体例として、ASIC(Application Specific Integrated Circuitの略)等がある)や再構成可能な集積回路(具体例として、FPGA(Field−Programmable Gate Arrayの略)等がある)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図1に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
プロセッサ105は、バス198を介してメモリ110、出力装置185、受付装置190、通信装置195と接続されている。プロセッサ105は、プログラムメモリ120内のプログラムである各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する。例えば、受付装置190によってユーザーの操作を受け付けたことを契機として、その操作に対応するプログラムメモリ120内のモジュールによる処理を実行し、その処理結果をデータメモリ115に記憶させたり、表示装置187に出力したり、通信装置195を制御して他の装置に送信したりする。
メモリ110は、データメモリ115、プログラムメモリ120を有しており、バス198を介してプロセッサ105、出力装置185、受付装置190、通信装置195と接続されている。
データメモリ115は、フロー部品仕様記憶モジュール125、フロー記憶モジュール130を記憶している。
フロー部品仕様記憶モジュール125は、フローを構成する機能に対応する部品の仕様を記憶している。
ここで「部品」とは、フローを構成するものであり、独立した処理を行う処理単位である。部品は、処理部品、機能、アクティビティ、プラグイン、コネクタ等と呼ばれることもある。以下、例示する場合は、アクティビティという場合がある。これら処理単位である部品を接続してフローを作成しておくことで、フローに文書等のデータが投入されると、そのフローに従って処理が行われる。
また、「フロー」とは、部品を組み合わせた順番で、その部品の処理を実行させ、処理結果を得るための定義である。この定義に従って入力されたデータを処理していく。
また、「部品の仕様」には、その部品による処理内容、部品と部品を接続するために必要な情報を少なくとも含む。部品の仕様として、例えば、(1)その部品で処理できるファイル種別、つまり入力ファイル種別、(2)その部品による処理内容、(3)その部品で出力され得るファイル種別、がある。なお、(4)その部品で出力され得る属性情報、を含めてもよい。さらに、(5)その部品で入力できるパラメータ、を含めてもよい。
フロー記憶モジュール130は、既に完成したフローに関する情報、生成中のフローに関する情報を記憶している。
UIモジュール135は、操作受付モジュール137、表示制御モジュール139を有しており、フロー生成制御モジュール140と接続されている。UIモジュール135は、ユーザーインタフェースに関する処理を行う。
操作受付モジュール137は、受付装置190が検知したユーザーの操作を受け付ける。そのユーザーの操作にしたがって、表示制御モジュール139又はフロー生成制御モジュール140に処理を行わせる。
表示制御モジュール139は、ユーザーが選択した第1部品を基点として、フロー部品仕様記憶モジュール125内に記憶されている部品の仕様を用いて、その第1部品の前又は後の処理を行う第2部品を抽出し、その第2部品とその第1部品を表示装置187に表示するように制御する。
ここで「基点」は、一般的にフローを生成しようとしているユーザーが最初に選択した部品である。例えば、フローの中で中心的な処理を行う部品であってもよいし、ユーザーがフローの中で含めたいと考えている部品等であってもよい。
また、「その第2部品とその第1部品を表示装置187に表示する」の形態として、基点として表示されている第1部品に対して、フローとして前又は後になる部品として第2部品があることがわかるように表示すればよい。例えば、「第2部品を第1部品に隣接して表示装置に表示する」、「第2部品を第1部品と接続して表示装置に表示する」等がある。前者の例として、フローの流れとして左から右に流れるように定義した場合、つまり、左側がフローとして前であり、右側がフローとして後であるとした場合は、第2部品が第1部品より前にある場合は、第1部品の左側に第2部品を表示すればよいし、第2部品が第1部品より後にある場合は、第1部品の右側に第2部品を表示すればよい。また、フローの流れとして上から下に流れるように定義した場合、つまり、上側がフローとして前であり、下側がフローとして後であるとした場合は、第2部品が第1部品より前にある場合は、第1部品の上側に第2部品を表示すればよいし、第2部品が第1部品より後にある場合は、第1部品の下側に第2部品を表示すればよい。後者の例として、前者の例にさらに部品間を線で接続するようにしてもよい。この線は、フローの経路を示すことになる。経路は、パス、ルートともよばれる。さらに、線に矢印を付すようにすれば、矢印の先がフローとしての後になる部品であればよく、第1部品と第2部品の位置関係を規定する必要はない。例えば、第2部品が第1部品より前にある場合は、第2部品から第1部品へ向かうように矢印の線で接続すればよいし、第2部品が第1部品より後にある場合は、第1部品から第2部品へ向かうように矢印の線で接続すればよい。以下にフローの表示例を示す場合は、左側がフローとして前であり、右側がフローとして後であると定義しており、部品間を接続する線を示すようにしている。もちろんのことながら、この表示は例示であって、前述したような表示例のほか、フローとしての流れがわかるような表示であればよい。この処理については、図5の例を用いて後述する。
そして、表示制御モジュール139は、第1部品の前の処理を行う第2部品を抽出した後に、さらに、その第2部品の前の処理を行う第3部品を抽出し、その第3部品とその第2部品を表示装置187に表示するように制御する。
そして、第2部品の前の処理を行う第3部品を抽出した後に、さらに、その第3部品の前の処理を行う第4部品を抽出し、その第4部品をその第3部品と接続して表示装置187に表示するように制御する、以下、このような処理を続けてもよい。そして、抽出した部品が入力元である場合になるまで続ける。
又は、表示制御モジュール139は、第1部品の後の処理を行う第2部品を抽出した後に、さらに、その第2部品の後の処理を行う第3部品を抽出し、その第3部品とその第2部品を表示装置187に表示するように制御する。
そして、第2部品の後の処理を行う第3部品を抽出した後に、さらに、その第3部品の後の処理を行う第4部品を抽出し、その第4部品をその第3部品と接続して表示装置187に表示するように制御する、以下、このような処理を続けてもよい。そして、抽出した部品が出力先である場合になるまで続ける。
表示形態として、第3部品をその第2部品と接続して表示装置187に表示するようにしてもよい。この処理については、図5の例を用いて後述する。
また、表示制御モジュール139は、基点となる第1部品以外の部品が選択された場合は、その選択された部品からその第1部品までの経路を抽出し、その経路を表示装置187に表示するよう制御するようにしてもよい。この処理については、図6A、図6Bの例を用いて後述する。
また、表示制御モジュール139は、経路が選択された場合は、その経路上の部品と同じ階層にある部品を表示装置187から削除するよう制御するようにしてもよい。
「経路上の部品と同じ階層にある部品を削除する」ことによって、経路以外の部品が削除されるので、選択された部品から基点となる第1部品までの経路が明確に表示されることになる。この処理については、図6Cの例を用いて後述する。
ここでの「階層」とは、基点となる第1部品から数えて同じ数となる部品群をいう。例えば、第1部品の直前に処理を行う部品群は同じ階層に属しており、第1部品の2つ前に処理を行う部品群は同じ階層に属しており、以下、同様に階層に分かれる。第1部品の後に処理を行う部品についても、第1部品の直後に処理を行う部品群は同じ階層に属しており、第1部品の2つ後に処理を行う部品群は同じ階層に属しており、以下、同様に階層に分かれる。
また、表示制御モジュール139は、経路が複数ある場合は、経路を選択できるように、経路リストを表示装置187に表示するよう制御するようにしてもよい。
そして、表示制御モジュール139は、経路が選択された場合は、その経路に関する情報を表示装置187に表示するよう制御するようにしてもよい。これらの処理については、図7の例を用いて後述する。
また、表示制御モジュール139は、選択された経路を部品として選択可能にし、部品とその経路は異なる形態で表示装置187に表示するよう制御するようにしてもよい。つまり、複数の部品からなる経路を部品と同等に扱えるようにするが、中身が経路であることをユーザーにわからせるために、経路である部品の表示形態を一般的な部品とは異ならせるようにする。例えば、一般的な部品の表示形態を単なる矩形とした場合に、経路である部品の表示形態として、押しボタンのような立体的な形状に見せるための模様を付したり、色を異ならせたり、文字を付加したり、動的に変化すること(例えば、フラッシュ、アニメーション等)、点滅(点滅における変更対象は、点滅を行うか否か、点滅を行っている期間、点滅の間隔等がある)、又は、これらの組み合わせであってもよい。この処理については、図8の例を用いて後述する。
また、表示制御モジュール139は、表示装置187に表示された部品の仕様に関する情報が変更された場合は、その変更された情報にしたがって、その部品に接続される部品を抽出し直して、表示装置187に表示するよう制御するようにしてもよい。
ここで「部品の仕様に関する情報」とは、部品間の接続を変更させ得る情報である。例えば、前述した「部品の仕様」のうち、(1)その部品で処理できるファイル種別、(3)その部品で出力され得るファイル種別、(4)その部品で出力され得る属性情報、(5)その部品で入力できるパラメータ、が該当する。
「部品の仕様に関する情報が変更された」とは、ユーザーの操作に応じて変更された場合が該当する。例えば、元の仕様が複数のファイル種別を許容している場合に、いずれかのファイル種別に固定すること、パラメータを変更すること等が該当する。この処理については、図9の例を用いて後述する。
また、表示制御モジュール139は、基点となる第1部品以外の部品について、過去の利用回数が多い部品ほどその第1部品に近くなるように、その部品を表示装置187に表示するよう制御するようにしてもよい。
例えば、第1部品を中央に表示することによって、過去の利用回数が多い部品ほど中央に近くなるように表示することになる。
また、利用回数として、ユーザーによって過去に生成されたフローにおける第1利用回数と、過去に生成された全体のフローにおける第2利用回数を用いるようにしてもよい。
その場合、表示制御モジュール139は、第1利用回数と第2利用回数に分けて、部品を表示装置187に表示するよう制御するようにしてもよい。
ここで「第1利用回数」は、そのユーザーが過去に生成したフローを対象とする場合の利用回数であり、「第2利用回数」は、そのユーザーに限らず、他のユーザーも含めて過去に生成されたフローを対象とする場合の利用回数である。これらの処理については、図10の例を用いて後述する。
また、表示制御モジュール139は、第2利用回数が同じである場合は、第1利用回数が多い部品ほど、その部品の表示の大きさを大きくして、表示装置187に表示するよう制御するようにしてもよい。ここで比較対象とする部品は、同じ階層内にある部品としてもよい。つまり、表示制御モジュール139は、同じ階層に属している部品において第2利用回数が同じである場合は、第1利用回数が多い部品ほど、その部品の表示の大きさを大きくして、表示装置187に表示するよう制御するようにしてもよい。
また、表示制御モジュール139は、基点となる第1部品から数えて第n階層の部品の表示の大きさを、第n−1階層の部品の大きさよりも小さくして、表示装置187に表示するよう制御するようにしてもよい。なお、階層は、基点となる第1部品を第0階層とした場合、前述の第2部品が含まれている階層が第1階層であり、前述の第3部品が含まれている階層が第2階層である。この場合、第3部品の表示は、第2部品の表示よりも小さくなる。つまり、階層が深くなるほど(基点となる第1部品から遠ざかるほど)、その階層における部品の表示は小さくなる。また、このように階層が深くなるほど部品の大きさを小さく表示するのは、第1利用回数、第2利用回数、第1利用回数と第2利用回数の合計数のいずれかが、少ない部品について適用するようにしてもよい。なお、ここでの「少ない」とは、予め定められた回数未満又は以下としてもよいし、回数の多い順(降順)にソートした場合に予め定められた順位未満又は以下としてもよいし、回数の少ない順(昇順)にソートした場合に予め定められた順位より高位又は以上としてもよい。
また、表示制御モジュール139は、基点となる第1部品が入力元である場合は、その第1部品の後の処理を行う第2部品を抽出し、その第2部品をその第1部品を表示装置187に表示するよう制御するようにしてもよい。つまり、基点がフローの先頭となる部品である場合の処理である。
また、表示制御モジュール139は、基点となる第1部品が出力先である場合は、その第1部品の前の処理を行う第2部品を抽出し、その第2部品をその第1部品を表示装置187に表示するよう制御するようにしてもよい。つまり、基点がフローの最後となる部品である場合の処理である。
また、表示制御モジュール139は、基点となる第1部品が入力元以外であって、かつ、出力先以外である場合は、その第1部品の前及び後の処理を行う第2部品を抽出し、その第2部品をその第1部品を表示装置187に表示するよう制御するようにしてもよい。つまり、基点がフローの先頭でもなく、最後でもない部品である場合の処理である。要するに、基点がフローの中間にある部品である場合の処理である。これらの処理については、図12の例を用いて後述する。
フロー生成制御モジュール140は、UIモジュール135と接続されている。フロー生成制御モジュール140は、フローの生成に関する処理を行う。表示制御モジュール139に対して、前述したような表示制御を行わせるための処理を行う。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
図2(a)の例は、スタンドアロン型のシステム構成を示しており、ユーザー端末200は、情報処理装置100を有している。ユーザーは、情報処理装置100を用いてフローの生成を行う。なお、情報処理装置100のフロー部品仕様記憶モジュール125には、そのユーザーによる部品毎の利用回数だけでなく、予め他のユーザーも含めて過去に生成されたフローに利用された部品毎の利用回数を記憶している。また、ユーザー端末200の通信機能を用いて、他の情報処理装置から他のユーザーによる利用回数を受信するようにしてもよい。
図2(b)の例は、ネットワーク型のシステム構成を示しており、情報処理装置100、ユーザー端末210A、ユーザー端末210B、フローデータ記憶装置250は、通信回線290を介してそれぞれ接続されている。フローデータ記憶装置250は、データメモリ115を有している。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置100による機能は、クラウドサービスとして実現してもよい。
ユーザーは、ユーザー端末210を用いて、情報処理装置100にアクセスし、フローの生成を行う。また、情報処理装置100は複数、通信回線290に接続されていてもよい。その場合、各情報処理装置100は、フローデータ記憶装置250内のデータメモリ115を用いるようにしてもよい。これによって、他の情報処理装置100で生成されたフローに関する情報も用いることができるようになる。
情報処理装置100は、例えば、フローマネジメントシステムを構成する。例えば、アクティビティと呼ばれる各々独立した部品を組み合わせたフローを定義しておき、フローマネジメントシステムに投入された文書に対し、定義されたフローに従って処理を行う。
アクティビティとして、例えば、以下のようなものがある。
−親展ボックス入力アクティビティ:アクティビティの設定ユーザーインタフェースにて、事前に「Jpegで取得する」が設定されている。
−フォーマット変換アクティビティ:アクティビティの設定ユーザーインタフェースにて、事前に「JpegをTiffに変換する」が設定されている。
−QRコード(登録商標)解析アクティビティ:アクティビティの設定ユーザーインタフェースにて、事前に「最初ページのQRコードを解析して、解析結果を後段プラグインで使用できるようパラメータと後段に渡す」が設定されている。
−文書名設定アクティビティ:アクティビティの設定ユーザーインタフェースにて、事前に「QRコードの解析結果を、ファイル名にセットする」が設定されている。
−フォルダ保存アクティビティ:アクティビティの設定ユーザーインタフェースにて、事前に「指定した共有フォルダに、ファイルを保存する」が設定されている。
そして、例えば、このアクティビティ群が上から順に実行されていくようなフローを生成したとする。スキャナ等にてスキャンされた文書は、“親展ボックス入力”アクティビティでJpegのイメージとして、フローマネジメントシステムに取り込まれ、“フォーマット変換”アクティビティでJpegからTiffに変換され、“QRコード解析”アクティビティで、Tiff上のQRコードを読み取り、QRコードに含まれる文字列を抽出し、“文書名設定”アクティビティで、QRコードより得られた文字列を、文書名(ファイル名)に設定し、“フォルダ保存”アクティビティで、所定されたフォルダに保存される。フローを実行することによって、これら一連の処理が自動的に行われることになる。
また、フローマネジメントシステムの別の例として、アクティビティの一例であるWebサービスを連携して自動化させるサービスがある。このサービスでも、アクティビティ(独立した各種Webサービス)や、テンプレート(予めアクティビティを複数つなげて作成しておいたWebサービス)を、組み合わせて処理するフローを定義しておくと、トリガーの発生により、そのフローに従った処理が自動的に行われる仕組みが提供されている。
このように、自分がやりたいことを、各々独立したアクティビティを組み合わせたフローで定義しておき、そのフローにデータを流すことで、一連の処理を自動的に行い、結果を得るシステムが存在する。
このようなフローを生成する場合、フローの中に、下記3つの設定を行う必要がある。
・データを取り込む「入力元」
・取り込んだデータに対する何らかの処理を行う「加工」
・加工したデータを出力する「出力先」
このようなシステムでフローを構築する場合、予め「フローを使って、やりたいことが、すべて明確になっている」、又は、「どの機能を組み合わせてフローを作成すればよいか決まっている(つまり、フロー設計が終わっている)」場合は、簡単にフローを生成することができる。しかし、やりたいことの一部しか決まっていない場合、例えば「データに対して、ある処理をやって、結果を得たい。でも、どこからデータを取り込む(入力元)か、どこに出力したい(出力先)か、は決まっていない」、「入力元(又は、出力先)は決まっているが、どこに出力(又は、入力)すればよいかは、決まっていない」、「入力元と出力先は決まっているが、その間で有効な処理を行いたい」等といった場合は、フローの生成が困難である。
前述したWebサービスを連携させる実際のサービスでは、システムに登録されたアクティビティ数は少ないものでも100個以上、多いものでは400個以上存在している。
そのため、ユーザーは、数多くのアクティビティの中から、どのアクティビティを、どのように組み合わせて、目的を達成するフローを定義すればよいかについて、予めフローを設計し、各アクティビティを確認及び検討しながら作成していく必要がある。
つまり、このようなシステムでフローを構築する場合、機能を1つずつ組み合わせて、実際にフローを生成しながら、自分のやりたい事に合致しているか確認していくしかない。
なお、検索を利用して、やりたい機能を見つけていく方法も考えられる。しかし、検索結果から所望の機能を見つけ出すのは困難であり、仮に、検索結果からやりたい機能が見つけられても、前後のどの機能を結び付けてフローを作成していけばよいかは、やはり実際にフローを生成しながら、確認していくしかない。
また、予め用意されたテンプレートを使う方法も考えられる。しかし、そのテンプレートで何ができるか、予め知っておく必要がある。
また、ウィザード形式によるフロー作成では、あらかじめ組みたいフローがわかっていないと作成できない。
つまり、フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、その部品を全て決定した上で、フローを生成する必要がある。しかし、ユーザーが全ての部品の仕様を把握することは困難であり、フロー生成の障壁となる。
そこで、本実施の形態は、フローを構成する機能に対応する部品を組み合わせて、ユーザーがフローを生成する場合に、ユーザーが全ての部品の仕様を把握した上で生成しなければならない構成と比べて、ユーザーによるフロー生成の障壁を下げるようにしている。具体的には、フローとして処理したいことの一部しか決まっていない場合でも、フローを生成できるようにしており、フロー生成の利用開始の障壁が下がることになる。ひいては、フローマネジメントシステムの導入をしやすくなると考えられる。
本実施の形態による具体的な処理例として、以下のことを行う。
ユーザーが利用したいアクティビティを1つ最初に指定すると、そのアクティビティの前後に接続できるアクティビティを、関連図で表示する。この関連図は、複数階層で表示する。そして、関連図上のいずれかのアクティビティが1つ選択されると、最初に指定したアクティビティに至るまでの、部分フローにおいて、
・入力可能なファイル形式
・その部分フローで実行可能な処理内容
・出力可能なファイル形式と属性データ
のうち、少なくとも1つ以上が一覧表示される。ユーザーは、それを参照しながら、部分フローを確定させていき、フローを生成していくことができることになる。
図3は、アクティビティ一覧画面300の表示例を示す説明図である。
表示制御モジュール139は、フロー部品仕様記憶モジュール125に登録されているアクティビティを一覧表示する。例えば、アクティビティ一覧画面300に、アクティビティ登録位置指定欄310、新規追加ボタン320、アクティビティ一覧領域330を表示する。アクティビティ一覧領域330には、複数のアクティビティ340(アクティビティ340a〜アクティビティ340o)を表示する。そして、アクティビティ一覧領域330の各アクティビティ340の下側には、例えば、図4に示すアクティビティ属性登録画面400で登録した「名前」が表示されている。
アクティビティを新規に情報処理装置100に登録する場合には、新規追加ボタン320を選択して登録する。新規追加ボタン320が選択されたことを検知した場合は、図4の例に示すアクティビティ属性登録画面400を表示する。
図4は、アクティビティ属性登録画面400の表示例を示す説明図である。
表示制御モジュール139は、アクティビティを登録するための画面であるアクティビティ属性登録画面400を表示する。例えば、アクティビティ属性登録画面400に、アクティビティ登録位置指定欄410、アクティビティID欄415、アクティビティデータ欄420、登録ボタン425、属性情報設定欄430を表示する。アクティビティ登録位置指定欄410には、そのアクティビティが記憶されているURL(Uniform Resource Locatorの略)を表示する。アクティビティID欄415には、そのアクティビティを本実施の形態で一意に識別するための情報(アクティビティID:IDentificationの略)を表示する。アクティビティデータ欄420には、そのアクティビティが処理するデータを表示する。登録ボタン425が選択された場合は、アクティビティ属性登録画面400内で定義されたアクティビティをフロー部品仕様記憶モジュール125に登録する。
属性情報設定欄430には、属性情報となる名前欄432、説明欄434、入力可能ファイル種別欄436、出力可能ファイル種別欄438、出力可能属性データ欄440を入力可能に表示する。名前欄432には、そのアクティビティの名前を表示する。説明欄434には、そのアクティビティが有している機能、処理内容等を表示する。入力可能ファイル種別欄436には、そのアクティビティが入力可能なファイルの種別を表示する。出力可能ファイル種別欄438には、そのアクティビティが出力可能なファイルの種別を表示する。出力可能属性データ欄440には、そのアクティビティが出力可能なデータ属性を表示する。なお、そのアクティビティが入力可能なデータ属性を表示するようにしてもよい。
ユーザーのそれぞれの欄への入力によって、アクティビティが定義され、フロー部品仕様記憶モジュール125に登録されることによって、例えば、図3に示したアクティビティ一覧画面300にフローの構成候補であるアクティビティ340として選択可能に表示されることになる。
図5は、本実施の形態の処理例を示す説明図である。
ユーザーが最初に指定したアクティビティに対し、そのアクティビティの前後に接続できるアクティビティを、階層に表現される関連図で表示する。ここで「最初に指定したアクティビティ」は、基点となるアクティビティとなる。
次に、ユーザーが関連図上の任意のアクティビティを選択すると、選択されたアクティビティと、基点となるアクティビティに至るまでの経路を抽出する。そして、その経路について、
・入力可能ファイル種別(例えば、ファイル拡張子のリスト等)
・実行される処理内容(例えば、アクティビティ名のリスト等)
・出力可能ファイル種別(例えば、ファイル拡張子のリスト等)
・出力可能属性データ(例えば、属性名と属性の型(string,list,numetricなど)のリスト)
のうち、少なくとも1つ以上が参照できるとする。ユーザーは、参照したデータが、自分のやりたい事と合致していると確認した場合は、その経路である部分フローを確定する。
これを繰り返すことで、全体のフローを生成していく。
図5の例を用いて、より詳細に説明する。
(ステップ1)
図5(a)の例に示すように、アクティビティの一覧を内容とするアクティビティ一覧画面300を表示する。
(ステップ2)
ユーザーの操作によって、そのユーザーが使用したいアクティビティ(例えば、文字認識処理)が1つ選択されたことを検知すると、フロー生成制御モジュール140で、そのアクティビティを中心として、前後に接続可能なアクティビティを抽出する。
具体的には、図5(a)の例に示すように、アクティビティ340dが選択された場合、図5(b)の例に示すように、アクティビティ340dを中心のアクティビティ550として、アクティビティ550の前に接続できるアクティビティ群を抽出し、前第一階層540に配置する。図5(b)の例では、アクティビティ550の前に接続できるアクティビティとして5つ抽出し、前第一階層540に配置している。次に、前第一階層540内の各アクティビティの前に接続できるアクティビティ群を抽出し、前第二階層530に配置する。図5(b)の例では、前第一階層540内の各アクティビティの前に接続できるアクティビティとして7つ抽出し、前第二階層530に配置している。前第二階層530内の各アクティビティの前に接続できるアクティビティとして6つ抽出し、前第三階層520に配置している。これを繰り返し、入力元となるアクティビティが出現するまで、各アクティビティの前に接続できるアクティビティを抽出する。
アクティビティAの前に接続できるアクティビティBを抽出するのに、各アクティビティの属性情報を利用する。具体的には、アクティビティAの入力ファイル種別が、アクティビティBの出力ファイル種別内に含まれていることを条件として抽出すればよい。さらに、アクティビティAの入力できるパラメータが、アクティビティBで出力され得る属性情報に含まれていることを条件として付加して抽出してもよい。
逆方向に、図5(a)の例に示すように、アクティビティ340dが選択された場合、図5(b)の例に示すように、アクティビティ340dを中心のアクティビティ550として、アクティビティ550の後に接続できるアクティビティ群を抽出し、後第一階層560に配置する。図5(b)の例では、アクティビティ550の後に接続できるアクティビティとして4つ抽出し、後第一階層560に配置している。次に、後第一階層560内の各アクティビティの後に接続できるアクティビティ群を抽出し、後第二階層570に配置する。図5(b)の例では、後第一階層560内の各アクティビティの後に接続できるアクティビティとして5つ抽出し、後第二階層570に配置している。後第二階層570内の各アクティビティの後に接続できるアクティビティとして6つ抽出し、後第三階層580に配置している。これを繰り返し、出力先となるアクティビティが出現するまで、各アクティビティの後に接続できるアクティビティを抽出する。
アクティビティCの後に接続できるアクティビティDを抽出するのに、各アクティビティの属性情報を利用する。具体的には、アクティビティCの出力ファイル種別が、アクティビティDの入力ファイル種別内に含まれていることを条件として抽出すればよい。さらに、アクティビティCの出力され得る属性情報が、アクティビティDで入力できるパラメータに含まれていることの条件として付加して抽出してもよい。
(ステップ3)
そして、表示制御モジュール139は、その抽出したアクティビティを多階層で表した関連図を作成し、表示する。なお、表示の際、起点となるアクティビティから抽出した前後複数階層のアクティビティの関係性がわかるよう、接続できるアクティビティ間を、線で繋いで表示する。
例えば、上述の記述を使って説明する。
起点のアクティビティから抽出された(起点のアクティビティのすぐ前に配置できる)アクティビティA、更にアクティビティAのすぐ前に配置できるアクティビティBがあった場合、起点のアクティビティとアクティビティA、アクティビティAとアクティビティBを、それぞれ点線で繋いで表示する。
同様に、起点のアクティビティから抽出された(起点のアクティビティのすぐ後に配置できる)アクティビティC、更にアクティビティCのすぐ後に配置できるアクティビティDがあった場合、起点のアクティビティとアクティビティC、アクティビティCとアクティビティDを、それぞれ点線で繋いで表示する。
・基点となるアクティビティより左側は、そのアクティビティより前方に接続可能なアクティビティを階層的に表示する。
・基点となるアクティビティより右側は、そのアクティビティより後方に接続可能なアクティビティを階層的に表示する。
基点となるアクティビティにおいて、
・入力可能ファイル種別(例えば、ファイル拡張子のリスト等)
・実行される処理内容(例えば、アクティビティ名のリスト等)
・出力可能ファイル種別(例えば、ファイル拡張子のリスト等)
・出力可能属性データ(例えば、属性名と属性の型(string,list,numetric等)のリスト)
を表示する。
例えば、フロー生成画面500には、前第三階層520、前第二階層530、前第一階層540、アクティビティ550、後第一階層560、後第二階層570、後第三階層580、アクティビティ属性情報表示領域552を表示する。
具体的には、図5(c)の例に示すように、フロー生成画面500の中央に、アクティビティ550を表示し、ステップ2で抽出した各層のアクティビティ群を表示する。具体的には、アクティビティ550の左側に前第一階層540の領域を設定し、その中に5つのアクティビティを表示し、前第一階層540の左側に前第二階層530の領域を設定し、その中に7つのアクティビティを表示し、前第二階層530の左側に前第三階層520の領域を設定し、その中に6つのアクティビティを表示する。
逆方向に、アクティビティ550の右側に後第一階層560の領域を設定し、その中に4つのアクティビティを表示し、後第一階層560の右側に後第二階層570の領域を設定し、その中に5つのアクティビティを表示し、後第二階層570の右側に後第三階層580の領域を設定し、その中に6つのアクティビティを表示する。
そして、アクティビティ550の近隣にアクティビティ属性情報表示領域552を表示する。アクティビティ属性情報表示領域552は、アクティビティ550の属性情報を表示する領域であり、例えば、アクティビティ属性情報表示領域552において、「入力可能ファイル種別」は「tiff,xdw」であり、「実行可能な処理」は「文字認識処理」であり、「出力可能ファイル種別」は「tiff,xdw」であり、「出力可能属性データ」は「文字認識処理結果(string)」であることを示している。アクティビティ属性情報表示領域552内の属性情報は、アクティビティ属性登録画面400によって定義されたものであり、フロー部品仕様記憶モジュール125に記憶されている。
図6は、本実施の形態の処理例を示す説明図である。
(ステップ4)
選択した「基点となるアクティビティ」だけでは、
・やりたい事が出来ない場合、
又は、
・やりたい事はできるが、
・入力元、出力先を決めたり
・その他、補足的にやりたい機能を見つけたり
したい場合は、ユーザーは、前方又は後方にある別のアクティビティを選択する操作を行う。
前方のアクティビティを1つ選択すると、その選択したアクティビティから、基点となるアプティビティまでのパスをハイライト表示し、そのパスである部分フローにおける入力可能ファイル種別、実行可能な処理、出力可能ファイル種別、出力可能属性データを参照できるように表示する。
具体的には、図6A(a1)の例に示すように、アクティビティ550の前方にあるアクティビティ522がユーザーによって選択されたとする。アクティビティ522からアクティビティ550へのパスを抽出する。そのパスは、アクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550となる。つまり、フロー生成画面500内のアクティビティ522がユーザーの操作によって選択された場合、アクティビティ522からアクティビティ550へのパスを生成するために、前第二階層530からアクティビティ532、前第一階層540からアクティビティ542が抽出されて、アクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550のパスが形成されることになる。
そして、このパスを構成するアクティビティ群をハイライト表示する。ハイライト表示として、パスに含まれているアクティビティを、パスに含まれていないアクティビティと区別できるように表示できていればよい。区別する表示形態として、例えば、形状、模様、色彩、動的に変化させること、点滅、又は、これらの組み合わせであってもよい。
そして、図6A(a2)の例に示すように、アクティビティ522からアクティビティ550へのパス(部分フロー)についての属性情報を、部分フロー属性情報表示領域652に表示する。具体的には、部分フロー属性情報表示領域652において、「入力可能ファイル種別」は「ff,bmp,pngti,jpg」であり、「実行可能な処理」は「フォーマット変換→文書名変換→イメージ加工→文字認識処理」であり、「出力可能ファイル種別」は「tiff,xdw」であり、「出力可能属性データ」は「文書フォーマット名(string)、回転角度(string)、文字認識処理結果(string)」であることを示している。「入力可能ファイル種別」は、部分フローの先頭にあるアクティビティ522の「入力可能ファイル種別」を用いればよい。「実行可能な処理」は、部分フローを構成しているアクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550の「実行可能な処理」を合成すればよい。「出力可能ファイル種別」は、部分フローの最後にあるアクティビティ550の「出力可能ファイル種別」を用いればよい。「出力可能属性データ」は、部分フローを構成しているアクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550の「出力可能属性データ」を組み合わせればよい。
後方のアクティビティを1つ選択すると、基点となるアクティビティから、その選択したアクティビティまでのパスをハイライト表示し、そのパスである部分フローにおける入力可能ファイル種別、実行可能な処理、出力可能ファイル種別、出力可能属性データを参照できるように表示する。
具体的には、図6B(b1)の例に示すように、アクティビティ550の後方にあるアクティビティ572がユーザーによって選択されたとする。アクティビティ550からアクティビティ572へのパスを抽出する。そのパスは、アクティビティ550、アクティビティ562、アクティビティ572となる。つまり、フロー生成画面500内のアクティビティ572がユーザーの操作によって選択された場合、アクティビティ550からアクティビティ572へのパスを生成するために、アクティビティ572からアクティビティ562、アクティビティ562からアクティビティ550が抽出されて、アクティビティ550、アクティビティ562、アクティビティ572のパスが形成されることになる。
そして、図6A(a2)と同様に、このパスを構成するアクティビティ群をハイライト表示する。
そして、図6B(b2)の例に示すように、アクティビティ550からアクティビティ572へのパス(部分フロー)についての属性情報を、部分フロー属性情報表示領域654に表示する。具体的には、部分フロー属性情報表示領域654において、「入力可能ファイル種別」は「png,jpg」であり、「実行可能な処理」は「文字認識解析→Barcode解析→フォルダ保存」であり、「出力可能ファイル種別」は「tiff,xdw」であり、「出力可能属性データ」は「文字認識処理結果(text)、Barcode解析結果(text)、出力ファイル名(text)、出力先(text)」であることを示している。「入力可能ファイル種別」は、部分フローの先頭にあるアクティビティ550の「入力可能ファイル種別」を用いればよい。「実行可能な処理」は、部分フローを構成しているアクティビティ550、アクティビティ562、アクティビティ572の「実行可能な処理」を合成すればよい。「出力可能ファイル種別」は、部分フローの最後にあるアクティビティ572の「出力可能ファイル種別」を用いればよい。「出力可能属性データ」は、部分フローを構成しているアクティビティ550、アクティビティ562、アクティビティ572の「出力可能属性データ」を組み合わせればよい。
(ステップ5)
フローに使用したいアクティビティを選択し、[確定]ボタンが選択されると、部分フローが作成されて、更に、その前後のアクティビティ候補を表示する。例えば、図6C(c1)の例に示すように、アクティビティ522からアクティビティ550へのパスを採用するために、ユーザーによって選択された場合、そのパスに属しているアクティビティだけを表示し、それらのアクティビティと同じ階層に属していたアクティビティをフロー生成画面500から削除する。これによって、アクティビティ522と同じ階層にあった他のアクティビティ、アクティビティ532と同じ階層にあった他のアクティビティ、アクティビティ542と同じ階層にあった他のアクティビティは、ユーザーにとって見えなくなり、そのパスを構成しているアクティビティだけが見えることになる。
(ステップ6)
これを繰り返し行っていくことで、フローを生成していく。例えば、図6C(c2)の例に示すように、アクティビティ550の後方にあるアクティビティ572がユーザーによって選択されたとする。アクティビティ550からアクティビティ572へのパスを抽出する。そのパスは、アクティビティ550、アクティビティ562、アクティビティ572となる。つまり、フロー生成画面500内のアクティビティ572がユーザーの操作によって選択された場合、アクティビティ550からアクティビティ572へのパスを生成するために、アクティビティ572からアクティビティ562、アクティビティ562からアクティビティ550が抽出されて、アクティビティ550、アクティビティ562、アクティビティ572のパスが形成されることになる。
そして、図6B(b2)と同様に、このパスを構成するアクティビティ群をハイライト表示する。
そして、アクティビティ522からアクティビティ572へのパス(部分フロー)についての属性情報を、部分フロー属性情報表示領域656に表示する。具体的には、部分フロー属性情報表示領域656において、「入力可能ファイル種別」は「tiff,bmp,png,jpg」であり、「実行可能な処理」は「フォーマット変換→文書名変換→イメージ加工→文字認識処理→フォーマット変換→フォルダ保存」であり、「出力可能ファイル種別」は「tiff,xdw,pdf,txt,docx」であり、「出力可能属性データ」は「文書フォーマット名(text)、文書名(text)、回転角度(text)、文字認識処理結果(text)」であることを示している。「入力可能ファイル種別」は、部分フローの先頭にあるアクティビティ522の「入力可能ファイル種別」を用いればよい。「実行可能な処理」は、部分フローを構成しているアクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550、アクティビティ562、アクティビティ572の「実行可能な処理」を合成すればよい。「出力可能ファイル種別」は、部分フローの最後にあるアクティビティ572の「出力可能ファイル種別」を用いればよい。「出力可能属性データ」は、部分フローを構成しているアクティビティ522、アクティビティ532、アクティビティ542、アクティビティ550、アクティビティ562、アクティビティ572の「出力可能属性データ」を組み合わせればよい。
ステップ3、ステップ4により、
・ユーザーは、自分のやりたいことが、1つのアクティビティで実現できるのか、複数のアクティビティの組合せでないと実現できないのか、についてわかるようになる。つまり、1つのアクティビティで実現できる場合は、最初に選択したアクティビティは単独のままであり、前方及び後方に接続するアクティビティがない。複数のアクティビティの組合せでないと実現できない場合は、最初に選択したアクティビティの前方又は後方に接続するアクティビティが存在している。
・ユーザーは、やりたい機能の前後に、どの機能と連携してフローを作成していけばよいのか、についてわかるようになる。つまり、基点となるアクティビティに接続可能なアクティビティが表示されているので、それを選択することでフローを生成することができるようになる。
これにより、ユーザーは、自分のやりたい事を、フローとして生成することができるようになる。また、ユーザーは、全てのアクティビティの内容や、フローの作りの全体を把握しなくても、やりたい事からフローの生成を開始できるようになる。
図7は、本実施の形態の処理例を示す説明図である。
基点となるアクティビティと、選択されたアクティビティに、至るまで、複数のパスが存在する場合は、それらパスをハイライト表示するとともに、パスのリストを表示する。パスの表示順序として、例えば、よく使用する順等で表示してもよい。パスリストからユーザーが選択したパスの部分フローは、選択ハイライト表示し、その部分フローにおける入力可能ファイル種別、実行可能な処理、出力可能ファイル種別、出力可能属性データを表示する。
図7(a)では、基点としてのアクティビティ550があり、アクティビティ526が選択された場合に、2つのパスがあることを示している例である。具体的には、アクティビティ526、アクティビティ532、アクティビティ542、アクティビティ550のパスと、アクティビティ526、アクティビティ536、アクティビティ548、アクティビティ550のパスの2つである。そして、選択したアクティビティ526の近辺に経路選択領域710を表示する。経路選択領域710は、アクティビティ526からアクティビティ550に行くには、「経路1」、「経路2」があり、いずれかを選択可能であることを示している。
図7(b)では、経路選択領域710内の「経路2」が選択された場合に、部分フロー属性情報表示領域752を表示する例を示している。部分フロー属性情報表示領域752において、「経路2」の属性情報として、「入力可能ファイル種別」は「ff,bmp,png,jpg」であり、「実行可能な処理」は「フォーマット変換→文書名変換→イメージ加工→文字認識処理」であり、「出力可能ファイル種別」は「tiff,xdw」であり、「出力可能属性データ」は「文書フォーマット名(string)、回転角度(string)、文字認識処理結果(string)」であることを示している。
図8は、本実施の形態の処理例を示す説明図である。
選択されたパスを新たなアクティビティとして選択可能にし、一般的なアクティビティと中身がパスであるアクティビティは異なる表示形態で表示する。アクティビティとして選択可能にしたパスは、完成したフローであってもよいし、完成前の部分フローであってもよい。
(ステップ7)
図8(a)の例に示すように、前述の処理を繰り返して部分フローを組み上げて確定させ、全体のフローとなる完成フロー810を生成する。
(ステップ8)
図8(b)の例に示すように、部分フロー、および、完成フロー810は、フロー記憶モジュール130に登録され、アクティビティ一覧画面850に表示される。
アクティビティ一覧画面850内のアクティビティ一(パス)890fは、図8(a)の例で形成された、部分フロー、または、完成フロー810もアクティビティ一として選択可能としている。ただし、アクティビティ一(パス)890fの表示形態は、アクティビティ一890aのような他のアクティビティの表示形態とは異なるようにしている。具体的には、アクティビティ一(パス)890fは、押しボタンのような立体的な形状に見せるための模様を付している。なお、一般的なアクティビティ一890aは、単独のアクティビティであり、フローではない。アクティビティ一(パス)890fは、複数のアクティビティによって構成されているフローである。
図9は、本実施の形態の処理例を示す説明図である。
アクティビティの仕様に関する属性情報が変更された場合は、その変更された属性情報にしたがって、アクティビティに接続される他のアクティビティを抽出し直して、表示し直す例を示している。
まず、図9(a)の例に示すように、ユーザーの操作にしたがって、アクティビティ950aの属性情報を変更する。例えば、アクティビティ950aが選択され、属性情報を変更するための操作を受け付けた場合に、アクティビティ950aの属性情報を表示するアクティビティ属性情報表示領域952を表示する。アクティビティ属性情報表示領域952は、図4の例に示したアクティビティ属性登録画面400と同等のものである。アクティビティ属性情報表示領域952内を操作して、属性情報の変更として、例えば、複数のパラメータがある場合に、パラメータの数を減少させること等がある。例えば、「入力可能ファイル種別」として「tiff,Jpeg」であったところを「tiff」に限定する等の変更が行われる。また、「出力可能属性データ」として「(a,string),(b,list),(c,numetric)」であったところを「(a,string)」に限定する等の変更が行われる。
アクティビティ950aの属性情報の変更に応じて、アクティビティ950aに接続可能なアクティビティを抽出し直し、フロー生成画面900にその結果を表示する。
アクティビティ950bは、図9(a)の例でアクティビティ950aのアクティビティ属性情報表示領域952内の処理パラメータをユーザーの操作にしたがって変更した結果、図9(b)の例に示すように、アクティビティ950bと接続可能なアクティビティBが変わり(具体的には、前第一階層940、後第一階層960内のアクティビティ)、さらにそのアクティビティBが変わることによって、そのアクティビティBと接続可能なアクティビティCが変わり(具体的には、前第二階層930、後第二階層970内のアクティビティ)、以下同様に接続可能なアクティビティが変わることになる。具体的には、属性情報の変更前では、アクティビティ950aの前方に接続可能なアクティビティとして前第一階層940内には5つあったが、図9(b)の例に示すように、属性情報の変更後では、アクティビティ950aに接続可能なアクティビティとして前第一階層940内では3つに減少している。さらに、それに伴って、前第二階層930内の7つのアクティビティが、属性情報の変更後では、前第二階層930内では5つのアクティビティに減少している。また、属性情報の変更前では、アクティビティ950aの後方に接続可能なアクティビティとして後第一階層960内には3つあったが、図9(b)の例に示すように、属性情報の変更後では、アクティビティ950aに接続可能なアクティビティとして後第一階層960内では2つに減少している。さらに、それに伴って、後第二階層970内の5つのアクティビティが、属性情報の変更後では、後第二階層970内では2つのアクティビティに減少している。同様に、後第三階層980についても減少している。逆に、各階層でアクティビティが増加する場合もあるし、各階層のアクティビティそのものが変わることもある。
このように、ユーザーが実際に使用するパラメータに限定した関係図から、部分フローを確認、確定できるようになる。ひいては、ユーザーがやりたいことに即したフローを作成できるようになる。
図10は、本実施の形態の処理例を示す説明図である。
基点となるアクティビティA以外のアクティビティBについて、過去の利用回数が多いアクティビティBほどアクティビティAに近くなるように、アクティビティBを表示する例を示すものである。利用回数として、現在のユーザーによって過去に生成されたフローにおける利用回数Xと、過去に生成された全体のフローにおける利用回数Yがあり、利用回数Xと利用回数Yに分けて、アクティビティBを表示してもよい。
具体的には、ユーザー自身で登録したフローの登録履歴情報、他のユーザーも登録したフローの登録履歴情報を用いればよい。
図10の例に示すように、(1)登録されている全体のフローでよく連携されて使用されているアクティビティ(アクティビティ1033、アクティビティ1042)、(2)自分がよく連携して使用しているアクティビティ(アクティビティ1043、アクティビティ1063、アクティビティ1064)を合わせて、フロー生成画面1000内に表示する。そして、前者をピンク色、後者を肌色のように、両者を区別できるように表示している。また、何回連携して使用されているかも、数値で表示する。
図10に示す例では、前第一階層1040にあるアクティビティ1042はアクティビティ1050に連携して使用されたことが全体のフローで過去に2回あり、前第一階層1040にあるアクティビティ1043はアクティビティ1050に連携して使用されたことがユーザー自身のフローで過去に3回あり、前第二階層1030にあるアクティビティ1033はアクティビティ1050に連携して使用されたことが全体のフローで過去に1回あり、後第一階層1060にあるアクティビティ1063はアクティビティ1050に連携して使用されたことがユーザー自身のフローで過去に3回あり、後第一階層1060にあるアクティビティ1064はアクティビティ1050に連携して使用されたことがユーザー自身のフローで過去に2回あることを示している。
また、ユーザーがそれらのアクティビティに気付きやすく、また選択しやすくするために、何度も連携して使用されているアクティビティ(つまり、回数の大きいアクティビティ)は基点であるアクティビティ1050の近くに、連携回数が小さくなるにつれてアクティビティ1050から徐々に離れて表示させる。また、アクティビティ1050より上側に、全体のフローに含まれるアクティビティ、アクティビティ1050より下側に、ユーザー自身が作成したフローに含まれるアクティビティというように表示させている。更に、何度も連携して使用されているアクティビティほど、画面上に表示するそのアクティビティのアイコンを目立つデザインのもので表示したり、アイコンそのものの大きさを変えて表示したりしてもよい。例えば、何度も連携して使用されるアクティビティのアイコンは大きく、ほとんど使用されないアクティビティのアイコンは小さく表示する。
より詳細に説明する。例えば、まず、第一階層において、過去に生成された全体のフローにおける利用回数Yの高いものはアクティビティ1050の近くに、その利用回数Yの低いものはアクティビティ1050の遠くに配置するようにしてもよい。そのうえで、同じ回数のものがあれば、現在のユーザーによって過去に生成されたフローにおける利用回数Xの高いものは、大きなアイコンで、低いものは小さなアイコンで表示するようにしてもよい。
次に、第二階層において、第一階層のアイコンと接続するごとに、まずは、過去に生成された全体のフローにおける利用回数Yの高いものはアクティビティ1050の近くに、その利用回数Yの低いものは遠くに配置するようにしてもよい。そのうえで、同じ回数のものがあれば、現在のユーザーによって過去に生成されたフローにおける利用回数Xの高いものは、大きなアイコンで、低いものは小さなアイコンで表示するようにしてもよい。
なお、ここで「利用回数の高い」、又は、「利用回数の低い」の判断として、例えば、予め定められた閾値より高い、又は、低いとしてもよいし、利用回数順にソートし、予め定められた順位より高い、又は、低いとしてもよい。また、「大きなアイコン」、「小さなアイコン」とは、予め定められた大きさよりも大きい、又は、小さいとしてもよいし、予め定められたアクティビティのアイコン(例えば、アクティビティ1050、大きさを変更する前のアクティビティのアイコン等)と比較して大きい、又は、小さいとしてもよい。
さらに、アクティビティ1050から離れた階層ほど、アクティビティのアイコンの大きさを小さくするようにしてもよい。例えば、アクティビティ1050よりも後(図10では右側)のアクティビティにおいては、第n階層のアクティビティのアイコンの大きさは、第n−1階層のアクティビティアイコンの大きさの95%の大きさとしてもよい。このようにすることによって、階層が深く、あまり使用されないものは、小さいアイコンで表示されるため、より選択しやすくなる。
又は、逆に、上記の表示ルールを、利用頻度の低いものほど、近くに、かつ、大きく表示するように切り替えることができるようにしてもよい。これによって、これまで気付かなったアクティビティが選択できるようになる。
図11は、本実施の形態の処理例を示す説明図である。
図8の例で示したように、パスをアクティビティとして選択可能にしている。図11の例では、そのアクティビティ(パス)を選択可能に表示した例を示している。
図11(a)に示す例では、既に登録済のフローも、他のアクティビティと同様、インプットとアウトプットを持つので、関連図に含めてフロー生成画面1100内に表示する。つまり、アクティビティ1150の前方に接続可能なアクティビティ(パス)1044aがあることを示している。
図11(b)に示す例では、アクティビティ一属性情報表示領域1149を表示することによって、アクティビティ1150の前方に接続可能なアクティビティ(パス)1044aとして、「フロー」で定義された内容を含む属性情報が確認できる。アクティビティ一属性情報表示領域1149では、例えば、アクティビティ(パス)1044aの属性情報として「入力可能ファイル種別」は「ff,bmp,png,jpg」であり、「実行可能な処理」は「フォーマット変換→文書名変換→イメージ加工→文字認識処理」であり、「出力可能ファイル種別」は「tiff,xdw」であり、「出力可能属性データ」は「文書フォーマット名(string)、回転角度(string)、文字認識処理結果(string)」であることを示している。
図11(c)に示す例では、もちろんのことながら、登録済のフローも、他のアクティビティと同様、基点となるアクティビティとして選択できる。つまり、アクティビティ(パス)1044bを基点として、アクティビティ(パス)1044bの前後に接続できるアクティビティをフロー生成画面1100内に表示している。
完成したフロー、部分フローも、アクティビティ同様、基点となるアクティビティとして指定できる。もちろんのことながら、他のアクティビティの前方又は後方に接続できるものとして関連図に含めることができる。アクティビティの種類を増やすことができ、より簡単にやりたい事を実現するフローを生成できるようにしている。
図12は、本実施の形態の処理例を示す説明図である。
図12に示す例では、基点となるアクティビティがフローの中間にある場合、フローの先頭になる場合、フローの最後になる場合を示している。基点となるアクティビティがフローの先頭になる場合は、そのアクティビティの前方に接続するアクティビティがない状態であり、入力元のアクティビティという。基点となるアクティビティがフローの最後になる場合は、そのアクティビティの後方に接続するアクティビティがない状態であり、出力先のアクティビティという。
図12(a)の例では、基点となるアクティビティが入力元や出力先のいずれでもない場合、接続可能な入力先候補のリストである入力元アクティビティリスト1210、出力先候補のリストである出力先アクティビティリスト1290を表示していることを示している。入力元アクティビティリスト1210には、入力元アクティビティ1211、入力元アクティビティ1212、・・・、入力元アクティビティ121Nが表示されている。出力先アクティビティリスト1290には、出力先アクティビティ1291、出力先アクティビティ1292、・・・、出力先アクティビティ129Mが表示されている。
そのリストは、
・選択されたアクティビティとの組合せでよく使用される順
・使用回数の多い順
・選択されたアクティビティとの組合せで処理経路の短い順
・選択されたアクティビティとの組合せで処理経路の長い順
等でソートして表示する。ソート順は予め一意に決めておいてもよいし、ユーザーがUIで指定した順でソートして表示してもよい。
図12(b)の例では、基点となるアクティビティが入力元の場合、接続可能な出力先候補のリストである出力先アクティビティリスト1290を表示していることを示している。
そのリストは、
・選択された入力元のアクティビティとの組合せでよく使用される順
・使用回数の多い順
・選択されたアクティビティとの組合せで処理経路の短い順
・選択されたアクティビティとの組合せで処理経路の長い順
等でソートして表示する。ソート順は予め一意に決めておいてもよいし、ユーザーがUIで指定した順でソートして表示してもよい。
図12(c)の例では、基点となるアクティビティが出力先の場合、接続可能な入力候補のリストである出力先アクティビティリスト1290を表示していることを示している。
リストは、
・選択された出力先のアクティビティとの組合せでよく使用される順
・使用回数の多い順
・選択されたアクティビティとの組合せで処理経路の短い順
・選択されたアクティビティとの組合せで処理経路の長い順
等でソートして表示する。ソート順は予め一意に決めておいてもよいし、ユーザーがUIで指定した順でソートして表示してもよい。
図13は、本実施の形態をより具体的に示す構成例についての概念的なモジュール構成図である。
UIモジュール1335は、図1の例に示したUIモジュール135の具体的例であり、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、フロー生成モジュール1350は、図1の例に示したフロー生成制御モジュール140の具体的例であり、DB1315は、図1の例に示したデータメモリ115の具体的例である。
DB1315は、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、フロー生成モジュール1350と接続されている。
DB1315は、アクティビティに関する情報と、生成されたフローに関する情報を管理する。
アクティビティに関する情報には、例えば、下記情報を含む。
・アクティビティを本情報処理装置100で一意に識別するための識別情報(アクティビティID)
・アクティビティの名称
・アクティビティの入力可能なファイル種別
・アクティビティの出力可能なファイル種別
・アクティビティの出力可能なデータの属性情報
この他に、アクティビティの入力可能なパラメータを含めてもよい。
また、フローに関する情報には、例えば、下記情報を含む。
・フローを本情報処理装置100で一意に識別するための識別情報(フローID)
・フローを構成するアクティビティIDのリスト
UIモジュール1335は、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、フロー生成モジュール1350と接続されている。
UIモジュール1335は、ユーザーへの各種情報の表示と、ユーザーからの操作を受け付ける機能を有している。
アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、フロー生成モジュール1350は、それぞれDB1315、UIモジュール1335と接続されている。
アクティビティ登録モジュール1342は、アクティビティをDB1315(特にフロー部品仕様記憶モジュール125)に登録する機能を有している。登録されたアクティビティは、フローを構成する1コンポーネントとして利用できるようになる。
アクティビティの登録時、そのアクティビティと関連付けて、下記の属性情報も登録する。
a)アクティビティで処理できる(又は、入力できる)ファイル種別(例えば、ファイル拡張子のリスト)
b)処理内容(例えば、処理の説明文)
c)アクティビティで出力されうるファイル種別(例えば、ファイル拡張子のリスト)
d)アクティビティで出力されうる属性情報(例えば、属性名と、属性の型(string,numeric等))
このうち、a)、b)、c)の属性情報は必須である。さらに、a)〜d)の他に、アクティビティで入力できるパラメータを加えてもよい。
UIデータ生成モジュール1344は、表示装置187上に表示する各種データを生成し、表示装置187に表示する機能を有する。UIデータ生成モジュール1344は、例えば、DB1315に登録されているアクティビティ情報、フロー情報を、表示装置187上で一覧できるデータとして生成し、表示装置187に表示させる。
また、UIデータ生成モジュール1344は、アクティビティを登録するために必要な画面データを生成し、表示装置187に表示させる。
また、UIデータ生成モジュール1344は、関連図生成モジュール1346、フロー情報生成モジュール1348、フロー生成モジュール1350等で生成されたデータを表示装置187上に表示するデータとして生成し、表示装置187に表示させる。
関連図生成モジュール1346は、表示装置187上で指定された基点となるアクティビティに対し、その前後に接続可能なアクティビティをDB1315から抽出して、関連図を生成する機能を有する。関連図の生成処理については、図17の例に示すフローチャートを用いて後述する。
フロー情報生成モジュール1348は、表示装置187に表示されている関連図において、基点となるアクティビティに関する情報をDB1315から取得し、属性情報である「フロー参照データ」として生成する機能とともに、関連図上で別のアクティビティが選択されると、基点となるアクティビティと、選択されたアクティビティ間を結ぶフローを、DB1315から抽出し、そのフローについての「フロー参照データ」を生成する機能を有する。
フロー生成モジュール1350は、表示装置187上の関連図において、基点となるアクティビティと、選択されたアクティビティを結んだフローを生成し、生成したフロー情報をDB1315に登録する。
図14は、図13の例で示した構成による処理例を示すフローチャートである。
ステップS1402では、アクティビティを登録する。
例えば、図3を用いて前述したアクティビティ一覧画面300にて、新規追加ボタン320が選択され、図4を用いて前述したアクティビティ属性登録画面400で、名前、説明文、入力可能ファイル種別、出力可能ファイル種別、出力可能属性データを設定する。例えば、下記のように設定する。
・名前欄432には、アクティビティの名前を、説明欄434には、アクティビティに関する説明を入力する。
・入力可能ファイル種別欄436には、以下のように設定する。
・tiff,jpeg,bmp,png,pdf,xdw等から、そのアクティビティが処理可能なファイルの拡張子をカンマ(,)で連結して、文字列で指定する。
・すべてのファイルが処理可能であれば、allという文字列で指定する。
・処理可能なファイルが存在しない場合は、空文字で指定する。
・出力可能ファイル種別欄438には、以下のように設定する。
・tiff,jpeg,bmp,png,pdf,xdw等から、そのアクティビティが出力可能なファイルの拡張子をカンマ(,)で連結して、文字列で指定する。
・入力されたファイルの種別と同じファイルの種別で出力するのであれば、allという文字列で指定する。
・出力可能なファイルが存在しない場合は、空文字で指定する。
・出力可能属性データ欄440には、([属性名]:[属性の型(string,numeric等)])を、カンマ(,)で連結して、文字列で指定する。
設定した属性情報は、例えば、登録ボタン425が選択されたタイミングで、アクティビティデータとともに、DB1315に登録する。
本実施の形態では、アクティビティの登録時にユーザーが手動で登録する例を記載したが、例えば、予め情報処理装置100にルールを設けておき、そのルールにしたがった開発を行って登録すれば、情報処理装置100が自動的に、名前、説明文、入力可能ファイル種別、出力可能なファイル種別、出力可能属性データ、を抽出してDB1315に登録するよう構成してもよい。ここでのルールとして、例えば、情報処理装置100が解釈できる特定の設定ファイルに定義しておく、特定のインタフェースを持つサービスとしてアクティビティを開発する、等がある。
ステップS1402で、DB1315に登録される情報として、例えば、アクティビティ登録情報テーブル1500がある。図15は、アクティビティ登録情報テーブル1500のデータ構造例を示す説明図である。アクティビティ登録情報テーブル1500は、アクティビティID欄1505、名前欄1510、説明欄1515、入力可能ファイル種別欄1520、出力可能ファイル種別欄1525、出力可能属性データ欄1530、アクティビティデータ欄1535を有している。アクティビティID欄1505は、本実施の形態において、アクティビティを一意に識別するための情報(具体的には、アクティビティID)を記憶している。名前欄1510は、そのアクティビティの名前を記憶している。説明欄1515は、そのアクティビティの説明を記憶している。入力可能ファイル種別欄1520は、入力可能ファイル種別を記憶している。出力可能ファイル種別欄1525は、出力可能ファイル種別を記憶している。出力可能属性データ欄1530は、出力可能属性データを記憶している。アクティビティデータ欄1535は、アクティビティデータを記憶している。
アクティビティ登録情報テーブル1500の1行目は、アクティビティID欄1505に「GUID 1」、名前欄1510に「フォーマット変換」、説明欄1515に「入力されたイメージを指定されたフォーマットに変換して出力する」、入力可能ファイル種別欄1520に「tiff,jpeg,png」、出力可能ファイル種別欄1525に「pdf,tiff,bmp,xdw」、出力可能属性データ欄1530に「変換フォーマット:文字列、解像度:数値」、アクティビティデータ欄1535に「*****」を記憶しており、2行目は、アクティビティID欄1505に「GUID 2」、名前欄1510に「イメージ加工」、説明欄1515に「入力されたイメージを回転して出力する」、入力可能ファイル種別欄1520に「tiff,bmp」、出力可能ファイル種別欄1525に「tiff,bmp」、出力可能属性データ欄1530に「N/A」、アクティビティデータ欄1535に「*****」を記憶しており、3行目は、アクティビティID欄1505に「GUID 3」、名前欄1510に「文書名設定」、説明欄1515に「入力されたイメージファイルの名前を、指定された名前に変更する」、入力可能ファイル種別欄1520に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能ファイル種別欄1525に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能属性データ欄1530に「ファイル名:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、4行目は、アクティビティID欄1505に「GUID 4」、名前欄1510に「文字認識処理,QRコード解析」、説明欄1515に「入力されたイメージを文字認識処理した結果、入力されたイメージ上にあるQRコードを解析した結果を出力する」、入力可能ファイル種別欄1520に「pdf,tiff,bmp」、出力可能ファイル種別欄1525に「pdf,tiff,bmp」、出力可能属性データ欄1530に「文字認識処理結果:文字列、QRコード解析結果:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、5行目は、アクティビティID欄1505に「GUID 5」、名前欄1510に「フォルダ出力」、説明欄1515に「指定されたフォルダに投入されたイメージを所定のフォルダに保存する」、入力可能ファイル種別欄1520に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能ファイル種別欄1525に「N/A」、出力可能属性データ欄1530に「ファイル保存先:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、6行目は、アクティビティID欄1505に「GUID 6」、名前欄1510に「親展ボックス入力」、説明欄1515に「親展ボックス受信したイメージを所定のフォルダに保存する」、入力可能ファイル種別欄1520に「N/A」、出力可能ファイル種別欄1525に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能属性データ欄1530に「受信日時:日付、受信ファイル名:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、7行目は、アクティビティID欄1505に「GUID 7」、名前欄1510に「FAX入力」、説明欄1515に「FAX受信したイメージを所定のフォルダに保存する」、入力可能ファイル種別欄1520に「N/A」、出力可能ファイル種別欄1525に「tiff」、出力可能属性データ欄1530に「送信日時:日付、送信ファイル名:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、8行目は、アクティビティID欄1505に「GUID 8」、名前欄1510に「zip圧縮」、説明欄1515に「入力されたファイルを所定の形式に圧縮する」、入力可能ファイル種別欄1520に「指定なし」、出力可能ファイル種別欄1525に「zip」、出力可能属性データ欄1530に「ファイル名:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、9行目は、アクティビティID欄1505に「GUID 9」、名前欄1510に「メール送信」、説明欄1515に「入力されたイメージを所定の宛先にメール送信する」、入力可能ファイル種別欄1520に「指定なし」、出力可能ファイル種別欄1525に「N/A」、出力可能属性データ欄1530に「送信先:文字列、送信元:文字列」、アクティビティデータ欄1535に「*****」を記憶しており、N行目は、アクティビティID欄1505に「GUID N」、名前欄1510に「GogleDrive登録」、説明欄1515に「入力されたイメージをGoogleDriveの所定の場所に保存する」、入力可能ファイル種別欄1520に「指定なし」、出力可能ファイル種別欄1525に「N/A」、出力可能属性データ欄1530に「ファイル名:文字列」、アクティビティデータ欄1535に「*****」を記憶している。
ステップS1404では、フローに取り込むべきアクティビティを選択する。
例えば、ユーザーの操作にしたがって、図3の例に示したアクティビティ一覧画面300にて、特定のアクティビティ(以降、「基点となるアクティビティ」と記載)を1つ選択する。このとき、例えば、リスト表示したアクティビティにカーソルを合わせると、カーソルの位置にあるアクティビティのID情報から、図4の例に示したアクティビティ属性登録画面400で登録した「説明文」を取得し、画面に表示してもよい。
ステップS1406では、基点となるアクティビティを中心とした関連図を作成、表示する。ステップS1406の詳細な処理については、図17の例に示すフローチャートを用いて後述する。
ステップS1408では、基点となるアクティビティに関する属性情報を表示する。
基点となるアクティビティの情報から、例えば、下記いずれか1つ以上の項目からなる「フロー参照データ」を作成し、表示装置187上に表示する。
・基点となるアクティビティに入力できるファイル種別(例えば、ファイル拡張子のリスト)
・基点となるアクティビティでの処理内容(例えば、アクティビティの名前、又は、説明)
・基点となるアクティビティが出力するファイル種別(例えば、ファイル拡張子のリスト)
・基点となるアクティビティが出力する属性情報(例えば、属性名と、属性の型(string,numeric等))
ステップS1410では、関連図上で、基点となるアクティビティ以外のアクティビティが指定された場合は、基点となるアクティビティと、指定されたアクティビティとの間の経路となる部分フローに関する属性情報を表示する。ステップS1410の詳細な処理については、図18の例に示すフローチャートを用いて後述する。
表示装置187上に表示された関連図上で、基点となるアクティビティ以外のアクティビティが指定されると、基点となるアクティビティと、指定されたアクティビティ間のフローに関する属性情報である「フロー参照データ」を表示する。
例えば、下記処理を行って「フロー参照データ」を表示する。
<<パターン1>>
基点となるアクティビティより、左側(前方に配置可能な)のアクティビティが指定されると、指定されたアクティビティから、基点となるアクティビティに至るまでの、アクティビティ情報を、ステップS1406で生成した関係図を元に、DB1315から取得し、表示装置187上にハイライト表示する。
そして、
・指定されたアクティビティの入力可能なファイル種別(例えば、拡張子)のリスト
・指定されたアクティビティから、基点なるアクティビティまでの、処理内容(例えば、アクティビティの名前)のリスト
・基点となるアクティビティから出力され得るファイル種別(例えば、拡張子)のリスト
・指定されたアクティビティから、基点となるアクティビティに至る全てのアクティビティで出力可能な属性「属性名と、属性の型(例:string,numeric等)」のリスト
を「フロー参照データ」として、表示装置187上に表示する。
<<パターン2>>
基点となるアクティビティより、右側(後方に配置可能な)のアクティビティが指定されると、基点となるアクティビティから、指定されたアクティビティに至るまでの、アクティビティ情報のフロー(部分フロー)を、ステップS1406で生成した関係図を元に、DB1315から取得し、表示装置187上にハイライト表示する。
そして、
・基点となるアクティビティの入力可能なファイル種別(例えば、拡張子)のリスト
・指定されたアクティビティから、指定されたアクティビティまでの、処理内容(例えば、アクティビティの名前)のリスト
・指定されたアクティビティから出力され得るファイル種別(例えば、拡張子)のリスト
・基点となるアクティビティから、指定されたアクティビティに至る全てのアクティビティで出力可能な属性「属性名と、属性の型(例えば、string,numeric等)」のリスト
を「フロー参照データ」として、表示装置187上に表示する。
なお、上記<<パターン1>>、<<パターン2>>において、基点となるアクティビティから、指定されたアクティビティに至るまでの経路が複数存在する場合は、表示装置187上にハイライト表示する際に、複数の経路をハイライト表示するとともに、まずは、それら複数経路を、“経路1”“経路2”・・・“経路N”のように、「経路リスト」として表示する。例えば、そのリスト内は、よく使用する順等でソートして表示する。
そして、ユーザーが「経路リスト」で選択した“経路”に該当する部分フローを、ステップS1406で生成した関係図を元に、DB1315から取得し、選択ハイライト表示するとともに、「フロー参照データ」を表示装置187上に表示する。
ステップS1412では、ユーザーの操作にしたがって、部分フローを選択する。
ユーザーは、ステップS1410で表示される「フロー参照データ」を参照しながら、使用したい部分フローが見つかったら、ユーザーは、例えば、右クリックメニューで表示される[確定]を選択して、フローを作成していく。
なお、一旦確定した部分フローも、ユーザーは、例えば、右クリックメニューで表示される[確定解除]を選択して、確定解除できるように構成してもよい。
ステップS1414では、選択した部分フローをアクティビティとして登録する。
ステップS1412でフローを確定して、登録したいフローが定義できたら、ユーザーは、例えば、右クリックメニューで表示される[登録]を選択し、フローをDB1315に登録する。例えば、フロー登録画面にて、名前と説明が設定されてOKボタンが選択されると、フロー登録情報テーブル1600のようなデータをDB1315に登録する。図16は、フロー登録情報テーブル1600のデータ構造例を示す説明図である。フロー登録情報テーブル1600は、アクティビティID欄1605、名前欄1610、説明欄1615、フローデータ欄1620を有している。アクティビティID欄1605は、アクティビティIDを記憶している。名前欄1610は、そのアクティビティの名前を記憶している。説明欄1615は、そのアクティビティの説明を記憶している。フローデータ欄1620は、フローデータを記憶している。
フロー登録情報テーブル1600は、例えば、アクティビティID欄1605に「GUID X」、名前欄1610に「フロー1」、説明欄1615に「フォーマット変換→文書名変換→イメージ加工→文字認識処理→((フォーマット変換→フォルダ保存),(zip圧縮→→フォルダ保存))」、フローデータ欄1620に「GUID1,GUID3,GUID2,GUID4,((GUID1,GUID5),(GUID7,GUID5))」を記憶している。
ステップS1416では、登録されたアクティビティ(部分フロー)をアクティビティ一覧画面300に表示する。つまり、ステップS1414で登録されたフローは、例えば、アクティビティ一覧画面300にて表示され、他のアクティビティと同じように使用できる。
ステップS1418では、フローは完成したか否かを判断し、完成した場合は処理を終了し(ステップS1499)、それ以外の場合はステップS1410へ戻る。
図17は、本実施の形態による処理例を示すフローチャートである。図14の例で示したフローチャートのステップS1406の詳細な処理例を示すものである。
ステップS1702では、基点となるアクティビティとして選択されたアクティビティのIDと、入力可能ファイル種別、出力可能ファイル種別を、DB1315より抽出する。
ステップS1704では、基点となるアクティビティの入力可能ファイル種別を、出力可能ファイル種別として持つアクティビティのIDと、入力可能ファイル種別を、DB1315から検索して全て抽出する。
ステップS1706では、抽出したアクティビティの入力可能ファイル種別を、出力可能なファイル種別として持つアクティビティのIDと、入力可能ファイル種別を、DB1315から検索して全て抽出する。
ステップS1708では、全てのアクティビティを抽出したか否かを判断し、抽出した場合はステップS1710へ進み、それ以外の場合はステップS1706へ戻る。
ステップS1710では、基点となるアクティビティの出力可能ファイル種別を、入力可能ファイル種別として持つアクティビティのIDと、出力可能ファイル種別を、DB1315から検索して全て抽出する。
ステップS1712では、抽出したアクティビティの出力可能ファイル種別を、入力可能なファイル種別として持つアクティビティのIDと、出力可能ファイル種別を、DB1315から検索して全て抽出する。
ステップS1714では、全てのアクティビティを抽出したか否かを判断し、抽出した場合はステップS1716へ進み、それ以外の場合はステップS1712へ戻る。
ステップS1716では、基点となるアクティビティのIDを中心に、抽出したアクティビティIDを前後に階層的に連結した関連図を作成する。そして、表示装置187上に表示する。
図18は、本実施の形態による処理例を示すフローチャートである。図14の例で示したフローチャートのステップS1410の詳細な処理例を示すものである。
ステップS1802では、表示装置187のUI上で選択されたアクティビティのIDを抽出する。
ステップS1804では、抽出されたアクティビティIDから、基点となるアクティビティに至るアクティビティのIDリストを作成する。
ステップS1806では、リストが複数存在するか否かを判断し、存在する場合はステップS1808へ進み、それ以外の場合はステップS1814へ進む。
ステップS1808では、各リストを経路1、経路2、…、経路nという文字列と結びつけて管理し、表示装置187の画面上に、経路1、経路2、…、経路nのように、選択肢として表示する。
ステップS1810では、表示装置187の画面上に表示された経路の1つをユーザーが選択する。
ステップS1812では、ユーザーが選択した経路と関連付けられたリストを抽出する。
ステップS1814では、リストに含まれるアクティビティIDの名前をDB1315から取得して、ハイフン(−)で接続した文字列を作成する(a)。
ステップS1816では、基点となるアクティビティの出力可能ファイル種別、出力可能属性データを、DB1315から抽出する(b)。
ステップS1818では、選択されたアクティビティのIDの入力可能ファイル種別をDB1315から抽出する(c)。
ステップS1820では、“入力可能なファイル種別”に、(c)のデータをセットし、“処理内容”に(a)で作成したデータをセットし、“出力可能ファイル種別”に(b)の出力可能ファイル種別のデータをセットし、“出力可能な属性”に(b)の出力可能属性データをセットし、フロー参照データを作成する。そして、表示装置187にフロー参照データを表示する。
図19は、本実施の形態をより具体的に示す別の構成例についての概念的なモジュール構成図である。
UIモジュール1335は、図1の例に示したUIモジュール135の具体的例であり、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、アクティビティ設定モジュール1952、フロー生成モジュール1350は、図1の例に示したフロー生成制御モジュール140の具体的例であり、DB1315は、図1の例に示したデータメモリ115の具体的例である。なお、図13の例で示した構成と同種の部位には同一符号を付し重複した説明を省略する。図19の例で示す構成は、図13の例で示した構成に、アクティビティ設定モジュール1952を付加したものである。
DB1315は、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、アクティビティ設定モジュール1952、フロー生成モジュール1350と接続されている。
アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、アクティビティ設定モジュール1952、フロー生成モジュール1350は、それぞれDB1315、UIモジュール1335と接続されている。
UIモジュール1335は、アクティビティ登録モジュール1342、UIデータ生成モジュール1344、関連図生成モジュール1346、フロー情報生成モジュール1348、アクティビティ設定モジュール1952、フロー生成モジュール1350と接続されている。
アクティビティ設定モジュール1952は、登録されているアクティビティをカスタマイズして、DB1315に登録する機能を有している。具体的には、アクティビティの仕様に関する情報の一例である処理パラメータを変更する。DB1315に登録されているアクティビティのうち、内部の処理パラメータを変更できるアクティビティに対し、変更が行える。なお、UI画面は、図4の例で示したアクティビティ属性登録画面400と同じように構成すればよい。
図14の例に示したフローチャートを元に、追加分の処理の流れについて説明する。
図14の例に示したフローチャートのステップS1406で、表示装置187に表示されている各アクティビティにおいて、アクティビティ設定モジュール1952で、処理パラメータを変更すると、変更結果に基づいて、再度ステップS1406を実行し、関連図を作成し直して、表示装置187上に表示し直す。
例えば、前述の関連図を作成していた場合、「基本構成のフローチャート」の図14の例に示したフローチャートのステップS1406で、基点となるアクティビティが「フォルダ出力アクティビティ」だったすると、入力可能ファイル種別は“tiff,jpeg,bmp,png,pdf,xdw”であるため、前段に配置できるアクティビティは、出力可能ファイル種別が“tiff,jpeg,bmp,png,pdf,xdw”である「文書名設定アクティビティ」と「親展ボックス入力アクティビティ」が抽出されて、関連図上に表示される。アクティビティ設定モジュール1952を用いて、「フォルダ出力アクティビティ」に対して入力可能なファイル種別を“tiff,bmp”だけに限定すると、前段に配置できるアクティビティは、出力可能ファイル種別が“tiff,bmp”である「イメージ加工アクティビティ」のみが抽出される。そのため、前方に配置できるアクティビティが変わることになり、関連図を再度作成し直し、表示装置187上に表示し直す。もちろんのことながら、同様の変更は、出力可能ファイル種別、に対しても実施できる。
また、基点となるアクティビティだけでなく、関連図上に表示されているアクティビティについても属性情報に対しての同様の変更操作が行える。
このとき、操作するアクティビティが関連図上から消えない範囲(つまり、基点となるアクティビティとの関係が無くならない範囲)内でのパラメータ変更のみ許可するよう構成してもよい。例えば、表示装置187に関連図を表示した状態において、「文書名設定アクティビティ」と「親展ボックス入力アクティビティ」は、属性情報である“入力可能ファイル種別”は変更できるが、基点となるアクティビティ「フォルダ出力アクティビティ」と接続できなくなるため、属性情報である”出力可能ファイル種別”は変更できないようにする。
また、アクティビティの属性情報を変更することによって、操作するアクティビティが関連図上から消えるような構成としてもよい。例えば、表示装置187に関連図を表示した状態において、「文書名設定アクティビティ」と「親展ボックス入力アクティビティ」は、変更できる属性情報は“入力可能ファイル種別”だけでなく、基点となるアクティビティである「フォルダ出力アクティビティ」と接続できなくなるが、属性情報である“出力可能ファイル種別”も変更できるようにしてもよい。
さらに、図14の例に示したフローチャートのステップS1414で、部分フローを登録する際に、登録したユーザーのユーザーIDも一緒に登録する。例えば、フロー登録情報テーブル2000を登録する。図20は、フロー登録情報テーブル2000のデータ構造例を示す説明図である。フロー登録情報テーブル2000は、アクティビティID欄2005、名前欄2010、説明欄2015、フローデータ欄2020、登録者ID欄2025を有している。アクティビティID欄2005は、アクティビティIDを記憶している。名前欄2010は、そのアクティビティの名前を記憶している。説明欄2015は、そのアクティビティの説明を記憶している。フローデータ欄2020は、フローデータを記憶している。登録者ID欄2025は、本実施の形態において、登録者を一意に識別するための情報(具体的には登録者ID)を記憶している。
フロー登録情報テーブル2000の1行目は、アクティビティID欄2005に「GUID X1」、名前欄2010に「フローX1」、説明欄2015に「フォーマット変換→文書名変換→イメージ加工→文字認識処理→((フォーマット変換→フォルダ保存),(zip圧縮→→フォルダ保存))」、フローデータ欄2020に「GUID1,GUID3,GUID2,GUID4,((GUID1,GUID5),(GUID7,GUID5))」、登録者ID欄2025に「AAA」を記憶しており、2行目は、アクティビティID欄2005に「GUID X2」、名前欄2010に「フローX2」、説明欄2015に「フォーマット変換→文書名変換→イメージ加工→文字認識処理→((フォーマット変換→フォルダ保存),(zip圧縮→→フォルダ保存))」、フローデータ欄2020に「GUID1,GUID3,GUID2,GUID4,((GUID1,GUID5),(GUID7,GUID5))」、登録者ID欄2025に「BBB」を記憶しており、N行目は、アクティビティID欄2005に「GUID XN」、名前欄2010に「フローXN」、説明欄2015に「フォーマット変換→文書名変換→イメージ加工→文字認識処理→((フォーマット変換→フォルダ保存),(zip圧縮→→フォルダ保存))」、フローデータ欄2020に「GUID1,GUID3,GUID2,GUID4,((GUID1,GUID5),(GUID7,GUID5))」、登録者ID欄2025に「AAA」を記憶している。
このフロー登録情報テーブル2000により、図14の例に示したフローチャートのステップS1406で、関連図を表示装置187に表示する際に、基点となるアクティビティから前方に配置するアクティビティ、基点となるアクティビティから後方に配置するアクティビティのうちの一部が、DB1315に登録されているフローの“フローデータ”に含まれていた場合、その部分フローに含まれるアクティビティをハイライト表示する。
ハイライト表示する際、自身が作成したフローに含まれているものか、他のユーザーが作成したフローに含まれているものかを、区別してハイライト表示する。例えば、色を変える、★印や☆印をつけて区別する、フォントを変える、図の形状を変える、等がある。さらに、何回連携して使用されているかについても、数値で表示するようにしてもよい。
ユーザーがハイライトされている箇所に気付きやすく、また選択しやすくするために、例えば、何度も連携して使用されているもの(数値の大きいもの)を、基点となるアクティビティの近辺に、連携頻度が小さくなるにつれて徐々に、基点となるアクティビティから離れて表示させる。また、上半分に、他のユーザーが作成したフローに含まれるもの、下半分に、自身が作成したフローに含まれるものというように表示するようにしてもよい。
さらに、図14の例に示したフローチャートのステップS1406で、関連図を生成する際に、DB1315に登録されているフローの“フローデータ”も参照し、一番先頭のアクティビティの入力可能ファイル形式と、最後のアクティビティの出力可能ファイル形式と、を使用して基点となるアクティビティとの関係を求め、関連図にフローも組み込み、表示装置187上に表示する。
また、図14の例に示したフローチャートのステップS1410で「フロー参照データ」を表示する場合は、DB1315に登録されているフローの“フローデータ”をもとに、一番先頭のアクティビティから最後のアクティビティに至るまでに出力される出力可能属性データをもとに、「フロー参照データ」に必要なデータを組み込み、表示装置187上に表示する。
また、図14の例に示したフローチャートのステップS1404で登録済のフローが選択された場合、DB1315に登録されている“フローデータ”を参照し、一番先頭のアクティビティの入力可能ファイル形式と、最後のアクティビティの出力可能ファイル形式と、一番先頭のアクティビティから最後のアクティビティに至るまでに出力される出力可能属性データをもとに、ステップS1406と同等の処理を行い、関連図を作成し、表示装置187上に表示する。
さらに、図14の例に示したフローチャートのステップS1402で、DB1315にアクティビティを登録する際、登録するアクティビティが入力元か出力先か判断できる情報も一緒に登録する。例えば、アクティビティ登録情報テーブル2100の種別欄2120のように、種別に「入力」「出力」と設定する。図21は、アクティビティ登録情報テーブル2100のデータ構造例を示す説明図である。アクティビティ登録情報テーブル2100は、アクティビティID欄2105、名前欄2110、説明欄2115、種別欄2120、入力可能ファイル種別欄2125、出力可能ファイル種別欄2130、出力可能属性データ欄2135、アクティビティデータ欄2140を有している。アクティビティID欄2105は、アクティビティIDを記憶している。名前欄2110は、名前を記憶している。説明欄2115は、説明を記憶している。種別欄2120は、種別を記憶している。入力可能ファイル種別欄2125は、入力可能ファイル種別を記憶している。出力可能ファイル種別欄2130は、出力可能ファイル種別を記憶している。出力可能属性データ欄2135は、出力可能属性データを記憶している。アクティビティデータ欄2140は、アクティビティデータを記憶している。
アクティビティ登録情報テーブル2100の1行目は、アクティビティID欄2105に「GUID 1」、名前欄2110に「フォーマット変換」、説明欄2115に「入力されたイメージを指定されたフォーマットに変換して出力する」、種別欄2120に「(空欄)」、入力可能ファイル種別欄2125に「tiff,jpeg,png」、出力可能ファイル種別欄2130に「pdf,tiff,bmp,xdw」、出力可能属性データ欄2135に「変換フォーマット:文字列、解像度:数値」、アクティビティデータ欄2140に「*****」を記憶しており、2行目は、アクティビティID欄2105に「GUID 2」、名前欄2110に「イメージ加工」、説明欄2115に「入力されたイメージを回転して出力する」、種別欄2120に「(空欄)」、入力可能ファイル種別欄2125に「tiff,bmp」、出力可能ファイル種別欄2130に「tiff,bmp」、出力可能属性データ欄2135に「N/A」、アクティビティデータ欄2140に「*****」を記憶しており、3行目は、アクティビティID欄2105に「GUID 3」、名前欄2110に「文書名設定」、説明欄2115に「入力されたイメージファイルの名前を、指定された名前に変更する」、種別欄2120に「(空欄)」、入力可能ファイル種別欄2125に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能ファイル種別欄2130に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能属性データ欄2135に「ファイル名:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、4行目は、アクティビティID欄2105に「GUID 4」、名前欄2110に「文字認識処理,QRコード解析」、説明欄2115に「入力されたイメージを文字認識処理した結果、入力されたイメージ上にあるQRコードを解析した結果を出力する」、種別欄2120に「(空欄)」、入力可能ファイル種別欄2125に「pdf,tiff,bmp」、出力可能ファイル種別欄2130に「pdf,tiff,bmp」、出力可能属性データ欄2135に「文字認識処理結果:文字列、QRコード解析結果:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、5行目は、アクティビティID欄2105に「GUID 5」、名前欄2110に「フォルダ出力」、説明欄2115に「指定されたフォルダに投入されたイメージを所定のフォルダに保存する」、種別欄2120に「出力」、入力可能ファイル種別欄2125に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能ファイル種別欄2130に「N/A」、出力可能属性データ欄2135に「ファイル保存先:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、6行目は、アクティビティID欄2105に「GUID 6」、名前欄2110に「親展ボックス入力」、説明欄2115に「親展ボックス受信したイメージを所定のフォルダに保存する」、種別欄2120に「入力」、入力可能ファイル種別欄2125に「N/A」、出力可能ファイル種別欄2130に「tiff,jpeg,bmp,png,pdf,xdw」、出力可能属性データ欄2135に「受信日時:日付、受信ファイル名:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、7行目は、アクティビティID欄2105に「GUID 7」、名前欄2110に「FAX入力」、説明欄2115に「FAX受信したイメージを所定のフォルダに保存する」、種別欄2120に「入力」、入力可能ファイル種別欄2125に「N/A」、出力可能ファイル種別欄2130に「tiff」、出力可能属性データ欄2135に「送信日時:日付、送信ファイル名:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、8行目は、アクティビティID欄2105に「GUID 8」、名前欄2110に「zip圧縮」、説明欄2115に「入力されたファイルを所定の形式に圧縮する」、種別欄2120に「(空欄)」、入力可能ファイル種別欄2125に「指定なし」、出力可能ファイル種別欄2130に「zip」、出力可能属性データ欄2135に「ファイル名:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、9行目は、アクティビティID欄2105に「GUID 9」、名前欄2110に「メール送信」、説明欄2115に「入力されたイメージを所定の宛先にメール送信する」、種別欄2120に「出力」、入力可能ファイル種別欄2125に「指定なし」、出力可能ファイル種別欄2130に「N/A」、出力可能属性データ欄2135に「送信先:文字列、送信元:文字列」、アクティビティデータ欄2140に「*****」を記憶しており、N行目は、アクティビティID欄2105に「GUID N」、名前欄2110に「GogleDrive登録」、説明欄2115に「入力されたイメージをGoogleDriveの所定の場所に保存する」、種別欄2120に「出力」、入力可能ファイル種別欄2125に「指定なし」、出力可能ファイル種別欄2130に「N/A」、出力可能属性データ欄2135に「ファイル名:文字列」、アクティビティデータ欄2140に「*****」を記憶している。
そして、このアクティビティ登録情報テーブル2100を用いて次のような処理を行う。
図14の例に示したフローチャートのステップS1406で、基点のアクティビティが
・「入力」であれば、関連図を生成する際、「出力」のアクティビティを抽出し、図12(b)の例に示すようなリストを表示する。
・「出力」であれば、関連図を生成する際、「入力」のアクティビティを抽出し、図12(c)の例に示すようなリストを表示する。
・「入力」でも「出力」でもなければ、関連図を生成する際、「入力」と「出力」のアクティビティを抽出し、図12(a)の例に示すようなリストを表示する。
また、リストを表示する際、リストを表示するリスクエストが、図14の例に示したフローチャートのステップS1416の表示すべき“フローデータ”に含まれていた場合、それが何回使用されているかを判定し、使用頻度の高いものからソートして表示してもよい。また、例えば、DB1315において、ユーザー自身が作成したフローに含まれているものか、他のユーザーが作成したフローに含まれているものかを判定し、それぞれ何回連携して使用されているかを判定し、使用頻度の高いものからソートして表示してもよい。
「入力」リスト、「出力」リストのそれぞれにおいて、ユーザーがリスト上の項目を1つ選択すると、「基本構成のフローチャート」の図14の例に示したフローチャートのステップS1410と同様の処理を行って経路を生成し、その経路の属性情報である「フロー参照データ」を表示する。
図22は、本実施の形態の処理例を示す説明図である。図22の例は、図8で示した例をより詳細に示したものである。つまり、部分フローを登録し、その部分フローをアクティビティと同等に表示する例を示すものである。
図22(a)に示す例では、フロー生成画面2200に、部分フロー2210、アクティビティ2212、アクティビティ2214、確定メニュー2220、アクティビティ一(パス)属性情報表示領域を表示している。ここで、確定メニュー2220内の[確定]が選択された場合、図22(b1)の例に示すフロー生成画面2200の状態に遷移する。
図22(b1)に示す例では、フロー生成画面2200に、完成フロー2230、登録メニュー2240を表示する。ここで、登録メニュー2240内の[登録]が選択された場合、図22(b2)の例に示すフロー登録画面2250の状態に遷移する。
図22(b2)に示す例では、フロー登録画面2250に、アクティビティID欄2252、名前欄2254、説明欄2256を表示する。ユーザーは、名前欄2254に名前、説明欄2256に説明を入力する。
そして、図22(c)に示す例のように、登録したフロー(つまり、完成フロー2230)は、アクティビティと同様、アクティビティ一覧画面2260のアクティビティ一覧領域2270内のアクティビティ(フロー)2272として表示され、アクティビティと同じように操作可能となっている。
図23は、本実施の形態の処理例を示す説明図である。
図23(a)に示す例は、選択しているアクティビティ2350を中心に、接続可能な多階層のアクティビティを参照できるように表示している。この例では、アクティビティ2350の前方に前第一階層2340、前第二階層2330のアクティビティ、後方に後第一階層2360、後第二階層2370のアクティビティを表示している。これらは接続関係がわかるよう、線で結んで表示する。
フロー生成画面2300のウィンドウ内の表示領域は窓のようなもので、ユーザーによるズーム操作を検知すれば、図23(b)に示す例のように、アクティビティ2350の前後1階層(前第一階層2340と後第一階層2360)のみを表示する。また、ユーザーによる俯瞰操作を検知すれば、図23(c)に示す例のように、更に複数の階層を表示する。この例では、アクティビティ2350の前方に前第一階層2340、前第二階層2330、前第三階層2320のアクティビティ、後方に後第一階層2360、後第二階層2370、後第三階層2380のアクティビティを表示している。また、ユーザーの表示領域をずらす操作を検知すれば、図23(d)に示す例のように、アクティビティ2350のより左側の階層のアクティビティが参照できるように表示する。この例では、アクティビティ2350の前方に前第一階層2340、前第二階層2330、前第三階層2320のアクティビティを表示し、その分、後方の後第一階層2360、後第二階層2370が隠れている。もちろんのことながら、ユーザーの表示領域をずらす操作に応じて、左側だけでなく、右側、上側、下側のアクティビティを表示できる。
図24は、本実施の形態の処理例を示す説明図である。
表示装置187に表示されている関連図上で、基点となるアクティビティと別のアクティビティを指定した場合、指定したアクティビティを含めて基点となるアクティビティとし、関連図を作成しなおして、表示装置187に表示する。例えば、別のアクティビティの指定操作として、ダブルクリック等がある。
表示装置187上で、このように基点となるアクティビティ接続済のアクティビティを指定すると、その指定されたアクティビティに接続可能な前後のアクティビティが表示され、指定されたアクティビティに接続すべきアクティビティを指定できるようにする。
具体的には、図24(a)の例に示す表示状態でアクティビティ2455が、ユーザーの操作によって指定されると、図24(b)の例に示す表示状態に変更する。
つまり、アクティビティ2450とアクティビティ2455を接続させたことを前提として、アクティビティ2450に接続可能なアクティビティに限った表示にしている。具体的には、図24(a)の例では、前第一階層2440には、7つ以上のアクティビティがあったが、図24(b)の例では、3つのアクティビティに減っている。そして、図24(a)の例では、後第一階層2460には4つのアクティビティがあったが、図24(b)の例では、2つのアクティビティに減っていることを示している。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digitalの略)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…情報処理装置
105…プロセッサ
110…メモリ
115…データメモリ
120…プログラムメモリ
125…フロー部品仕様記憶モジュール
130…フロー記憶モジュール
135…UIモジュール
137…操作受付モジュール
139…表示制御モジュール
140…フロー生成制御モジュール
185…出力装置
187…表示装置
189…印刷装置
190…受付装置
195…通信装置
198…バス
200…ユーザー端末
210…ユーザー端末
250…フローデータ記憶装置
290…通信回線

Claims (14)

  1. メモリと一又は複数のプロセッサを備え、
    前記メモリは、フローを構成する機能に対応する部品の仕様を記憶しており、
    前記プロセッサは、
    ユーザーが選択した第1部品を基点として、前記部品の仕様を用いて、該第1部品の前又は後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、
    情報処理装置。
  2. 前記プロセッサは、
    第1部品の前の処理を行う第2部品を抽出した後に、さらに、該第2部品の前の処理を行う第3部品を抽出し、該第3部品と該第2部品を前記表示装置に表示するように制御する、
    又は、
    第1部品の後の処理を行う第2部品を抽出した後に、さらに、該第2部品の後の処理を行う第3部品を抽出し、該第3部品と該第2部品を前記表示装置に表示するように制御する、
    請求項1に記載の情報処理装置。
  3. 前記プロセッサは、
    前記基点となる第1部品以外の部品が選択された場合は、該選択された部品から該第1部品までの経路を抽出し、該経路を前記表示装置に表示するように制御する、
    請求項2に記載の情報処理装置。
  4. 前記プロセッサは、
    前記経路が選択された場合は、該経路上の部品と同じ階層にある部品を前記表示装置から削除するように制御する、
    請求項3に記載の情報処理装置。
  5. 前記プロセッサは、
    前記経路が複数ある場合は、経路を選択できるように、経路リストを前記表示装置に表示するように制御する、
    請求項3に記載の情報処理装置。
  6. 前記プロセッサは、
    経路が選択された場合は、該経路に関する情報を前記表示装置に表示するように制御する、
    請求項5に記載の情報処理装置。
  7. 前記プロセッサは、
    選択された経路を部品として選択可能にし、部品と該経路は異なる形態で前記表示装置に表示するように制御する、
    請求項5に記載の情報処理装置。
  8. 前記プロセッサは、
    前記表示装置に表示された前記部品の仕様に関する情報が変更された場合は、該変更された情報にしたがって、該部品に接続される部品を抽出し直して、該表示装置に表示するように制御する、
    請求項1に記載の情報処理装置。
  9. 前記プロセッサは、
    前記基点となる第1部品以外の部品について、過去の利用回数が多い部品ほど該第1部品に近くなるように、該部品を前記表示装置に表示するように制御する、
    請求項1に記載の情報処理装置。
  10. 前記利用回数として、ユーザーによって過去に生成されたフローにおける第1利用回数と、過去に生成された全体のフローにおける第2利用回数があり、
    前記プロセッサは、
    前記第1利用回数と前記第2利用回数に分けて、前記部品を前記表示装置に表示するように制御する、
    請求項9に記載の情報処理装置。
  11. 前記第2利用回数が同じである場合は、前記第1利用回数が多い部品ほど該部品の表示の大きさを大きくする、
    請求項10に記載の情報処理装置。
  12. 前記基点となる第1部品から数えて第n階層の部品の表示の大きさを、第n−1階層の部品の大きさよりも小さくする、
    請求項9から11のいずれか1項に記載の情報処理装置。
  13. 前記プロセッサは、
    基点となる前記第1部品が入力元である場合は、該第1部品の後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御し、
    基点となる前記第1部品が出力先である場合は、該第1部品の前の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御し、
    基点となる前記第1部品が入力元以外であって、かつ、出力先以外である場合は、該第1部品の前及び後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、
    請求項1に記載の情報処理装置。
  14. メモリと一又は複数のプロセッサを備えたコンピュータの前記メモリは、フローを構成する機能に対応する部品の仕様を記憶しており、
    前記プロセッサに、
    ユーザーが選択した第1部品を基点として、前記部品の仕様を用いて、該第1部品の前又は後の処理を行う第2部品を抽出し、該第2部品と該第1部品を表示装置に表示するように制御する、
    処理を実行させるための情報処理プログラム。
JP2020035186A 2020-03-02 2020-03-02 情報処理装置及び情報処理プログラム Active JP7487494B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020035186A JP7487494B2 (ja) 2020-03-02 2020-03-02 情報処理装置及び情報処理プログラム
US17/027,718 US11320964B2 (en) 2020-03-02 2020-09-22 Information processing apparatus and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035186A JP7487494B2 (ja) 2020-03-02 2020-03-02 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2021140260A true JP2021140260A (ja) 2021-09-16
JP7487494B2 JP7487494B2 (ja) 2024-05-21

Family

ID=77463842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035186A Active JP7487494B2 (ja) 2020-03-02 2020-03-02 情報処理装置及び情報処理プログラム

Country Status (2)

Country Link
US (1) US11320964B2 (ja)
JP (1) JP7487494B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022189282A (ja) * 2021-06-11 2022-12-22 キヤノン株式会社 プログラム、情報処理装置、及び情報処理装置の制御方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69523423T2 (de) * 1994-12-16 2002-06-27 Canon Kk Anzeigeverfahren von hierarchischen Daten und Informationssystem zur Durchführung
US6462762B1 (en) * 1999-08-05 2002-10-08 International Business Machines Corporation Apparatus, method, and program product for facilitating navigation among tree nodes in a tree structure
US7437676B1 (en) * 2003-09-30 2008-10-14 Emc Corporation Methods and apparatus for managing network resources via use of a relationship view
US7650349B2 (en) * 2005-01-05 2010-01-19 Microsoft Corporation Prescribed navigation using topology metadata and navigation path
JP2006309429A (ja) * 2005-04-27 2006-11-09 Funai Electric Co Ltd メニュー項目表示方法
US9557887B2 (en) * 2005-12-27 2017-01-31 International Business Machines Corporation Integrated multidimensional view of hierarchical objects
US8103968B2 (en) * 2006-05-11 2012-01-24 Mediatek Inc. Apparatus, method, and system for representing a multimedia display
US8374636B2 (en) * 2007-05-18 2013-02-12 Shorthand Mobile, Inc. System and method for enhanced communications via small data rate communication systems
US8447181B2 (en) * 2008-08-15 2013-05-21 Tellabs Operations, Inc. Method and apparatus for displaying and identifying available wavelength paths across a network
US20110289119A1 (en) * 2010-05-20 2011-11-24 Sybase, Inc. Methods and systems for monitoring server cloud topology and resources
US9323250B2 (en) * 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
JP2013080351A (ja) 2011-10-03 2013-05-02 Fujitsu Ltd 図形作成支援プログラムおよび図形作成支援装置
JP5962755B2 (ja) 2012-05-31 2016-08-03 富士通株式会社 運用プロセス作成プログラム、運用プロセス作成方法、及び情報処理装置
US20140372956A1 (en) * 2013-03-04 2014-12-18 Atigeo Llc Method and system for searching and analyzing large numbers of electronic documents
JP6257254B2 (ja) 2013-10-08 2018-01-10 キヤノン株式会社 設計支援装置、設計支援方法、及びプログラム
US20150106748A1 (en) * 2013-10-16 2015-04-16 Charles Monte Document exploration, analysis, and collaboration techniques
DE102014006700A1 (de) * 2013-12-23 2015-06-25 Sew-Eurodrive Gmbh & Co Kg Navigationsvorrichtung und Verfahren zur Darstellung eines Navigationsbaums an einem Anzeigegerät
US20160224569A1 (en) 2015-02-03 2016-08-04 General Electric Company System and method for automatically publishing a web form from a semantic query
US20180173385A1 (en) * 2016-12-21 2018-06-21 Siemens Product Lifecycle Management Software Inc. System and Method for Incremental Diagram Node Expansion
US11182382B2 (en) * 2017-04-19 2021-11-23 American International Group, Inc. Integrated object environment system and method
US10884598B2 (en) * 2017-09-29 2021-01-05 Oracle International Corporation Analytics for a bot system
US10726052B2 (en) * 2018-07-03 2020-07-28 Sap Se Path generation and selection tool for database objects
US10936163B2 (en) * 2018-07-17 2021-03-02 Methodical Mind, Llc. Graphical user interface system
US11016648B2 (en) * 2018-10-30 2021-05-25 Johnson Controls Technology Company Systems and methods for entity visualization and management with an entity node editor
US20200379786A1 (en) * 2019-06-03 2020-12-03 Salesforce.Com, Inc. Keyboard interaction model for software builder canvas nodes

Also Published As

Publication number Publication date
US20210271350A1 (en) 2021-09-02
JP7487494B2 (ja) 2024-05-21
US11320964B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US11178096B1 (en) Digital processing systems and methods for smart email duplication and filing in collaborative work systems
CN108292206B (zh) 具有易于使用特征的工作流开发系统
CN105706080B (zh) 扩增并呈现捕获的数据
US8676913B1 (en) Discussion-topic, social network systems
CN101986292B (zh) 根据图像处理表单的方法和系统
US20180020076A1 (en) Electronic and mobile platform to create, store and exchange business cards
US10255253B2 (en) Augmenting and presenting captured data
US20110178981A1 (en) Collecting community feedback for collaborative document development
US20110055264A1 (en) Data mining organization communications
US20090293059A1 (en) Automatically connecting items of workflow in a computer program
CN106068521A (zh) 关于合规策略更新的应用的通信状态
CN1806241A (zh) 数据库查询用户界面
CN1808377A (zh) 由非专属语言驱动的通用序列图生成器
EP3552376B1 (en) Card-based information management method and system
EP2909739A1 (en) Methods and systems for managing spreadsheet models
US20230010119A1 (en) Information processing apparatus, information processing system, and information processing method
CN114594927A (zh) 低代码开发方法、装置、系统、服务器及存储介质
CN108027825B (zh) 在企业中暴露外部内容
US20230186018A1 (en) Method for generating online report using form structure definition db, and computer program for same
JP2021140260A (ja) 情報処理装置及び情報処理プログラム
CN113468117A (zh) 信息处理装置、其控制方法和存储介质
US20140237446A1 (en) Systems and methods for organizing, classifying, and discovering automatically generated computer software
JP2021163447A (ja) 情報処理装置、およびその制御方法とプログラム
US20090300001A1 (en) Server apparatus, catalog processing method, and computer-readable storage medium
JP5187113B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240422

R150 Certificate of patent or registration of utility model

Ref document number: 7487494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150