(57)【要約】      （修正有）【課題】処理ブロック間に配置される処理ブロックの数を制限し、さらに、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示することが出来る技術を提供する。【解決手段】エディタ画面501にて、予め定義された処理に対応する処理ブロック同士を接続線で接続していくことにより処理フローを作成する場合において、処理ブロック間に処理ブロックまたは処理ブロックの組合せを配置する際、処理ブロック間の間隔等から処理ブロック間に配置される処理ブロックの数を制限し、候補計算部は候補計算用データ記憶部に記憶された処理ブロック同士の組合せの履歴を利用して、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せの中から、これまで配置または組み合わされて配置された回数の多い処理ブロックまたは処理ブロックの組合せを、より上位の順位として提示することができる。【選択図】図９
2015045969.tif 000002
【特許請求の範囲】
【請求項１】
予め定義された処理に対応する処理ブロック同士を接続線で接続していくことにより処理フローを作成する機能、を備えた装置において、
ネットワークを介して取得することが可能な、様々なフォーマットで記述された単数または複数のデータをデータソースとし、前記単数または複数のデータソースを前記処理フローによって処理し、前記処理フローによって処理された前記データソースの処理結果を、様々な方法で提供することを特徴とする処理フロー作成支援装置。
【請求項２】
処理ブロック間に配置可能な処理ブロックの数を、処理ブロック間の間隔等から処理ブロック間に配置される処理ブロックの数を制限することを特徴とする請求項1に記載の処理フロー作成支援装置。
【請求項３】
処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せを提示するか否かを、前記処理ブロック間の距離や各処理ブロックの位置や大きさ、前記処理ブロック間に仮配置する処理ブロックに類似するオブジェクトと各処理ブロックとの距離や前記処理ブロック間に仮配置する処理ブロックに類似するオブジェクトの位置や大きさ、などを利用して決定することを特徴とする請求項1に記載の処理フロー作成支援装置。
【請求項４】
予め定義された処理に対応する処理ブロック同士を接続線で接続していくことにより処理フローを作成する機能、及び処理ブロック同士の接続の組合せを記憶する機能、前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された前記処理ブロック同士の組合せを利用し、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示する機能、を備えた装置において、
前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された処理ブロック同士の組合せの履歴を利用して、前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せの中から、これまで配置または組み合わされて配置された回数の多い処理ブロックまたは処理ブロックの組合せをより上位の順位として提示することを特徴とする処理フロー作成支援装置。
【請求項５】
前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せが複数提示された場合、提示された複数の処理ブロックまたは処理ブロックの組合せの中から選択された処理ブロックまたは処理ブロックの組合せを、前記処理ブロック間に配置することを特徴とする請求項4に記載の処理フロー作成支援装置。
【請求項６】
予め定義された処理に対応する処理ブロック同士を接続線で接続していくことにより処理フローを作成する機能、及び処理ブロック同士の接続の組合せを記憶する機能、前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された前記処理ブロック同士の組合せを利用し、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示する機能、を備えた装置において、
処理ブロック間に配置可能な処理ブロックの数を、処理ブロック間の間隔等から処理ブロック間に配置される処理ブロックの数を制限し、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せを提示するか否かを、前記処理ブロック間の距離や各処理ブロックの位置や大きさ、前記処理ブロック間に仮配置する処理ブロックに類似するオブジェクトと各処理ブロックとの距離や前記処理ブロック間に仮配置する処理ブロックに類似するオブジェクトの位置や大きさ、などを利用して決定し、前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された処理ブロック同士の組合せの履歴を利用して、前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せの中から、これまで配置または組み合わされて配置された回数の多い処理ブロックまたは処理ブロックの組合せをより上位の順位として提示することを特徴とする処理フロー作成支援装置。
【請求項７】
前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せが複数提示された場合、提示された複数の処理ブロックまたは処理ブロックの組合せの中から選択された処理ブロックまたは処理ブロックの組合せを、前記処理ブロック間に配置することを特徴とする請求項6に記載の処理フロー作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理フローの作成を支援する技術に関する。
【背景技術】
【０００２】
近年、ビッグデータの加工や分析等を行い、データの特徴や傾向を特定し、各種予測や予防等に役立てようとする動きが活発化してきている。ビッグデータは、企業等が企業活動を通して収集し、社内に蓄積していることもあれば、政府や地方自治体が国や市町村の運営を通して収集し、政府や地方自治体内に蓄積していることもある。政府や地方自治体等の公共機関が蓄積しているデータの一部を、ネットワークを介して公開している場合があり、公開されているデータはオープンデータと呼ばれる。オープンデータは、二次利用可能なフォーマット、例えばcsvやxml等、で公開されている。オープンデータの二次利用、例えば編集・加工されたオープンデータやオープンデータを利用したアプリケーションの利用等、により経済活性化の効果が期待されている。より大きな経済活性化の効果を期待するには、より多くのオープンデータが二次利用されることが重要である。
【０００３】
しかし、csvやxml等のフォーマットで公開されているオープンデータを編集・加工したりオープンデータを利用したアプリケーションを作成したりするためには、プログラミングスキル等が必要であり、オープンデータの編集・加工等を行える人が限定されてしまう。そこで、プログラミングスキル等の無い人でも、オープンデータの編集・加工等を行えることが望ましい。
【０００４】
オープンデータの編集・加工等をプログラミングスキル等が無くても行える方法として、処理フロー(フローチャート、ジョブネット、等とも呼ばれる)を利用した方法がある。
【０００５】
これは、予め小さな処理単位で処理を定義し、予め小さな処理単位で定義された処理に対応する処理フロー構成要素(処理ブロック、処理オブジェクト、処理部品、等と呼ばれる。以下、処理ブロック)を処理の流れを示す接続線で接続していくことにより、所望の処理を完成させる、というものである。処理ブロックの組み合わせにより様々な処理を完成させることが可能になる。しかし、所望の処理を完成させるためには、依然として様々な処理ブロックの中から必要な処理ブロックを適宜選択しなければならない。
【０００６】
そこで、接続可能な処理ブロックの一覧を記載したテーブル用意し、処理ブロック間を接続する接続線を選択することにより、処理ブロック間に配置可能な処理ブロックを提示する、というものが知られている(例えば、特許文献1参照)。これにより、接続可能な処理ブロックの一覧を記載したテーブルを利用して、処理ブロック間に配置可能な処理ブロックを選択できるようになり、処理ブロックの選択にかかる時間の減少や、間違った処理ブロック選択の可能性の減少、という効果が期待できる。また、接続可能な処理ブロックの一覧を記載したテーブルを利用すれば、処理ブロック間に配置可能な単一の処理ブロックだけではなく、処理ブロックの組合せであっても選択できるようになることが容易に想像できる。
【０００７】
また、処理ブロックが他の処理ブロックから処理の入力として受け取るデータの情報や、処理ブロックが他の処理ブロックに渡すデータの情報等を属性情報とし、属性情報によって処理ブロックの形を変化させ、接続可能な処理ブロック同士を視覚的に提示する、というものが知られている(例えば、特許文献2参照)。これにより、ある処理ブロックと接続可能な処理ブロックを、接続可能な処理ブロックの一覧を記載したテーブル等を利用しなくても、属性情報によって限定された処理ブロックの中から選択できるようになり、処理ブロックの選択にかかる時間の減少や、間違った処理ブロック選択の可能性の減少、という効果が期待できる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2001-216142号公報
【特許文献２】特開平6-83601号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の従来技術では、処理ブロック間に配置される処理ブロックを選択する際、処理ブロック間に複数の処理ブロックが配置可能な場合には、処理ブロック間に配置される処理ブロックの組合せを考慮しつつそれぞれの処理ブロックを適宜選択しなければならず、処理ブロック間に配置される処理ブロックの数によっては処理ブロックの組合せのパターンが増大し、それぞれの処理ブロックが接続可能な処理ブロックを網羅的に示すだけでは不十分といえる。
【００１０】
また、属性情報や接続可能な処理ブロックの一覧を記載したテーブルによって接続可能な処理ブロックが限定されるだけであり、限定された処理ブロックの中で、どの処理ブロックがより適切かどうかということまでは分からない。
【００１１】
本発明は、このような事情に鑑みてなされたものであり、処理ブロック間に配置される処理ブロックの数を制限し、さらに、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示することが出来る技術を提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するための一手段を説明する。すなわち、本発明は、処理ブロック間に配置される処理ブロックの数を制限し、さらに、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示することが出来る処理フロー作成支援装置である。
【００１３】
本発明は、処理ブロック同士を接続線で接続していくことにより処理フローを作成する機能、及び処理ブロック同士の接続の組合せを記憶する機能、前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された前記処理ブロック同士の組合せの履歴を利用し、前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示する機能、を備えた装置において、前記処理ブロック間の間隔等から処理ブロック間に配置される処理ブロックの数を制限し、さらに、前記処理ブロック同士の接続の組合せを記憶する機能によって記憶された処理ブロック同士の組合せの履歴を利用して、前記処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せの中から、これまで配置または組み合わされて配置された回数のより多い処理ブロックまたは処理ブロックの組合せをより上位の順位として提示することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、処理フローを作成する際、処理ブロック間に配置される処理ブロックの数を制限することによって、処理ブロック間に配置可能な処理ブロックの組合せのパターンを抑制することが可能で、さらに、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示することによって、処理ブロックまたは処理ブロックの組合せの選択にかかる時間がより減少したり、間違った処理ブロック選択の可能性がより減少したり、という効果が期待できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例におけるウェブサービスの全体構成例を示す図である。
【図２】本発明の実施例におけるデータ提供ポータルサイト101のハードウェア構成例を示す図である。
【図３】本発明の実施例におけるデータマッシュアップサーバ102のハードウェア構成例を示す図である。
【図４】本発明の実施例における本発明の実施例におけるユーザ端末103のハードウェア構成例を示す図である。
【図５】本発明の実施例におけるデータマッシュアップサーバ102からユーザ端末103へインターネット等のネットワーク104を介して送信される情報を、出力部303においてユーザ端末103のユーザに提示したエディタ画面501の構成例を示す図である。
【図６】本発明の実施例におけるエディタ画面501を利用して作成した処理フローの具体例を示す図である。
【図７】本発明の実施例における接続線を利用して処理ブロック同士を接続する際の、接続線と処理ブロックとの接点の一例を示す図である。
【図８】本発明の実施例における接続線を利用して処理ブロックの処理結果を他の処理ブロックに渡す際の、処理結果の渡し方の一例を示す図である。
【図９】本発明の実施例における処理ブロック配置領域503に、すでに配置されている処理ブロックの間に配置可能な処理ブロックの候補を提示する方法の一例を示す図である。
【図１０】本発明の実施例におけるワイルドカード処理ブロック902を処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数の求め方の一例を示す図である。
【図１１】本発明の実施例におけるワイルドカード処理ブロック902を処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数の求め方の一例を示す図である。
【図１２】本発明の実施例における処理ブロックを処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数の求め方の一例を示す図である。
【図１３】本発明の実施例における処理ブロックを処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数の求め方の一例を示す図である。
【図１４】本発明の実施例におけるユーザ端末103の出力部303においてユーザに提示したエディタ画面501のSaveボタン539またはRunボタン542が押された際等に、ユーザ端末103からデータマッシュアップサーバ102に、インターネット等のネットワーク104を介して送信される情報の一例を示す図である。
【図１５】本発明の実施例におけるデータマッシュアップサーバ102の候補計算用データ記憶部310に記憶される候補処理ブロックセット情報テーブル1501、候補処理ブロックセット構成処理ブロック情報テーブル1504、処理結果入力元処理ブロック情報テーブル1509、処理結果出力先処理ブロック情報テーブル1512、の内容例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１７】
図1は、本発明を適用するウェブサービスの全体構成例を示す図である。
【００１８】
ウェブサービス1は、インターネット等のネットワーク104に接続された複数のデータ提供ポータルサイト101、インターネット等のネットワーク104に接続されたデータマッシュアップサーバ102、インターネット等のネットワーク104に接続された複数のユーザ端末103、から構成されるサービスである。
【００１９】
図2は、データ提供ポータルサイト101のハードウェア構成例を示す図である。
【００２０】
データ提供ポータルサイト101は、一般的なサーバ装置により実現でき、制御部201、ネットワークインタフェース部202、提供データ記憶部203、提供データ提供部204、提供データ更新部205、を具備する。各部はBUS(バス)206等により接続されている。
【００２１】
ネットワークインタフェース部202は、制御部201により転送されたIPパケットを、インターネット等のネットワーク104を介してデータマッシュアップサーバ102に送信するとともに、インターネット等のネットワーク104を介してデータ提供ポータルサイト101が受信したIPパケットを制御部201に転送するものであり、ネットワークカード等で構成される。
【００２２】
提供データ記憶部203は、データ提供ポータルサイト101が、インターネット等のネットワーク104を介してデータマッシュアップサーバ102に提供する提供データを記憶するものである。
【００２３】
提供データ提供部204は、インターネット等のネットワーク104を介してデータマッシュアップサーバ102に、提供データ記憶部203に記憶された提供データを提供する機能を有するプログラムである。
【００２４】
提供データ更新部205は、提供データ記憶部203に記憶されている提供データを更新する機能を有するプログラムである。
【００２５】
制御部201は、CPU等で構成され、上記各プログラムを実行する。制御部201は提供データを提供データ記憶部203に記憶する。制御部201は提供データを提供する。制御部201は提供データ記憶部203に記憶された提供データを更新する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００２６】
図3は、データマッシュアップサーバ102のハードウェア構成例を示す図である。
【００２７】
データマッシュアップサーバ102は、一般的なサーバ装置により実現でき、制御部301、ネットワークインタフェース部302、ウェブサービス提供部303、処理実行順序計算部304、処理実行部305、一時ファイル記憶部306、処理結果記憶部307、ユーザデータ記憶部308、ユーザデータ更新部309、候補計算用データ記憶部310、候補計算部311、を具備する。各部はBUS(バス)312等により接続されている。
【００２８】
ネットワークインタフェース部302は、制御部301により転送されたIPパケットを、インターネット等のネットワーク104を介してデータ提供ポータルサイト101またはユーザ端末103に送信するとともに、インターネット等のネットワーク104を介してデータマッシュアップサーバ102が受信したIPパケットを制御部301に転送するものであり、ネットワークカード等で構成される。
ウェブサービス提供部303は、インターネット等のネットワーク104を介してユーザ端末103に、ウェブブラウザ上で表示可能なフォーマット、例えばhtml、で記述されたデータを送信し、かつ、ユーザ端末103のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク104を介して受信し、受信した情報を基に処理実行順序計算部304、処理実行部305、候補計算部311、等での処理を実行するウェブサービス機能を有するプログラムである。
【００２９】
処理実行順序計算部304は、ユーザ端末103のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク104を介して受信し、受信した情報を基に処理実行部305で実行される処理の実行順序を計算する機能を有するプログラムである。
【００３０】
処理実行部305は、ユーザ端末103のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク104を介して受信し、受信した情報を基に処理を実行する機能を有するプログラムである。
【００３１】
一時処理結果記憶部306は、処理実行部305が実行する処理の結果の一部または全部を一時的に記憶するものである。一時処理結果記憶部306は、記憶する処理結果の大きさやフォーマット等に応じてRDB、ファイルサーバ。KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００３２】
処理結果記憶部307は、処理実行部305が実行する処理の結果の一部または全部を記憶するものである。処理結果記憶部307は、記憶する処理結果の大きさやフォーマット等に応じてRDBやファイルサーバ、KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００３３】
ユーザデータ記憶部308は、ユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を、インターネット等のネットワーク104から受信し、記憶するものである。
【００３４】
ユーザデータ更新部309は、ユーザデータ記憶部308に記憶されているユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を更新する機能を有するプログラムである。
【００３５】
候補計算用データ記憶部310は、ユーザ端末103のウェブブラウザ上での操作内容等の情報を記憶するものである。
【００３６】
候補計算部311は、候補計算用データ記憶部310に記憶されたデータを利用し、ユーザ端末103のウェブブラウザ上での操作の候補をユーザ端末103のウェブブラウザ上で操作を行うユーザに提供する機能を有するプログラムである。
【００３７】
制御部301は、CPU等で構成され、上記各プログラムを実行する。制御部301はウェブサービスを提供する。制御部301は処理実行順序を計算する。制御部301は処理を実行する。制御部301は処理実行部305が実行する処理の結果の一部または全部を一時処理結果記憶部306に記憶する。制御部301は処理実行部305が実行する処理の結果の一部または全部を処理結果記憶部307に記憶する。制御部301はユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報をユーザデータ記憶部308に記憶する。制御部301はユーザデータ記憶部308に記憶されたユーザ端末103のウェブブラウザ上で操作を行うユーザのユーザ名やパスワードなどのユーザ自身に関する情報や、ユーザが行うユーザ端末103のウェブブラウザ上での操作内容等の情報を更新する。制御部301はユーザ端末103のウェブブラウザ上での操作内容等の情報を候補計算用データ記憶部310に記憶する。制御部301は候補計算用データ記憶部310に記憶されたデータを利用し、ユーザ端末103のウェブブラウザ上での操作の候補をユーザ端末103のウェブブラウザ上で操作を行うユーザに提供する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００３８】
図4は、ユーザ端末103のハードウェア構成例を示す図である。
【００３９】
ユーザ端末103は、一般的なコンピュータにより実現でき、制御部401、ネットワークインタフェース部402、入力部403、出力部404、を具備する。各部はBUS(バス)405等により接続されている。
【００４０】
ネットワークインタフェース部402は、制御部401により転送されたIPパケットを、インターネット等のネットワーク104を介してデータマッシュアップサーバ102に送信するとともに、インターネット等のネットワーク104を介してユーザ端末103が受信したIPパケットを制御部401に転送するものであり、ネットワークカード等で構成される。
【００４１】
入力部403は、外部からの入力を制御部401に伝えるものであり、キーボードやマウス等で構成される。
【００４２】
出力部404は、制御部401からの情報を外部に出力するものであり、ディスプレイやプリンタ等で構成される。
【００４３】
制御部401はCPU等で構成され、上記各プログラムを実行する。 制御部401は入力部403からの入力情報を受け付ける。制御部401は出力部404へ出力情報を送出する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００４４】
図5は、データマッシュアップサーバ102からユーザ端末103へインターネット等のネットワーク104を介して送信される情報を、出力部303においてユーザ端末103のユーザに提示したエディタ画面501の構成例を示す図である。
【００４５】
エディタ画面501は、JavaScript（登録商標）等を利用して作成され、ウェブブラウザ等のウインドウ上に表示される。
【００４６】
エディタ画面501は、処理ブロックリスト領域502、処理ブロック配置領域503、処理ブロックコントロール領域504、の三つの領域から構成される。
【００４７】
処理ブロックリスト領域502には、それぞれ予め定義された処理に対応するアイテム、例えばアイテム505〜アイテム510、が配置される。予め定義された処理とは、インターネット等のネットワーク104を介してデータをダウンロードする処理や、インターネット等のネットワーク104を介してダウンロードしたデータを加工する処理や、インターネット等のネットワーク104を介してダウンロードしたデータを加工し、加工したデータを一時処理結果記憶部306もしくは処理結果記憶部307に記憶する処理、などで、データマッシュアップサーバ102で実行される。
【００４８】
処理ブロックリスト領域502に配置されたアイテム、例えばアイテム505〜アイテム510、には、それぞれのアイテムに対応するアイテム名、例えばアイテム名511〜アイテム名516、が表示される。
【００４９】
処理ブロックリスト領域502に配置されたアイテムは、処理ブロック配置領域503にドラッグアンドドロップすることが出来る。
【００５０】
処理ブロック配置領域503には、処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップされたアイテムが、処理ブロック、例えば処理ブロック517〜処理ブロック520、として、表示される。アイテム505と処理ブロック517、アイテム512と処理ブロック518、アイテム507と処理ブロック519、アイテム508と処理ブロック520、はドラッグアンドドロップ元アイテムとドラッグアンドドロップ先処理ブロックの関係にある。
【００５１】
ドラッグアンドドロップ元の処理ブロックは、それぞれのドラッグアンドドロップ元のアイテムと同じ予め定義された処理に対応している。
【００５２】
処理ブロックには、例えば処理ブロック517〜処理ブロック520のように、それぞれの処理ブロックに対応する処理ブロック名521〜処理ブロック名524が表示される。
【００５３】
処理ブロックが対応する予め定義された処理に引数が入力可能な場合には、例えば処理ブロック517〜処理ブロック520のように、それぞれの処理ブロックに引数を入力可能な引数ボックス525〜引数ボックス528が表示される。
【００５４】
引数ボックスには、例えば引数ボックス525〜引数ボックス528のように、それぞれの引数ボックスに対応する引数ボックス名529〜引数ボックス名532が表示される。
【００５５】
処理ブロックの幅・高さは固定でもいいし可変でもいい。
【００５６】
処理ブロック同士を、たとえば処理ブロック517と処理ブロック519、処理ブロック518と処理ブロック519、処理ブロック519と処理ブロック520、のように、接続線、例えば接続線533〜接続線535、を利用して接続することで、処理ブロックの処理結果を他の処理ブロックに渡したり、他の処理ブロックの処理結果を受け取り処理の入力として利用したりすることが出来る。
【００５７】
このとき、処理ブロックの下部または右部に、例えば処理ブロック517〜処理ブロック519、のように、接続線、例えば接続線533〜接続線535、が接続されている場合には、処理ブロックの処理結果を他の処理ブロックへ渡し、処理ブロックの上部または左部に、例えば処理ブロック519〜処理ブロック520のように、接続線、例えば接続線533〜接続線535、が接続されている場合には、他の処理ブロックの処理結果を受け取り処理の入力として利用する。
【００５８】
接続線を利用して処理ブロック同士を接続していくことで、複数の処理により構成される処理フロー、例えば処理フロー536、を記述することができ、処理ブロックの組み合わせにより、より複雑な処理を行うことができる。
【００５９】
処理ブロックコントロール領域504には、Loginボタン537、Logoutボタン538、Saveボタン539、Loadボタン540、Clearボタン541、Runボタン542が配置されている。
【００６０】
Loginボタン537が押されると、エディタ画面501を利用するユーザはユーザ名やパスワード等を利用してLoginすることができ、例えばLoginを行えば、処理ブロックリスト領域502にユーザごとに異なるアイテムが表示されたり、処理ブロック表示領域503に配置した処理ブロックや接続線等の情報をSaveしたりLoadしたりすることが可能となる。Loginボタン537が押された時は、例えばLoginを行うポップアップウインドウが表示されてもいいし、Loginを行うウェブページに遷移してもいい。
【００６１】
Logoutボタンが押されると、エディタ画面501を利用するユーザはLoginした状態からLogoutすることができる。
【００６２】
Saveボタン539が押されると、Saveボタン539が押されたことを特定可能な識別子と、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報がインターネット等のネットワーク104を介してデータマッシュアップサーバ102に送信される。
【００６３】
Saveボタン539が押されたことを特定可能な識別子と、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報をインターネット等のネットワーク104を介して受信したデータマッシュアップサーバ102は、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線533が接続している処理ブロック同士の接続情報を、ユーザデータ記憶部308に記憶する。すでにユーザデータ記憶部308に処理ブロック配置領域503に配置されていた各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続していた処理ブロック同士の接続情報が記憶されている場合には、新しく受信した処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報を利用してユーザデータ記憶部308を更新する。
【００６４】
処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報は、処理ブロックの配置、移動、削除、サイズの変更、や接続線の追加、削除、接続している処理ブロックの変更、などをトリガーとしてAjax等の非同期通信技術を利用して随時インターネット等のネットワーク104を介して、処理ブロックの配置、移動、削除、サイズの変更、や接続線の追加、削除、接続している処理ブロックの変更、などが行われたことを特定可能な識別子と共にデータマッシュアップサーバ102に送信してもいい。
【００６５】
Loginする際に必要なユーザ名やパスワード等のユーザ自身に関する情報や、ユーザごとの処理ブロックリスト領域502に表示されるアイテムや、処理ブロック表示領域503に配置した処理ブロックや接続線等の情報は、ユーザデータ記憶部308に記憶され、複数または全てのユーザがこれまで処理ブロック表示領域503に配置した処理ブロックや接続線等の情報は、候補計算用データ記憶部310に記憶される。
【００６６】
Loadボタン540が押されると、Loadボタン540が押されたことを特定可能な識別子がインターネット等のネットワーク104を介してデータマッシュアップサーバ102に送信される。
【００６７】
Loadボタン540が押されたことを特定可能な識別子をインターネット等のネットワーク104を介して受信したデータマッシュアップサーバ102は、ユーザデータ記憶部308に記憶されている処理ブロック配置領域503に配置されていた各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続していた処理ブロック同士の接続情報を、インターネット等のネットワーク104を介してユーザ端末103に送信する。
【００６８】
処理ブロック配置領域503に配置されていた各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続していた処理ブロック同士の接続情報を、インターネット等のネットワーク104を介して受信したユーザ端末103は、各処理ブロックの位置や接続線533により接続されている処理ブロック同士の接続状態を復元し、処理ブロック表示領域503上に表示する。
【００６９】
Clearボタン541が押されると、処理ブロック配置領域503に現在表示されている各処理ブロック及び接続線が消去される。
【００７０】
Runボタン542が押されると、Runボタン542が押されたことを特定可能な識別子と、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報がインターネット等のネットワーク104を介してデータマッシュアップサーバ102に送信される。
【００７１】
Runボタン542が押されたことを特定可能な識別子と、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報をインターネット等のネットワーク104を介して受信したデータマッシュアップサーバ102は、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報、及び接続線が接続している処理ブロック同士の接続情報を利用して、それぞれの処理ブロックが対応する予め定義された処理が実行される順序を決定する。
【００７２】
それぞれの処理ブロックが対応する予め定義された処理の結果は、最後に実行される処理を除き、一時処理結果記憶部306に記憶され、最後に実行される処理は処理結果記憶部307に記憶される。
【００７３】
一時処理結果記憶部306により、例えば、処理結果を他の処理ブロックに渡す処理ブロックの処理結果は一時処理結果記憶部306に記憶され、他の処理ブロックの処理結果を受け取り処理の入力として利用する処理ブロックは、処理結果記憶部306に記憶された他の処理ブロックの処理結果を処理の入力として利用できる。
【００７４】
Runボタン542が押された後に、エディタ画面501は処理結果記憶部307に記憶される処理結果へのリンクが表示されているウェブページに遷移してもよい。また、処理結果へのリンクを選択した場合に、処理結果はファイルとしてダウンロードされてもいいし、ウェブページ上に、例えば、表、グラフ、地図、として表示されてもいい。
【００７５】
図6は、エディタ画面501を利用して作成した処理フローの具体例を示す図である。
【００７６】
具体例では、任意のURLから地区単位のポリゴンデータをダウンロードし、任意のURLから地区単位の人口数データをダウンロードし、ダウンロードした二つのデータを利用して地区単位の人口数の大小で地区単位のポリゴンデータに色付けし、最終的に地区単位の人口数の大小で地区単位に色付けされたポリゴンを地図上にマッピングすることを想定している。
【００７７】
具体例の示す処理フロー613は、例えば、以下の手順1〜手順6により作成することが出来る。
【００７８】
手順1:先ず、任意のURLからデータをダウンロードする処理に対応したアイテム601を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック607を表示させる。処理ブロック607の引数ボックス611に地区単位のポリゴンデータ、例えばkmlフォーマットのファイル、をダウンロードするURLを入力する。処理ブロック607は、ダウンロードした地区単位のポリゴンデータを接続線で接続されたその他の処理ブロックへ渡す。
【００７９】
手順2:次に、任意のURLからデータをダウンロードする処理に対応したアイテム601を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック608を表示させる。処理ブロック608の引数ボックス612に地区単位の人口数データ、例えばcsvフォーマットのファイル、をダウンロードするURLを入力する。処理ブロック608は、ダウンロードした地区単位の人口数データを接続線で接続されたその他の処理ブロックへ渡す。
【００８０】
手順3:次に、地区単位のポリゴンデータと地区単位の人口数を入力として、地区単位の人口数の大小で地区単位にポリゴンの色付けを行う処理に対応したアイテム602を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック609を表示される。処理ブロック609は、地区単位の人口数の大小で地区単位に色付けされたポリゴンデータ、例えばkmlフォーマットのファイル、を接続線で接続されたその他の処理ブロックへ渡す。
【００８１】
手順4:次に、地区単位に色付けされたポリゴンデータを入力として、地区単位に色付けされたポリゴンの地図上へのマッピングを行う処理に対応したアイテム603を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック610を表示させる。処理ブロック610は、地区単位に色付けされたポリゴンを地図上にマッピングしたファイル、例えばhtmlファイル、を作成する。
【００８２】
手順5:次に、処理ブロック607と処理ブロック608の処理結果を処理ブロック609に渡し処理ブロック609の処理の入力とするために、処理ブロック607の下部と処理ブロック609の上部、処理ブロック608の下部と処理ブロック609の上部、を、それぞれ接続線613と接続線614で接続する。
【００８３】
手順6:最後に、処理ブロック609の処理結果を処理ブロック610に渡し処理ブロック610の処理の入力とするために、処理ブロック609の下部と処理ブロック610の上部を接続線615で接続する。
【００８４】
図７は、接続線を利用して処理ブロック同士を接続する際の、接続線と処理ブロックとの接点の一例を示す図である。
【００８５】
処理ブロック701と処理ブロック702を接続しているように、接続線705は、直接処理ブロック701及び処理ブロック702の外周の線に接してもいいし、処理ブロック703と処理ブロック704を接続しているように、接続線706は、処理ブロック703及び処理ブロック704の外周の線上にそれぞれ配置されたターミナル707及びターミナル708に接してもいい。
【００８６】
図8は、接続線を利用して処理ブロックの処理結果を他の処理ブロックに渡す際の、処理結果の渡し方の一例を示す図である。
【００８７】
処理ブロック801及び処理ブロック803の処理結果が、例えばcsvやtsv等のカンマやタブでカラム毎に値が分割されているフォーマットのデータの場合、処理ブロック801及び処理ブロック803それぞれの引数ボックス805及び引数ボックス806にカラム番号を入力することにより、接続線で接続された他の処理ブロックに渡されるデータのカラムを限定してもいい。この時、引数ボックス805及び引数ボックス806に入力するカラム番号の順番を換え、接続線で接続された他の処理ブロックに渡されるデータのカラムの順番を換えてもよい。
【００８８】
処理ブロック801及び処理ブロック803からの出力は、処理ブロック801と処理ブロック802の間のように、一本の接続線、例えば接続線807、で接続してもいいし、処理ブロック803と処理ブロック804の間のように、他の処理ブロックに渡すデータのカラム数に応じて、例えばターミナル813〜ターミナル816のように、ターミナルを配置し、他の処理ブロックから受け取るデータのカラム数に応じて、例えばターミナル817〜ターミナル819のように、ターミナルを配置し、配置されたターミナル同士を一つ以上の接続線、例えば接続線810〜接続線812、で接続してもいい。
【００８９】
処理ブロック803のように、ターミナルが複数ある場合、処理ブロック803の引数ボックス806に入力されたカラム番号を左から数えた時の順番と処理ブロック806に配置されたターミナル813〜ターミナル816を左から数えた時の順番は対応するものとする。
【００９０】
処理ブロック803や処理ブロック804のように、ターミナルが複数ある場合、処理ブロック803のターミナルの数と処理ブロック804のターミナルの数が一致している必要はなく、また、処理ブロック803のターミナル813〜ターミナル816と処理ブロック804のターミナル817〜ターミナル819の間であれば、どのターミナル同士を接続してもいい。
【００９１】
処理結果を他の処理ブロックに渡す処理ブロック、例えば処理ブロック801と処理ブロック803、は、他の処理ブロックに渡すデータの情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型、など、を属性情報として保持していてもいい。
【００９２】
他の処理ブロックの処理結果を受け取り処理の入力として利用する処理ブロック、例えば処理ブロック802と処理ブロック804、は、受け取ることが出来るデータの情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型、など、を属性情報として保持していてもいい。
【００９３】
処理ブロックからその他の処理ブロックへ渡されるデータの情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型、など、によっては、データを渡す処理ブロックのターミナルの一部または全部とデータを受け取る処理ブロックのターミナルの一部または全部を接続線を利用して接続できなくしてもいい。例えば、処理ブロック803が他の処理ブロックへ渡すデータの情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型と、処理ブロック804が受け取ることが出来るデータの情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム等のデータ型、など、が異なる場合は、処理ブロック803のターミナル813〜ターミナル316と処理ブロック804のターミナル817〜ターミナル819の一部または全部を接続線を利用して接続できなくしてもいい。
【００９４】
処理ブロック、ターミナル、引数ボックス及び接続線は、それぞれを特定可能な識別子を属性情報として保持してもいい。
【００９５】
ターミナルは、ターミナルが属する処理ブロックごとに、ターミナルを左から数えた時の順番を、属性情報として保持してもいい。
【００９６】
ターミナルは、処理ブロックの処理結果を他の処理ブロックに渡す際に利用されるターミナル、例えばターミナル808及びターミナル813〜ターミナル816、なのか、それとも他の処理ブロックの処理結果を処理の入力として受け取る際に利用されるターミナル、例えばターミナル809及びターミナル817〜ターミナル819、なのか、という情報を、属性情報として保持してもいい。
【００９７】
図9は、処理ブロック配置領域503に、すでに配置されている処理ブロックの間に配置可能な処理ブロックの候補を提示する方法の一例を示す図である。
【００９８】
例えば、処理ブロック607と処理ブロック608でそれぞれ地区単位のポリゴンデータと地区単位の人口数データをダウンロードし、最終的には、処理ブロック610で地区単位の人口数の大小で地区単位に色付けされたポリゴンを地図上に表示させる、ということが分かっているが、処理ブロック607及び処理ブロック608と処理ブロック610の間に配置可能な処理ブロックが分からないとする。
【００９９】
そこで、先ず、任意のURLからデータをダウンロードする処理に対応したアイテム601を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック607を表示させる。処理ブロック607の引数ボックス611に地区単位のポリゴンデータをダウンロードするURLを入力する。処理ブロック607は、ダウンロードした地区単位のポリゴンデータを接続線で接続されたその他の処理ブロックへ渡す。
【０１００】
次に、任意のURLからデータをダウンロードする処理に対応したアイテム601を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック608を表示させる。処理ブロック608の引数ボックス612に地区単位の人口数データをダウンロードするURLを入力する。処理ブロック608は、ダウンロードした地区単位の人口数データを接続線で接続されたその他の処理ブロックへ渡す。
【０１０１】
次に、地区単位に色付けされたポリゴンデータを入力として、地区単位に色付けされたポリゴンの地図上へのマッピングを行う処理に対応したアイテム603を処理ブロックリスト領域502から処理ブロック表示領域503にドラッグアンドドロップし、処理ブロック610を表示させる。処理ブロック610は、地区単位に色付けされたポリゴンを地図上にマッピングしたファイルを作成する。
【０１０２】
次に、アイテム901を処理ブロックリスト領域502から処理ブロック表示領域503の処理ブロック607及び処理ブロック608と処理ブロック610の間にドラッグアンドドロップし、ワイルドカード処理ブロック902を表示させる。
【０１０３】
すると、処理ブロック607及び処理ブロック608の処理結果を受け取り処理の入力として利用し、処理結果を処理ブロック610に渡す候補処理ブロック、例えば候補処理ブロック904や候補処理ブロック905など、を候補処理ブロックリスト903に提示する。
【０１０４】
候補処理ブロックリスト903に提示されている候補処理ブロックをクリックなどで選択することで、ワイルドカード902を表示した処理ブロック表示領域503の処理ブロック607及び処理ブロック608と処理ブロック610の間に、選択された候補処理ブロックが処理ブロックとして表示される。
【０１０５】
なお、既に処理ブロック表示領域に処理ブロック、例えば処理ブロック607及び処理ブロック608、が表示されており、次に、その他の処理ブロック、例えば処理ブロック610、を表示させたときに、処理ブロック607及び処理ブロック608と処理ブロック610の距離やそれぞれの処理ブロックの位置等により、候補処理ブロックリスト903を表示させてもいい。
【０１０６】
処理ブロック表示領域503の任意の場所で右クリック等を行いメニュー等を表示させ、メニュー上の項目等を選択することにより、処理ブロック表示領域503にワイルドカード処理ブロックを表示させてもよい。
【０１０７】
ワイルドカード処理ブロック902を表示させた際、処理ブロック、例えば処理ブロック607、処理ブロック608、処理ブロック610、との仮接続線、例えば仮接続線906〜仮接続線908、を表示させてもいい。
【０１０８】
候補処理ブロックリスト903の候補処理ブロックまたは候補処理ブロックの組合せは、データマッシュアップサーバ102の候補計算用データ記憶部310に記憶されたこれまで処理ブロック表示領域503に配置された処理ブロックや接続線等の情報を利用して提示される。
【０１０９】
例えば、ワイルドカード処理ブロック902を表示させた際、処理結果をワイルドカード処理ブロック902に渡す処理ブロックまたは処理ブロックの組合せ、例えば処理ブロック607と処理ブロック608、と、ワイルドカード処理ブロックの処理結果を受け取り入力として利用する処理ブロックまたは処理ブロックの組合せ、例えば処理ブロック610、の情報と、候補計算用データ記憶部310に記憶されたこれまで処理ブロック表示領域503に配置された処理ブロックや接続線等の情報を組合せ、からワイルドカード処理ブロック902に入り得る処理ブロックまたは処理ブロックの組合せを求め、候補処理ブロックリスト903に提示する。
【０１１０】
尚、候補処理ブロックリスト903に提示される処理ブロックまたは処理ブロックの組合せが複数ある場合には、これまでに、処理ブロック607と処理ブロック608の処理結果を受け取り処理の入力として利用し、処理結果を処理ブロック610に渡した回数が、より多い処理ブロックまたは処理ブロックの組合せを候補処理ブロックリスト903のより上方の位置に提示してもいい。
【０１１１】
また、候補処理ブロックリスト903に提示される処理ブロックまたは処理ブロックの組合せが複数ある場合には、候補処理ブロックの数が少ないまたは多い等、で優先度を高くしてもよい。
【０１１２】
候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向または横方向に連結される最大数は、処理結果をワイルドカード処理ブロック902に渡す処理ブロックまたは処理ブロックの組合せ、例えば処理ブロック607と処理ブロック608、の縦や横の長さ、及び、ワイルドカード処理ブロックの処理結果を受け取り入力として利用する処理ブロックまたは処理ブロックの組合せ、例えば処理ブロック610、の縦や横の長さ、及び、処理ブロック607及び処理ブロック608と処理ブロック610の距離、及び、処理ブロックと処理ブロックを接続線で接続する際の、任意に決められた接続線の最短の長さとするなどから求められる。
【０１１３】
候補処理ブロックリスト903に提示される候補処理ブロックまたは候補処理ブロックの組合せは、処理ブロックまたは処理ブロックの組合せからワイルドカード処理ブロックへ渡される処理結果の情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型、など、及びワイルドカード処理ブロックから処理ブロックまたは処理ブロックの組合せへ渡される処理結果の情報、例えばフォーマット、csvやtsvの場合はカラム数やカラム毎のデータ型、など、によって限定されてもよい。
【０１１４】
図10は、ワイルドカード処理ブロック902を処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数の求め方の一例を示す図である。
【０１１５】
先ず、処理ブロック1001を処理ブロック配置領域503に配置したとする。次に、処理ブロック1002を処理ブロック配置領域503に配置したとする。そして処理ブロック1001と処理ブロック1002の間に、ワイルドカード処理ブロック902を配置したとする。この場合、以下の条件Aを満たし、かつ、条件A1〜A9のいずれかを満たし、かつ、条件a1〜a9のいずれかを満たす場合に、候補処理ブロックリスト903を表示するものとする。なお、条件Aを満たし、かつ、条件A1〜A9のいずれかを満たし、かつ、条件a1〜a9のいずれかを満たす処理ブロックは複数あってもよい。
【０１１６】
条件A、条件A1〜A9及び条件a1〜a9では、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1001の中央のX座標1003、処理ブロック1001の左端のX座標1010、処理ブロック1001の右端のX座標1011及び処理ブロック1001の下端のY座標1006、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1002の中央のX座標1004、処理ブロック1002の左端のX座標1012、処理ブロック1002の右端のX座標1013及び処理ブロック1002の上端のY座標1007、ワイルドカード処理ブロック902の中央のX座標1005、ワイルドカード処理ブロック902の左端のX座標1014、ワイルドカード処理ブロック902の右端のX座標1015、ワイルドカード処理ブロック902の上端のY座標1008及びワイルドカード処理ブロック902の下端のY座標1009、を利用する。
【０１１７】
条件A:Y座標1006の値はY座標1008の値よりも閾値J1以上大きく、かつY座標1009の値はY座標1007の値よりも閾値J1以上大きい。閾値J1は処理ブロックと処理ブロックを接続線で接続する際の、任意に決められた接続線の最短の長さとする。
【０１１８】
条件A1:X座標1003の値とX座標1004の値との差W(a)が閾値T1以下となる。閾値T1は処理ブロック1001及び処理ブロック1002の大きさや処理ブロック配置領域503の大きさ等から決定する。なお、X座標1003及びX座標1004の値は、それぞれ処理ブロックの中央のX座標の値ではなく、処理ブロック左端や右端のX座標の値でもいい。
【０１１９】
条件A2:X座標1010の値はX座標1012の値よりも小さく、かつ、X座標1011の値はX座標1012の値と等しい。
【０１２０】
条件A3:X座標1010の値はX座標1012の値よりも小さく、かつ、X座標1011の値はX座標1012の値よりも大きい。
【０１２１】
条件A4:X座標1010の値はX座標1012の値と等しく、かつ、X座標1011の値はX座標1012の値よりも大きい。
【０１２２】
条件A5:X座標1010の値はX座標1013の値よりも小さく、かつ、X座標1011の値はX座標1013の値と等しい。
【０１２３】
条件A6:X座標1010の値はX座標1013の値よりも小さく、かつ、X座標1011の値はX座標1013の値よりも大きい。
【０１２４】
条件A7:X座標1010の値はX座標1013の値と等しく、かつ、X座標1011の値はX座標1013の値よりも大きい。
【０１２５】
条件A8:X座標1010の値はX座標1012の値よりも大きく、かつ、X座標1011の値はX座標1013の値よりも小さい。
【０１２６】
条件A9:X座標1010の値はX座標1012の値と等しく、かつ、X座標1011の値はX座標1013の値と等しい。
【０１２７】
条件a1:X座標1005の値とX座標1004の値との差W(b)が閾値T2以下となる。閾値T2は処理ブロック1002及びワイルドカード処理ブロック902の大きさや処理ブロック配置領域503の大きさ等から決定する。なお、X座標1005、X座標1004は、それぞれ処理ブロックの中央のX座標ではなく、処理ブロック左端や右端のX座標でもいい。
【０１２８】
条件a2:X座標1014の値はX座標1012の値よりも小さく、かつ、X座標1015の値はX座標1012の値と等しい。
【０１２９】
条件a3:X座標1014の値はX座標1012の値よりも小さく、かつ、X座標1015の値はX座標1012の値のよりも大きい。
【０１３０】
条件a4:X座標1014の値はX座標1012の値と等しく、かつ、X座標1015の値はX座標1012の値よりも大きい。
【０１３１】
条件a5:X座標1014の値はX座標1013の値よりも小さく、かつ、X座標1015の値はX座標1013の値と等しい。
【０１３２】
条件a6:X座標1014の値はX座標1013の値よりも小さく、かつ、X座標1015の値はX座標1013の値よりも大きい。
【０１３３】
条件a7:X座標1014の値はX座標1013の値と等しく、かつ、X座標1015の値はX座標1013の値よりも大きい。
【０１３４】
条件a8:X座標1014の値はX座標1012の値よりも大きく、かつ、X座標1015の値はX座標1013の値よりも小さい。
【０１３５】
条件a9:X座標1014の値はX座標1012の値と等しく、かつ、X座標1015の値はX座標1013の値と等しい。
【０１３６】
候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数を求めるには、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1001の下端のY座標1006、処理ブロック1001の縦の長さ、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1002の上端のY座標1007、処理ブロック1002 の縦の長さ、を利用する。
【０１３７】
処理ブロック1001と処理ブロック1002の縦の長さの平均をL1とし、任意に決められた接続線の最短の長さを閾値J1とし、L1と閾値J1を足したものをN1とし、Y座標1006の値とY座標1007の値との差をN1で割った際の商をS1、剰余をM1とする。この時、S1が1の場合には、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数を1とし、S1が2以上の場合には、M1が閾値J1以上であれば商の数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数とし、M1が閾値J1より小さければS1の値から1引いた数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数とする。
【０１３８】
なお、L1を処理ブロック1001と処理ブロック1002の縦の長さの平均ではなく、予め値を決めておいてもよい。
【０１３９】
図11は、ワイルドカード処理ブロック902を処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数の求め方の一例を示す図である。
【０１４０】
先ず、処理ブロック1101を処理ブロック配置領域503に配置したとする。次に、処理ブロック1102を処理ブロック配置領域503に配置したとする。そして処理ブロック1101と処理ブロック1102の間に、ワイルドカード処理ブロック902を配置したとする。この場合、以下の条件Bを満たし、かつ、条件B1〜B9のいずれかを満たし、かつ、条件b1〜b9のいずれかを満たす場合に、候補処理ブロックリスト903を表示するものとする。なお、条件Bを満たし、かつ、条件B1〜B9のいずれかを満たし、かつ、条件b1〜b9のいずれかを満たす処理ブロックは複数あってもよい。
【０１４１】
条件B、条件B1〜B9及び条件b1〜b9では、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1101の中央のY座標1103、処理ブロック1101の上端のY座標1110、処理ブロック1101の下端のY座標1111及び処理ブロック1101の右端のX座標1106、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1102の中央のY座標1104、処理ブロック1102の上端のY座標1112、処理ブロック1102の下端のY座標1113及び処理ブロック1102の左端のX座標1107、ワイルドカード処理ブロック907の中央のY座標1105、ワイルドカード処理ブロック907の上端のY座標1114、ワイルドカード処理ブロック907の下端のY座標1115、ワイルドカード処理ブロック907の左端のX座標1108及びワイルドカード処理ブロック907の右端のX座標1109、を利用する。
【０１４２】
条件B:X座標1106の値はX座標1108の値よりも閾値J2以上小さく、かつX座標1109の値はX座標1107の値よりも閾値J2以上小さい。閾値J2は処理ブロックと処理ブロックを接続線で接続する際の、任意に決められた接続線の最短の長さとする。
【０１４３】
条件B1:Y座標1103の値とY座標1104の値との差W(c)が閾値T3以下となる。閾値T3は処理ブロック1101及び処理ブロック1102の大きさや処理ブロック配置領域503の大きさ等から決定する。なお、Y座標1103及びY座標1104の値は、それぞれ処理ブロックの中央のY座標の値ではなく、処理ブロック上端や下端のY座標の値でもいい。
【０１４４】
条件B2:Y座標1110の値はY座標1112の値よりも大きく、かつ、Y座標1111の値はY座標1112の値と等しい。
【０１４５】
条件B3:Y座標1110の値はY座標1112の値よりも大きく、かつ、Y座標1111の値はY座標1112の値よりも小さい。
【０１４６】
条件B4:Y座標1110の値はY座標1112の値と等しく、かつ、Y座標1111の値はY座標1112の値よりも小さい。
【０１４７】
条件B5:Y座標1110の値はY座標1113の値よりも大きく、かつ、Y座標1111の値はY座標1113の値と等しい。
【０１４８】
条件B6:Y座標1110の値はY座標1113の値よりも大きく、かつ、Y座標1111の値はY座標1113の値よりも小さい。
【０１４９】
条件B7:Y座標1110の値はY座標1113の値と等しく、かつ、Y座標1111の値はY座標1113の値よりも小さい。
【０１５０】
条件B8:Y座標1110の値はY座標1112の値よりも小さく、かつ、Y座標1111の値はY座標1113の値よりも大きい。
【０１５１】
条件B9:Y座標1110の値はY座標1112の値と等しく、かつ、Y座標1111の値はY座標1113の値と等しく。
【０１５２】
条件b1:Y座標1105の値とY座標1104の値との差W(d)が閾値T4以下となる。閾値T4は処理ブロック1102及びワイルドカード処理ブロック902の大きさや処理ブロック配置領域503の大きさ等から決定する。なお、Y座標1105、Y座標1104は、それぞれ処理ブロックの中央のY座標ではなく、処理ブロック上端や下端のY座標でもいい。
【０１５３】
条件b2:Y座標1114の値はY座標1112の値よりも大きく、かつ、Y座標1115の値はY座標1112の値と等しい。
【０１５４】
条件b3:Y座標1114の値はY座標1112の値よりも大きく、かつ、Y座標1115の値はY座標1112の値のよりも小さい。
【０１５５】
条件b4:Y座標1114の値はY座標1112の値と等しく、かつ、Y座標1115の値はY座標1112の値のよりも小さい。
【０１５６】
条件b5:Y座標1114の値はY座標1113の値よりも大きく、かつ、Y座標1115の値はY座標1113の値と等しい。
【０１５７】
条件b6:Y座標1114の値はY座標1113の値よりも大きく、かつ、Y座標1115の値はY座標1113の値よりも小さい。
【０１５８】
条件b7:Y座標1114の値はY座標1113の値と等しく、かつ、Y座標1115の値はY座標1113の値よりも小さい。
【０１５９】
条件b8:Y座標1114の値はY座標1112の値よりも小さく、かつ、Y座標1115の値はY座標1113の値よりも大きい。
【０１６０】
条件b9:Y座標1114の値はY座標1112の値と等しく、かつ、Y座標1115の値はY座標1113の値と等しい。
【０１６１】
候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数を求めるには、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1101の右端のX座標1106、処理ブロック1101の横の長さ、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1102の左端のX座標1107、処理ブロック1102 の横の長さ、を利用する。
【０１６２】
処理ブロック1101と処理ブロック1102の横の長さの平均をL2とし、任意に決められた接続線の最短の長さを閾値J2とし、L2と閾値J2を足したものをN2とし、X座標1106の値とX座標1107の値との差をN2で割った際の商をS2、剰余をM2とする。この時、S2が1の場合には、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数を1とし、S2が2以上の場合には、M2が閾値J2以上であれば商の数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数とし、M2が閾値J2より小さければS2の値から1引いた数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数とする。
【０１６３】
なお、L2を処理ブロック1201と処理ブロック1202の横の長さの平均ではなく、予め値を決めておいてもよい。
【０１６４】
図12は、処理ブロックを処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数の求め方の一例を示す図である。
【０１６５】
先ず、処理ブロック1201を処理ブロック配置領域503に配置したとする。次に、処理ブロック1202を処理ブロック配置領域503に配置したとする。この場合、以下の条件Cを満たし、かつ、条件C1〜C9のいずれかを満たす場合に、候補処理ブロックリスト903を表示するものとする。なお、条件Cを満たし、かつ、条件C1〜C9のいずれかを満たす処理ブロックは複数あってもよい。
【０１６６】
条件C及び条件C1〜C9では、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1201の中央のX座標1203、処理ブロック1201の左端のX座標1207、処理ブロック1201の右端のX座標1208及び処理ブロック1201の下端のY座標1205、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1202の中央のX座標1204、処理ブロック1202の左端のX座標1209、処理ブロック1202の右端のX座標1210及び処理ブロック1202の上端のY座標1206、を利用する。
【０１６７】
条件C:Y座標1205の値はY座標1206の値よりも閾値T5以上大きい。処理ブロック1201と処理ブロック1202の縦の長さの平均をL3とし、任意に決められた接続線の最短の長さを閾値J3とし、J3に2を掛け、さらにL3と足し合わせたものをT5とする。なお、L3を処理ブロック1201と処理ブロック1202の縦の長さの平均ではなく、予め値を決めておいてもよい。
【０１６８】
条件C1:X座標1203の値とX座標1204の値との差W(e)が閾値T6以下となる。閾値T6は処理ブロックの大きさや処理ブロック配置領域503の大きさ等から決定する。なお、X座標1203及びX座標1204の値は、それぞれ処理ブロックの中央のX座標の値ではなく、処理ブロック左端や右端のX座標の値でもいい。
【０１６９】
条件C2:X座標1207の値はX座標1209の値よりも小さく、かつ、X座標1208の値はX座標1209の値と等しい。
【０１７０】
条件C3:X座標1207の値はX座標1209の値よりも小さく、かつ、X座標1208の値はX座標1209の値よりも大きい。
【０１７１】
条件C4:X座標1207の値はX座標1209の値と等しく、かつ、X座標1208の値はX座標1209の値よりも大きい。
【０１７２】
条件C5:X座標1207の値はX座標1210の値よりも小さく、かつ、X座標1208の値はX座標1210の値と等しい。
【０１７３】
条件C6:X座標1207の値はX座標1210の値よりも小さく、かつ、X座標1208の値はX座標1210の値よりも大きい。
【０１７４】
条件C7:X座標1207の値はX座標1210の値と等しく、かつ、X座標1208の値はX座標1210の値よりも大きい。
【０１７５】
条件C8:X座標1207の値はX座標1209の値よりも大きく、かつ、X座標1208の値はX座標1210の値よりも小さい。
【０１７６】
条件C9:X座標1207の値はX座標1209の値と等しく、かつ、X座標1208の値はX座標1210の値と等しい。
【０１７７】
候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数を求めるには、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1201の下端のY座標1205、処理ブロック1201の縦の長さ、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1202の上端のY座標1206、処理ブロック1202 の縦の長さ、を利用する。
【０１７８】
処理ブロック1201と処理ブロック1202の縦の長さの平均をL3とし、任意に決められた接続線の最短の長さを閾値J3とし、L3と閾値J3を足したものをN3とし、Y座標1205の値とY座標1206の値との差をN3で割った際の商をS3、剰余をM3とする。この時、S3が1の場合には、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数を1とし、S3が2以上の場合には、M3が閾値J3以上であれば商の数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数とし、M3が閾値J3より小さければS3の値から1引いた数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で縦方向に連結される最大数とする。
【０１７９】
なお、L3を処理ブロック1201と処理ブロック1202の縦の長さの平均ではなく、予め値を決めておいてもよい。
【０１８０】
図13は、処理ブロックを処理ブロック配置領域503に配置した際に、候補処理ブロックリスト903を表示する条件の一例、及び候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数の求め方の一例を示す図である。
【０１８１】
先ず、処理ブロック1301を処理ブロック配置領域503に配置したとする。次に、処理ブロック1302を処理ブロック配置領域503に配置したとする。この場合、以下の条件Dを満たし、かつ、条件D1〜D9のいずれかを満たす場合に、候補処理ブロックリスト903を表示するものとする。なお、条件Dを満たし、かつ、条件D1〜D9のいずれかを満たす処理ブロックは複数あってもよい。
【０１８２】
条件D及び条件D1〜D9では、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1301の中央のY座標1303、処理ブロック1301の上端のY座標1307、処理ブロック1301の下端のY座標1308及び処理ブロック1301の右端のX座標1305、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1302の中央のY座標1304、処理ブロック1302の上端のY座標1309、処理ブロック1302の下端のY座標1310及び処理ブロック1302の左端のX座標1306、を利用する。
【０１８３】
条件D:X座標1305の値はX座標1306の値よりも閾値T7以上大きい。処理ブロック1301と処理ブロック1302の縦の長さの平均をL4とし、任意に決められた接続線の最短の長さを閾値J4とし、J4に2を掛け、さらにL4と足し合わせたものをT7とする。なお、L4を処理ブロック1301と処理ブロック1302の縦の長さの平均ではなく、予め値を決めておいてもよい。
【０１８４】
条件D1:Y座標1303の値とY座標1304の値との差W(g)が閾値T8以下となる。閾値T8は処理ブロックの大きさや処理ブロック配置領域503の大きさ等から決定する。なお、Y座標1303及びY座標1304の値は、それぞれ処理ブロックの中央のY座標の値ではなく、処理ブロック上端や下端のY座標の値でもいい。
【０１８５】
条件D2:Y座標1307の値はY座標1309の値よりも大きく、かつ、Y座標1308の値はY座標1309の値と等しい。
【０１８６】
条件D3:Y座標1307の値はY座標1309の値よりも大きく、かつ、Y座標1308の値はY座標1309の値よりも小さい。
【０１８７】
条件D4:Y座標1307の値はY座標1309の値と等しく、かつ、Y座標1308の値はY座標1309の値よりも小さい。
【０１８８】
条件D5:Y座標1307の値はY座標1310の値よりも大きく、かつ、Y座標1308の値はY座標1310の値と等しい。
【０１８９】
条件D6:Y座標1307の値はY座標1310の値よりも大きく、かつ、Y座標1308の値はY座標1310の値よりも小さい。
【０１９０】
条件D7:Y座標1307の値はY座標1310の値と等しく、かつ、Y座標1308の値はY座標1310の値よりも小さい。
【０１９１】
条件D8:Y座標1307の値はY座標1309の値よりも小さく、かつ、Y座標1308の値はY座標1310の値よりも大きい。
【０１９２】
条件D9:Y座標1307の値はY座標1309の値と等しく、かつ、Y座標1308の値はY座標1310の値と等しい。
【０１９３】
候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数を求めるには、処理結果を候補処理ブロックリスト903で選択された処理ブロックまたは処理ブロックの組合せに渡す処理ブロック1301の右端のX座標1305、処理ブロック1301の横の長さ、候補処理ブロックリスト907で選択された処理ブロックまたは処理ブロックの組合せの処理結果を入力として受け取る処理ブロック1302の左端のX座標1306、処理ブロック1302 の横の長さ、を利用する。
【０１９４】
処理ブロック1301と処理ブロック1302の横の長さの平均をL4とし、任意に決められた接続線の最短の長さを閾値J4とし、L4と閾値J4を足したものをN4とし、X座標1305の値とX座標1306の値との差をN4で割った際の商をS4、剰余をM4とする。この時、S4が1の場合には、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数を1とし、S4が2以上の場合には、M4が閾値J4以上であれば商の数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数とし、M4が閾値J4より小さければS4の値から1引いた数を、候補処理ブロックリスト903に提示される候補処理ブロックの組合せを構成する処理ブロックが接続線で横方向に連結される最大数とする。
【０１９５】
なお、L4を処理ブロック1301と処理ブロック1302の横の長さの平均ではなく、予め値を決めておいてもよい。
【０１９６】
図14は、ユーザ端末103の出力部303においてユーザに提示したエディタ画面501のSaveボタン539またはRunボタン542が押された際等に、ユーザ端末103からデータマッシュアップサーバ102に、インターネット等のネットワーク104を介して送信される情報の一例を示す図である。
【０１９７】
Saveボタン539、またはRunボタン542が押された際等に、ユーザ端末103からデータマッシュアップサーバ102に、インターネット等のネットワーク104を介して送信される情報1404は、Saveボタン539、またはRunボタン542が押されたこと等を特定可能な識別子に関する情報1401と、処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報1402、及び接続線が接続している処理ブロック同士の接続情報1403により構成される。
【０１９８】
Saveボタン539、またはRunボタン542が押されたこと等を特定可能な識別子に関する情報1401は、例えば、 Saveボタン539、またはRunボタン542が押されたこと等を特定可能な文字列(A)、として表記してもよく、例えば、Saveボタン539が押された場合は"Save"などに、Runボタン542が押された場合は"Run"などに、処理ブロックの配置、移動、削除、サイズの変更、や接続線の追加、削除、接続している処理ブロックの変更等が行われた場合には"Changed"などとしてもいい。
【０１９９】
処理ブロック配置領域503に配置されている各処理ブロックの位置、高さ、幅などの情報 1402は、例えば、処理ブロックを特定可能な識別子(B)、引数ボックスを特定可能な識別子(C)、引数ボックスに入力された値(D)、処理ブロックのX座標(E)、処理ブロックのY座標(F)、処理ブロックの幅(G)、処理ブロックの高さ(H)、により構成される。
【０２００】
接続線が接続している処理ブロック同士の接続情報1403は、例えば、接続線を特定可能な識別子(K)、接続線が下部または右部に接続している処理ブロックを特定可能な識別子(L)、接続線がターミナルに接続している場合には接続しているターミナルを特定可能な識別子(M)、接続線が下部または右部に接続している処理ブロックを特定可能な識別子(N)、接続線がターミナルに接続している場合には接続しているターミナルを特定可能な識別子(O)、により構成される。
【０２０１】
図15は、データマッシュアップサーバ102の候補計算用データ記憶部310に記憶される候補処理ブロックセット情報テーブル1501、候補処理ブロックセット構成処理ブロック情報テーブル1504、処理結果入力元処理ブロック情報テーブル1509、処理結果出力先処理ブロック情報テーブル1512、の内容例を示す図である。
【０２０２】
候補処理ブロックセット情報テーブル1501、候補処理ブロックセット構成処理ブロック情報テーブル1504、処理結果入力元処理ブロック情報テーブル1509、処理結果出力先処理ブロック情報テーブル1512、に記憶される情報は、ユーザ端末103の出力部303においてユーザに提示したエディタ画面501のSaveボタン539またはRunボタン542が押された際等に、ユーザ端末103からデータマッシュアップサーバ102に、インターネット等のネットワーク104を介して送信される情報を利用して作成され、候補処理ブロックリスト903に提示される候補処理ブロックを求める際に利用される。
【０２０３】
候補処理ブロックセット情報テーブル1501には、候補処理ブロックセットを特定可能な識別子、例えば候補処理ブロックセットID1502、と出現回数1503、を示す情報がそれぞれ対応付けて記憶される。
【０２０４】
候補処理ブロックセットとは、候補処理ブロックリスト903に提示される候補処理ブロックまたは候補処理ブロックの組合せである。候補処理ブロックセットに処理結果を渡す処理ブロックまたは処理ブロックの組合せ、もしくは候補処理ブロックセットの処理結果を受け取り処理の入力として利用する処理ブロックまたは処理ブロックの組合せが異なる場合には、それぞれの候補処理ブロックセットは異なる候補処理ブロックセットIDを持つ。
【０２０５】
出現回数とは、ユーザ端末103の出力部303においてユーザに提示したエディタ画面501のSaveボタン539またはRunボタン542が押された際等に、ユーザ端末103からデータマッシュアップサーバ102に、インターネット等のネットワーク104を介して送信される情報にこれまで出現した候補処理ブロックセットの出現回数である。
【０２０６】
候補処理ブロックセット構成処理ブロック情報デーブル1504には、候補処理ブロックセットID1505と、各候補処理ブロックセットを構成するそれぞれの候補処理ブロックを特定可能な識別子、例えば候補処理ブロックセット構成処理ブロックID1506、と、各候補処理ブロックセットを構成するそれぞれの構成処理ブロックに処理結果を渡す処理ブロックまたは処理ブロックの組合せを特定可能な識別子、例えば処理結果入力元処理ブロックセットID1507、と、各候補処理ブロックセットを構成するそれぞれの構成処理ブロックの処理結果を渡す処理ブロックまたは処理ブロックの組合せを特定可能な識別子、例えば処理結果出力先処理ブロックセットID1508、を示す情報がそれぞれ対応付けて記憶される。
【０２０７】
処理結果入力元処理ブロック情報テーブル1509には、処理結果入力元処理ブロックセットID1510と、処理結果を他の処理ブロックに渡す処理ブロックを特定可能な識別子、例えば処理ブロックID1511、を示す情報がそれぞれ対応付けて記憶される。
【０２０８】
処理結果出力先処理ブロック情報テーブル1512には、処理結果出力先処理ブロックセットID1513と、他の処理ブロックの処理結果を受け取り処理の入力として利用する処理ブロックを特定可能な識別子、例えば処理ブロックID1514、を示す情報がそれぞれ対応付けて記憶される。
【０２０９】
候補処理ブロックセットID1502の値と候補処理ブロックセットID1505の値、処理結果入力元処理ブロックセットID1507の値と処理結果入力元処理ブロックセットID1510の値、処理結果出力先処理ブロックセットID1508の値と処理結果出力先処理ブロックセットID1513の値、が、それぞれ同じであるならば、それぞれのIDは同じ対象を示している。
【０２１０】
候補処理ブロックセット情報テーブル1501、候補処理ブロックセット構成処理ブロック情報テーブル1504、処理結果入力元処理ブロック情報テーブル1509、処理結果出力先処理ブロック情報テーブル1512、に記憶される情報を利用すれば、例えば、処理ブロックIDがb_001の処理ブロックと処理ブロックIDがb_002の処理結果を受け取り処理の入力として利用し、処理結果を処理ブロックIDがb_101に渡す候補処理ブロックまたは候補処理ブロック組合せ、を求めることが出来る。
【０２１１】
具体的には、先ず、処理結果入力元処理ブロック情報テーブル1509から、処理ブロックID1511がb_001またはb_002の処理結果入力元処理ブロックセットID1510の値I_001及びI_002を求める。次に、処理結果出力先処理ブロック情報テーブル1512から、処理ブロックID1514がb_101の処理結果出力先処理ブロックセットID1513の値O_002を求める。
【０２１２】
次に、候補処理ブロックセット構成処理ブロック情報テーブル1504から、処理結果入力元処理ブロックセットID1507がI_001かつI_002で処理結果出力先処理ブロックセットID1508がO_002である候補処理ブロックセットID1505の値k_001を求める。
【０２１３】
候補処理ブロックセットID1505の値k_001と対応付けて記憶されている候補処理ブロックセット構成処理ブロックID1506の値、処理結果入力元処理ブロックセットID1507の値、処理結果出力先処理ブロックセットID1508の値、と、処理結果入力元処理ブロック情報テーブル1509に記憶された処理ブロックID1511の値と処理結果出力先処理ブロック情報テーブル1512に記憶された処理ブロックID1514の値から、候補処理ブロックセットを構成する処理ブロックまたは候補処理ブロックの組合せ、を求めることが出来る。
【０２１４】
なお、複数の候補処理ブロックセットID1505の値が得られた場合、得られた処理ブロックセットID1505の値に対応する出現回数1503の値を求め、例えば出現回数の多い候補処理ブロックセットを構成する候補処理ブロックまたは候補処理ブロックの組合せ程、優先度を高くし、候補処理ブロックリスト903のより上方の位置に提示してもいい。
【０２１５】
複数の候補処理ブロックセットID1505の値が得られた場合、候補処理ブロックセットを構成する候補処理ブロックの数が少ない、または多い程、優先度を高くし、候補処理ブロックリスト903のより上方の位置に提示してもいい。
【０２１６】
以上本発明の実施例を説明したが、上記実施例によれば、処理フローを作成する際、処理ブロック間に配置される処理ブロックの数を制限することによって、処理ブロック間に配置可能な処理ブロックの組合せのパターンを抑制することが可能で、さらに、処理ブロック間に配置可能な処理ブロックまたは処理ブロックの組合せをより適切と考えられる順序により順位づけて提示することによって、処理ブロックまたは処理ブロックの組合せの選択にかかる時間がより減少したり、間違った処理ブロック選択の可能性がより減少したり、という効果が期待できる。
【０２１７】
また、上記実施例ではオープンデータを例にとり説明したが、本発明の適用先がオープンデータもしくはオープンデータに類するものに限定されるわけではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【０２１８】
1・・・ウェブサービス、101・・・データ提供ポータルサイト、102・・・データマッシュアップサーバ、103・・・ユーザ端末、104・・・インターネット等のネットワーク、201・・・制御部、202・・・ネットワークインタフェース部、203・・・提供データ記憶部、204・・・提供データ提供部、205・・・提供データ更新部、206・・・BUS、301・・・制御部、302・・・ネットワークインタフェース部、303・・・ウェブサービス提供部、304・・・処理実行順序計算部、305・・・処理実行部、306・・・一時処理結果記憶部、307・・・処理結果記憶部、308・・・ユーザデータ記憶部、309・・・ユーザデータ更新部、310・・・候補計算用データ記憶部、311・・・候補計算部、312・・・BUS、401・・・制御部、402・・・ネットワークインタフェース部、403・・・入力部、404・・・出力部、405・・・BUS。
【図１】
2015045969.tif 000003
【図２】
2015045969.tif 000004
【図３】
2015045969.tif 000005
【図４】
2015045969.tif 000006
【図５】
2015045969.tif 000007
【図６】
2015045969.tif 000008
【図７】
2015045969.tif 000009
【図８】
2015045969.tif 000010
【図９】
2015045969.tif 000011
【図１０】
2015045969.tif 000012
【図１１】
2015045969.tif 000013
【図１２】
2015045969.tif 000014
【図１３】
2015045969.tif 000015
【図１４】
2015045969.tif 000016
【図１５】
2015045969.tif 000017