JP6529544B2 - 物体の接続の順序を動作の順序として特定する装置 - Google Patents

物体の接続の順序を動作の順序として特定する装置 Download PDF

Info

Publication number
JP6529544B2
JP6529544B2 JP2017133513A JP2017133513A JP6529544B2 JP 6529544 B2 JP6529544 B2 JP 6529544B2 JP 2017133513 A JP2017133513 A JP 2017133513A JP 2017133513 A JP2017133513 A JP 2017133513A JP 6529544 B2 JP6529544 B2 JP 6529544B2
Authority
JP
Japan
Prior art keywords
information
objects
instruction
control block
block
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.)
Active
Application number
JP2017133513A
Other languages
English (en)
Other versions
JP2019016189A (ja
Inventor
哲郎 向後
哲郎 向後
剛 茅森
剛 茅森
太志 中村
太志 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L E Tech CO Ltd
Original Assignee
L E Tech CO Ltd
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 L E Tech CO Ltd filed Critical L E Tech CO Ltd
Priority to JP2017133513A priority Critical patent/JP6529544B2/ja
Publication of JP2019016189A publication Critical patent/JP2019016189A/ja
Application granted granted Critical
Publication of JP6529544B2 publication Critical patent/JP6529544B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、物体の接続の順序を動作の順序として特定する装置に関する。
特許文献1〜4に記載されているように、ビギナーがより簡単にコンピュータプログラムを学べる技術として物理ブロックを用いたコンピュータプログラム生成システムが知られている。
特許第3052524号公報 特許第3024335号公報 特許第3049945号公報 実用新案登録第3206586号公報
コンピュータプログラムなどの動作をより簡単に作成し、楽しむことが望まれている。
各ブロックが有する情報を接続の順に取得する装置。
本発明の実施例による装置は、互いに通信可能に接続され、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する一又は二以上の物体と、前記一又は二以上の物体の少なくとも一つに通信可能に接続され、前記一又は二以上の物体の前記接続の順序を特定する第1の物体とを備えることができる。
本発明の実施例による装置は、互いに通信可能に接続されている一又は二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する一又は二以上の物体の少なくとも一つに通信可能に接続され、前記一又は二以上の物体の前記接続の順序を特定することができる。
本発明の実施例によるコンピュータプログラムは、互いに通信可能に接続されている一又は二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する一又は二以上の物体の少なくとも一つに通信可能に接続されている第1の物体が、前記一又は二以上の物体の前記接続の順序を特定するために用いることができる。
本発明の実施例による方法は、互いに通信可能に接続されている一又は二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する一又は二以上の物体の少なくとも一つに通信可能に接続されている第1の物体が、前記一又は二以上の物体の前記接続の順序を特定するステップを含むことができる。
図1は、本発明の実施例による制御ブロックの実施例を示す。 図2は、制御ブロックを備えたシステムを示す。 図3は、ブロックが接続されている状態の第1の実施例の模式図を示す。 図4は、図3に示した実施例の処理フローを示す。 図5は、ブロックが接続されている状態の第2の実施例の模式図を示す。 図6は、図5に示した実施例の処理フローを示す。 図7は、図5に示した実施例の変形例による処理フローを示す。
図1は、本発明の実施例による制御ブロックの実施例を示す。ブロックは、開始端制御ブロック102、制御ブロック105、110及び115、及び、終端制御ブロック120を有する。制御ブロック105、110及び115は、例えば、プログラムの内容を表す命令又は命令を指定する情報を有する。制御ブロック105、110及び115は、命令又は命令を指定する情報を記憶する不揮発性記憶媒体を備える。
ブロック102、105、110、115及び120は、例えば、立方体の形状とすることができる。立方体の形状は、例示であり、ブロックの形状は、直方体、球体、三角柱、棒などの幾何学的形状であってもよい。さらに、ブロックの形状は、幾何学的形状ではない動物などのぬいぐるみや、自動車やロボットのような形態を模した形状であってもよい。言い換えると、ブロックは、物体として定義することもできる。開始端制御ブロック102、制御ブロック105、110及び115、及び、終端制御ブロック120は、有線を介して互いに接続することができる。有線は、例えば、シリアル接続、パラレル接続、USBなどの有線接続手段によって実現される。また、接続は無線で実現されてもよい。言い換えると、各ブロックは、互いに通信できればよい。
図1において、制御ブロック105、110及び115それぞれは、プログラムの内容を表す命令を有している。制御ブロック105、110及び115は、それぞれ、「↑」(上(前)に進む)、「→」(右に曲がる)及び「↑」(上(前)に進む)命令を有している。制御ブロック105、110及び115は、この順序にて数珠つなぎで物理的に接続される。これにより、制御ブロック105、110及び115は、互いに電気的に接続され、互いに通信を行うことができる。本実施例において、制御ブロック105、110及び115において、ブロック外部から認識可能なしるし「↑」、「→」及び「↑」は、それぞれのブロックが記憶している命令と関連付けされている。また、認識には、視覚的認識が含まれており、さらに、触覚的認識や、聴覚的認識、嗅覚的認識などが含まれていてもよい。
開始端制御ブロック102は、制御ブロックの一つであるブロック105に物理的に接続される。終端制御ブロック120は、制御ブロックの一つであるブロック115に物理的に接続される。これにより、開始端制御ブロック102は、制御ブロック105、110及び115を介して終端制御ブロック120に電気的に接続することができる。したがって、開始端制御ブロック102、制御ブロック105、110及び115、及び、終端制御ブロック120は、互いに通信可能となる。
開始端制御ブロック102及び終端制御ブロック120が電気的に接続されたことに応じて、開始端制御ブロック102及び/又は終端制御ブロック120は、それらブロック102及び120に挟まれている制御ブロック105、110及び115が有する命令及びそれら命令を実行する順序を収集する。命令及び命令の順序の収集の詳細については後述する。順序は、例えば、ブロックの接続順序とすることができる。図1の例では、制御ブロック105が記憶する命令が1番目、制御ブロック110が記憶する命令が2番目及び制御ブロック115が記憶する命令が3番目に実行される順序とすることができる。
図2は、制御ブロックを備えたシステムを示す。複数の制御ブロック102、105、110、115及び125、及び、コンピュータ装置150を備えている。
開始端制御ブロック102及び/又は終端制御ブロック120は、命令を収集すると、収集した命令をコンピュータ装置150に有線又は無線を介して送信する。これにより、ユーザは、一又は二以上の命令からなるプログラム作成が終了したことを、ブロックに設けるボタンを用いた明示的な提示などを行うことなく、開始端制御ブロック102及び終端制御ブロック120の接続によって得ることができる。
他の実施例において、開始端制御ブロック102及び終端制御ブロック120のいずれか一方のみが準備されるだけでもよい。この場合、開始端制御ブロック102及び終端制御ブロック120の代わりに、命令の収集を行う1つのデータ収集ブロックがあればよい。この場合、データ収集ブロックは、ボタンや他の入力手段を有しており、入力手段を介してユーザから入力を受けたことに応じて、収集した命令をコンピュータ装置150に有線又は無線を介して送信することができる。
コンピュータ装置150は、表示装置152を有し、受信した命令に基づいて処理を実行する。本実施例では、例えば、表示装置152は、マス目を有するマップ153及びキャラクタ154を表示する。コンピュータ装置150は、命令に基づいて、表示装置152のキャラクタ154を動かす。例えば、キャラクタ154は、制御ブロック105の命令「↑」に基づいて、スタートのマス155から160に移動し、制御ブロック110の命令「→」に基づいて、マス160から165に移動し、さらに、制御ブロック115の命令「↑」に基づいて、マス165から170に移動する。これにより、子供や、初めてプログラムを作成する人であっても、簡単にコンピュータプログラミングの作成と実行が体験できる。
ここで、コンピュータプログラムにおいてプログラムの作成及び実行とは、プログラムステップの作成とプログラムステップの実行における内部レジスタ、メモリの演算結果であったり、外部I/Oの動作結果であったりする。言い換えるとプログラムステップの実行によりそのプログラムステップの実行結果が内部レジスタ、メモリ、外部I/Oに作用して一連の目的を達成する。また、プログラムステップの作成において各ステップの実行結果を確認することが重要であり、本来期待するプログラムの動作と違う場合、プログラムの構成、内容を確認し、正しいプログラムステップに修正する作業が重要となる。
本発明において、上記のプログラミングの概念を教育するに当たり、動作の意味を持たせた制御ブロックの一連の並びを作成し、動作対象物に制御ブロックで定義した一連の動作を実行させることや、動作対象物の動作の確認において期待する動作と違う場合には制御ブロックの並びを変えることにより期待した動作を実現することができる。このことは、プログラミングにおけるプログラムステップの作成とプログラムステップの実行検証にあたり、実際のプログラミング言語を使わなくてもブロックを並べる遊びの中で楽しくプログラミング概念の教育となる効果が期待される。
上記の実施例において、開始端制御ブロック102及び終端制御ブロック120の両方を準備する場合、開始端制御ブロック102(又は終端制御ブロック120)が終端制御ブロック120(又は開始端制御ブロック102)に電気的に接続されたことを検出したことに応じて、開始端制御ブロック102及び/又は終端制御ブロック120は、命令の収集及び/又はコンピュータ装置150への命令の送信などを実行することができる。この場合、開始端制御ブロック102及び終端制御ブロック120の間の電気的接続は、開始端制御ブロック102及び/又は終端制御ブロック120が命令の収集などの処理を開始するトリガーとなる。
他の実施例において、開始端制御ブロック102(又は終端制御ブロック120)は、命令を周期的に各制御ブロックから収集することができる。開始端制御ブロック102(又は終端制御ブロック120)が終端制御ブロック120(又は開始端制御ブロック102)に電気的に接続されたことを検出したことに応じて、開始端制御ブロック102及び/又は終端制御ブロック120は、収集した命令をコンピュータ装置150へ送信することができる。
他の実施例において、開始端制御ブロック102及び終端制御ブロック120のいずれか一方のみが準備される。すなわち、開始端制御ブロック102及び終端制御ブロック120の代わりに、データ収集ブロックが準備される。この場合、ユーザによる入力などが命令の収集などの処理を開始するトリガーとなる。一実施例において、データ収集ブロックは、ユーザによる入力を受ける入力手段を有する。入力手段は、ボタン、液晶タッチパネルなどのユーザの入力を直接的に受ける手段とすることができる。一実施例において、データ収集ブロックは、ユーザによる入力を無線又は有線を介して外部装置(例えば、コンピュータ装置150や他の装置)から受ける入力手段を有し外部装置からの入力をトリガとしてデータ収集を行ってもよい。したがって、データ収集ブロックは、入力手段がユーザからの入力を受けたことに応じて、各制御ブロックから命令を収集する及び/又はその命令を送信することができる。
他の実施例において、データ収集ブロックは、ユーザからの入力等を受けることなく周期的(例えば、1秒、5秒、10秒など)に各制御ブロックから命令を収集してもよい。この場合、データ収集ブロックは、入力手段がユーザからの入力を受けたことに応じて、収集した命令の送信を行うことができる。
他の実施例において、開始端制御ブロック102及び/又は終端制御ブロック120は、開始端制御ブロック102及び終端制御ブロック120間の上記電気的接続を検出し、さらに、ユーザによる入力を受けたことに応じて、命令の収集などの処理を開始してもよい。
他の実施例において、各ブロックの接続は無線で実現されてもよい。制御ブロック105、110及び115は、リーダが無線で読取可能な記憶媒体を有していてもよい。開始端制御ブロック102及び終端制御ブロック120のいずれか一方は、リーダを有しており、制御ブロック105、110及び115と通信が可能である。これにより、リーダが記憶媒体から情報を読み取ることができる。例えば、ユーザが、リーダを有するブロックを、図1及び2に示したように並んでいる制御ブロック105、110及び115に沿って動かすことによって、制御ブロックの情報を取得することができる。一実施例において、リーダが無線で読取可能な記憶媒体としてRFIDタグ、リーダとしてRFIDリーダなどが用いられ得る。
制御ブロック105、110及び115は、物理的な形状に基づいてリーダを有するブロックを受け入れるように構成されていてもよい。例えば、制御ブロック105、110及び115それぞれにおいて、それらの上面にレール形状が施されており、制御ブロック105、110及び115を並べると、それらの上面に1つのレールが形成される。そのレールは、リーダを有するブロックの少なくとも一部の形状と適合するように構成されている。これにより、ユーザは、リーダを有するブロックを制御ブロック105、110及び115に沿って、それらブロックの上面をより的確に動かすことができる。
上記実施例において、命令の収集は、命令自体の収集、命令を実行すべき順序、命令を識別する識別子、及び、各制御ブロックの識別子などのような命令や制御ブロックに関連する情報の少なくとも一つを含むことができる。
上述のコンピュータ装置150が命令に基づいてキャラクタを動作させる例は、一例であり、本発明の実施例は、これに限定されない。例えば、キャラクタは、乗り物などの物体であってもよい。他の実施例において、コンピュータ装置150の代わりに動作可能な物体であってもよい。例えば、終端制御ブロック120から命令を受信する物体は、車輪などの移動手段を持った物体とすることができる。他の実施例において、データ収集ブロック、開始端制御ブロック102及び/又は終端制御ブロック120は、命令を送信しなくてもよい。例えば、ブロックの少なくとも一つそれ自体(例えば、ブロック102〜120のいずれのブロックでもよい)が命令に基づいて動作(例えば、動く、光る、音を出すなど)するように構成されていてもよい。他の実施例において、全てのブロック(例えば、ブロック102〜120の全てのブロック)が命令に基づいて動作するように構成されていてもよい。
上記の実施例において、制御ブロック105、110及び115が有する命令(制御ブロック105が有する「上」又は「前」に進む命令など)は、例示であり、それらに限定されない。制御ブロック105、110及び115が有する命令は、視覚、聴覚、触覚、味覚及び嗅覚などの人間が感知できる命令とすることができる。例えば、視覚の命令は、移動、光、色などに基づくことができる。聴覚の命令は、音に基づくことができる。触覚の命令は、移動や振動などの接触による感知に基づくことができる。
図3は、ブロックが接続されている状態の第1の実施例の模式図を示す。本実施例において、装置全体300は、5つのブロックを含んでおり、データ収集ブロック302、第1の制御ブロック304、第2の制御ブロック306、第3の制御ブロック308及び第4の制御ブロック310を含んでいる。当業者であれば理解されるように、制御ブロックの数は例示であり、4より少なくてもよい、また、4より多くてもよい。
データ収集ブロック302は、制御部322、外部入出力インタフェース324、送信部326、接続検出部328、受信部330及び固有情報記憶部332を備えている。第1の制御ブロック304、第2の制御ブロック306、第3の制御ブロック308及び第4の制御ブロック310は、制御部342、接続通知部344、送信部346、接続検出部348、受信部350、固有情報記憶部352及び送信先切替部354を備えている。第1の制御ブロック304、第2の制御ブロック306、第3の制御ブロック308及び第4の制御ブロック310は、ほぼ同じ構成とすることができる。
データ収集ブロック302の制御部322及び制御ブロック304〜310の制御部342は、プロセッサ及びメモリを少なくとも有し、当該制御部を備えたブロックそれぞれを制御する。データ収集ブロック302の外部入出力インタフェース324は、コンピュータ装置150のような外部装置と通信を行うためのインタフェースである。データ収集ブロック302の送信部326及び受信部330、及び、各制御ブロック304〜310の制御部342の送信部346及び受信部350は、各ブロック間の通信を可能にする。データ収集ブロック302の固有情報記憶部332及び各制御ブロックの固有情報記憶部352は、ブロックの識別子や、一連の所定の動作の一部を定義し、ブロックに関連付けされている命令、ブロックを制御させるための命令(コンピュータプログラム)などを記憶している。
データ収集ブロック302の接続検出部328は、制御ブロックが接続されたことを検出する。一実施例において、データ収集ブロック302は、接続検出部328に接続されている凸型コネクタを有し、各制御ブロックは、接続通知部344に接続されている凹型コネクタを有する。データ収集ブロック302の凸型コネクタが第1の制御ブロック304の凹型コネクタに接続されると、第1の制御ブロック304の接続通知部344は、データ収集ブロック302が第1の制御ブロック304に接続されたことをデータ収集ブロック302に通知し、データ収集ブロック302の接続検出部328は、第1の制御ブロック304がデータ収集ブロック302に接続されたことを検出する。
各制御ブロックは、例えば凸型コネクタを有する接続検出部348を備えており、凸型コネクタを他の制御ブロックの接続通知部344に接続されている凹型コネクタに接続することができる。これにより、例えば、第1の制御ブロック304の接続検出部348は、第2の制御ブロック306の接続通知部344を用いて、これらのブロックが接続されていることを検出することができる。各制御ブロックは、送信先切替部354を備える。送信先切替部354は、接続検出部348に接続されている。送信先切替部348は、接続検出部348が他の制御ブロックへの接続を検出したことに応じて、送信部346の送信先を切り替える。例えば、各制御ブロックが左側(図3に関し、制御ブロックにおいてデータ収集ブロック302へ近い側)に凹型コネクタを有し、右側(図3に関し、制御ブロックにおいてデータ収集ブロック302から遠い側)に凸型コネクタを有する場合、各制御ブロックの送信先切替部354は、送信部346の送信を凸型コネクタ又は凹型コネクタを介して行うことを切り替えることができる。すなわち、第1の制御ブロック304は、データ収集ブロック302へデータを送信するか、又は、第2の制御ブロック306へデータを送信するか切り替えることができる。具体的には、第1の制御ブロック304は、接続検出部348が接続を検出したことに応じて、送信先切替部354を用いて第2の制御ブロック306へデータを送信し、接続を検出しないことに応じて、データ収集ブロック302へデータを送信する。本実施例において、左側の凹型コネクタへの送信先の切替は、第4の制御ブロック310のみが行う。第4の制御ブロック310からデータ収集ブロック302へのデータを送信する線を、各ブロックの接続により形成することによって、第4の制御ブロック310の送信部346は、他の制御ブロックそれぞれの送信部を用いることなく、情報をデータ収集ブロック302に送信することができる。これにより、送信部の部品を削減することができる。
図4は、図3に示した実施例の処理フローを示す。まず、データ収集ブロック302は、各制御ブロックが記憶する情報を収集するための要求を第1の制御ブロック304に送信する(ステップ405)。第1の制御ブロック304は、第2の制御ブロック306に接続されていることに応じて、制御部342を用いて固有情報記憶部352から第1の情報を取得し、要求及び第1の情報を第2の制御ブロック306に送信する(ステップ410)。第1の情報は、第1の制御ブロック304の識別子、及び、第1の制御ブロック304に関連付けされている命令の少なくとも一方を含むことができる。第2の制御ブロック306は、固有情報記憶部352から第2の情報を取得する。これにより、第2の制御ブロック306は、第1の制御ブロック304から受信した要求及び第1の情報と第2の情報とを取得することができる。第2の制御ブロック306は、要求、第1の情報及び第2の情報を第3の制御ブロック308に送信する(ステップ415)。
第3の制御ブロック308は、固有情報記憶部352から第3の情報を取得し、要求、第1の情報、第2の情報及び第3の情報を第4の制御ブロック310に送信する(ステップ420)。第4の制御ブロック310は、固有情報記憶部352から第4の情報を取得する。また、第4の制御ブロック310は、例えば、右側の凸型コネクタ(図3に関し、制御ブロックにおいてデータ収集ブロック302から遠い側)の接続が無いことを検出する。第4の制御ブロック310は、さらなる接続が無いことを検出したことに応じて、データの送信先を左側の凹型コネクタ(図3に関し、制御ブロックにおいてデータ収集ブロック302へ近い側)に決定する。第4の制御ブロック310は、要求、第1の情報、第2の情報、第3の情報及び第4の情報を第3の制御ブロック308、第2の制御ブロック306及び第1の制御ブロック304を介してデータ収集ブロック302に送信する(ステップ425)。各制御ブロックが、それ自体のブロックに関連付けされている第1の情報、第2の情報、第3の情報及び第4の情報を順に組み合わせることで、データ収集ブロック302は、実行順序が特定されている命令を取得することができる。一実施例において、第1の情報、第2の情報、第3の情報及び第4の情報は、それぞれに関連付けされているブロックの識別子であってもよい。これにより、データ収集ブロック302は、それら識別子の並びにより、制御ブロックの接続順序を取得することができる。
上記のように各制御ブロックの接続検出部348は次の制御ブロックの接続通知部344に接続されることにより次の制御ブロックの存在を検出できるが、接続通知部344が接続されていない制御ブロックは最端の制御ブロックと判定されその制御ブロックで受信データが送信部を介して折り返しされデータ収集ブロック322へ送信される。
他の実施例において、データ収集ブロック302は、制御ブロックにその制御ブロックを制御するための命令を送信することができる。例えば、ステップ425の後、データ収集ブロック302は、各制御ブロックの識別子を維持することができる。一実施例において、データ収集ブロック302は、第3の制御ブロックの識別子を含む第3の情報に基づいて、第1の制御ブロック304及び第2の制御ブロック306を介して第3の制御ブロック308に命令を送信することができる(ステップ450、455、460)。命令は、第3の制御ブロック308を動作させるための命令であってもよい。この時各制御ブロックは受信した命令が当該ブロックの命令でなければそのまま送信部に渡し、次の制御ブロックへ送信し、当該ブロックへの命令であれば処理を行う。例えば、データ収集ブロック302は、第3の制御ブロック308に光を発生させる命令を送信し、この命令に基づいて第3の制御ブロック308が発光する。例えば、データ収集ブロック302が第3の制御ブロック308から第3の情報を取得した後に第3の制御ブロック308に光を発生させる命令を送信する。これにより、ユーザは、データ収集ブロック302が第3の制御ブロック308が記憶している情報を取得できたことを知ることができる。
他の実施例において、データ収集ブロック302は、任意に発生した制御ブロックの状態の変化情報を取得することができる。例えば、第2の制御ブロック306は、状態が変化したことを示す情報及び変化した第2の情報を取得し、第3の制御ブロック308に送信する(ステップ465)。第3の制御ブロック308は、受信した情報を第4の制御ブロック310に送信する(ステップ470)。第4の制御ブロック310は、受信した情報を、第3の制御ブロック308、第2の制御ブロック306及び第1の制御ブロック304を介してデータ収集ブロック302に送信する(ステップ475)。データ収集ブロック302は、第2の制御ブロック306において状態が変化したことを示す情報及び変化した第2の情報を取得することができる。例えば、制御ブロックから収集される情報がコンピュータプログラムであり、第2の情報がプログラムにおけるループ及びループ回数を示す場合、データ収集ブロック302は、第2の制御ブロック306において変更されたループ回数などを収集することができる。この場合、第2の制御ブロック306は、当該ブロックの状態変化を表す情報の入力を受け付けるための入力手段を有することができる。
上記の例では各ブロックの状態変化が単発で起こる場合の例であるが、複数のブロックから同時に状態変化が発生する場合を考慮するとデータ収集ブロックから定期的にポーリング命令を送り、各制御ブロックはポーリング命令を受信後、状態変化の情報をポーリング命令に付加して次のブロックへ送信することにより状態変化の情報をデータ収集ブロックへ届けることができる。
図5は、ブロックが接続されている状態の第2の実施例の模式図を示す。本実施例において、装置全体500は、5つのブロックを含んでおり、データ収集ブロック502、第1の制御ブロック504、第2の制御ブロック506、第3の制御ブロック508及び第4の制御ブロック510を含んでいる。当業者であれば理解されるように、制御ブロックの数は例示であり、4より少なくてもよい、また、4より多くてもよい。
データ収集ブロック502は、制御部522、外部入出力インタフェース524、送信部526、接続検出部528、受信部530及び固有情報記憶部532を備えている。第1の制御ブロック504、第2の制御ブロック506、第3の制御ブロック508及び第4の制御ブロック510は、制御部542、接続通知部544、第1の送信部546、接続検出部548、第1の受信部550、固有情報記憶部552、第2の送信部556及び第2の受信部554を備えている。第1の制御ブロック504、第2の制御ブロック506、第3の制御ブロック508及び第4の制御ブロック510は、ほぼ同じ構成とすることができる。
本実施例の構成は、図3で示した第1の実施例とほぼ同等である。しかしながら、本実施例では、各制御ブロックは、送信先切替部354を有していない、また、第1の実施例より一組多い送信部及び受信部を有する。本実施例において、各制御ブロックは、第1の送信部546、第1の受信部550、第2の送信部556及び第2の受信部554を有し、制御ブロックの第1の送信部546及び第2の受信部554は、それぞれ、他の制御ブロックの第1の受信部550及び第2の送信部556に接続することができる。また、制御ブロックの第1の受信部550及び第2の送信部556は、それぞれ、データ収集ブロック502の送信部526及び受信部530にも接続することができる。
図6は、図5に示した実施例の処理フローを示す。まず、データ収集ブロック502は、各制御ブロックが記憶する情報を収集するための要求を第1の制御ブロック504に送信する(ステップ605)。第1の制御ブロック504は、所定の時間(Tx)の間待機した後、制御部542を用いて固有情報記憶部552から第1の情報を取得し、第1の情報をデータ収集ブロック502に送信する(ステップ510)。第1の制御ブロック504は、要求を第2の制御ブロック506に送信する(ステップ515)。第2の制御ブロック506は、要求を受信した後、第1の制御ブロック504と同様に、所定の時間(Tx)の間待機した後、自身の記憶部から第2の情報を取得し、データ収集ブロック502に向けて送信し(ステップ520及び525)、要求を第3の制御ブロック508に送信する(ステップ530)。第3の制御ブロック508は、要求を受信した後、第1の制御ブロック504と同様に、所定の時間(Tx)の間待機した後、自身の記憶部から第3の情報を取得し、データ収集ブロック502に向けて送信し(ステップ535、540及び545)、要求を第4の制御ブロック510に送信する(ステップ550)。第4の制御ブロック510は、要求を受信した後、第1の制御ブロック504と同様に、所定の時間(Tx)の間待機した後、自身の記憶部から第4の情報を取得し、データ収集ブロック502に向けて送信する(ステップ565、570、575及び580)。
データ収集ブロック502は、第1〜4の情報を受信した時間順に並び替える。これらの情報が制御ブロックの識別子を含んでいる場合、データ収集ブロック502は、各制御ブロックの接続の順序を特定することができる。これらの情報が例えばコンピュータプログラムの命令の一部を含んでいる場合、それら命令の一部を接続の順序で組み合わせることによって、一連の命令を作成することができる。
一実施例において、データ収集ブロック502は、データを受信する最大待ち時間を有することができる。最大待ち時間は、制御ブロックの最大接続数に基づくことができる。これにより、データ収集ブロック502は、最大待ち時間を設定することにより、情報をより適格に収集することができる。
図7は、図5に示した実施例の変形例による処理フローを示す。データ収集ブロック522は、第1の制御ブロック504、第2の制御ブロック506及び第3の制御ブロック508を介して第4の制御ブロック510に要求を送信することができる(ステップ705、710、720及び725)。一実施例において、情報の送信は、各制御ブロックにおける受信部及び送信部を用いて実行されてもよい。他の実施例において、要求は信号として送信されてもよい。この場合、各ブロックは、接続により信号線を形成するように構成されていてもよい。データ収集ブロック522は、信号を各制御ブロック内の当該信号線を介して第4の制御ブロック510に送信することができる。これにより、各制御ブロックにおける1組の受信部及び送信部を排除することができる。
各制御ブロックは、接続検出部548を用いて、さらに制御ブロックが接続されているか否かを判定することができる。本実施例の第1、第2及び第3の制御ブロック502、506及び508において、各接続検出部548は、さらに制御ブロックが接続されていることを検出する。第4の制御ブロック510において、接続検出部548は、さらに制御ブロックが接続されていないことを検出する。これにより、第1、第2及び第3の制御ブロック502、506及び508は、接続先である制御ブロックに要求を送信し、第4の制御ブロック510は、さらなる接続先が無いことから、送信先をデータ収集ブロック502に向けることを決定する。第4の制御ブロック510は、自身の記憶装置から第4の情報を取得し、要求及び第4の情報を第4の制御ブロック508に送信する(ステップ730)。第3の制御ブロック508は、第2の制御ブロック506は、第1の制御ブロック504は、それぞれ、自己の記憶装置から第3、2及び1の情報を取得するとともに、それらを順に組み合わせて、組み合わせた情報及び要求をデータ収集ブロック502に向けて順に送信する(ステップ735、740、745)。これにより、データ収集ブロック502は、各制御ブロックが有する情報を接続の順に組み合わせることができる。
上記の実施例で説明した開始端制御ブロック102及び終端制御ブロック120は、それぞれ、制御ブロックが有する命令の開始及び終了を意味する。したがって、所定の一連の命令において開始端である場合は、他の一連の命令において終端とすることができ、又は、所定の一連の命令において終端である場合は、他の一連の命令において開始端とすることができる。さらに他の実施例において、所定の一連の命令における開始端制御ブロック102又は終端制御ブロック120は、他の一連の命令における制御ブロックとすることができる。
上記の実施例において、各制御ブロックは、コンピュータプログラムの命令の代わりに命令に関する情報を記憶していてもよい。この場合、データ収集ブロックは、命令に関する情報を取得した後、当該情報を命令に変換することができる。
上記の実施例において、各制御ブロックが記憶する情報は、コンピュータプログラムの命令でなくてもよい。例えば、記憶されている情報は、外部装置などで動作する内容の一部を表す情報とすることができる。例えば、動作内容が動画の再生である場合、動作内容の一部に対応する情報は、一又は二以上の静止画の情報とすることができ、動作内容が音の再生である場合、動作内容の一部に対応する情報は、一又は二以上の音の情報とすることができる。このように、動作内容に応じて、各制御ブロックに記憶されるべき情報は変化させることができる。
上記実施例において、終端制御ブロック120が命令の取得や、通信などの制御処理を行っているが、開始端制御ブロック102が終端制御ブロック120の代わりにこれらの処理を実行してもよい。
上記の実施例において、ハードウエアで実現するよう説明されたいくつかの要素の一部又は全ては、ソフトウエアで実現することができ、そして、ソフトウエアで実現するよう説明されたいくつかの要素の一部又は全ては、ハードウエアで実現することができることは理解されるであろう。
以上に説明した処理又は処理順序において、ある処理において、その処理ではまだ利用することができないはずのデータを利用しているなどの処理又は処理順序上の矛盾が生じない限りにおいて、処理又は処理順序を自由に変更することができる。
以上に説明してきた各実施例に関し、各実施例の一部又は全部を組み合わせて一つの実施例として実現されてもよい。
以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
請求項の記載における「装置」は、プログラミング教育用玩具とすることができる。プログラミング教育用玩具において、子供は、上記の各実施例で説明したブロックなどを用いてプログラミングの概念を学ぶことができる。また、大人は、プログラミング教育用玩具を用いて、プログラミングの概念をより簡単に子供に教えることができる。
102 開始端制御ブロック
105、110、115 制御ブロック
120 終端制御ブロック
150 コンピュータ装置
302、502 データ収集ブロック
304、504 第1の制御ブロック
306、506 第2の制御ブロック
308、508 第3の制御ブロック
310、510 第4の制御ブロック

データ収集ブロックの構成
322、522 制御部
324、524 外部入出力インタフェース
326、526 送信部
328、528 接続検出部
330、530 受信部
332、532 固有情報記憶部

制御ブロックの構成
342、542 制御部
344、544 接続通知部
346 送信部
348、548 接続検出部
350 受信部
352、552 固有情報記憶部
354 送信先切替部
546 第1の送信部
550 第1の受信部
554 第2の受信部
556 第2の送信部

Claims (13)

  1. 互いに通信可能に接続され、一連の動作の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する二以上の物体と、
    前記二以上の物体の少なくとも一つに通信可能に接続され、前記二以上の物体の前記接続の順序を特定する第1の物体とを備え、
    前記二以上の物体が第1番目の物体及び第2番目の物体を含み、前記第1の物体が前記第1番目の物体に接続され、前記第1番目の物体が前記第2番目の物体に接続され、前記第1番目の物体は、前記二以上の物体の情報を収集する要求を前記第1の物体から受信したことに応じて、前記第1番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を前記第2番目の物体に送信する、装置。
  2. 請求項1に記載の装置において、
    前記第2番目の物体は、前記第1番目の物体から受信した情報に前記第2番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を付加して、前記第1の物体に送信し、前記第1の物体が、前記二以上の物体の前記接続の順序を特定する、装置
  3. 請求項2に記載の装置において、
    前記第1の物体は、前記二以上の物体の前記接続の順序で、前記二以上の物体が記憶する前記命令及び/又は前記命令に関する情報を取得することによって、前記一連の動作を特定する、装置。
  4. 請求項1ないし3のいずれか一つに記載の装置において、
    前記二以上の物体において前記命令は、前記二以上の物体に外部から認識可能なしるしに関連付けされている、装置。
  5. 請求項1ないし4のいずれか一つに記載の装置において、
    前記第1の物体は、前記第1の物体がユーザからの入力を受けたこと及び/又は第2の物体が前記二以上の物体のいずれか一つに接続されたことを検出したことに応じて、前記接続の順序の特定を開始する、装置。
  6. 請求項5に記載の装置において、
    前記第1の物体は、前記一連の動作又は前記命令に関する情報を外部の装置に送信する、又は、前記第1の物体、前記二以上の物体及び前記第2の物体の少なくとも一つは、前記一連の動作を実行する、装置。
  7. 請求項1ないし4のいずれか一つに記載の装置において、
    前記第1の物体は、前記一連の動作又は前記命令に関する情報を外部の装置に送信する、又は、前記第1の物体及び前記二以上の物体の少なくとも一つは、前記一連の動作を実行する、装置。
  8. 請求項1ないし7のいずれか一つに記載の装置において、
    前記第1の物体は、前記接続の順序の特定を周期的に行う、装置。
  9. 一連の動作の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する二以上の物体であって、
    第1番目の物体と、
    第2番目の物体と、を含み、
    前記二以上の物体の接続の順序を特定する第1の物体が前記第1番目の物体に接続され、前記第1番目の物体が前記第2番目の物体に接続され、
    前記第1番目の物体は、前記二以上の物体の情報を収集する要求を前記第1の物体から受信したことに応じて、前記第1番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を前記第2番目の物体に送信し、前記第2番目の物体は、前記第1番目の物体から受信した情報に前記第2番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を付加して、前記第1の物体に送信する、二以上の物体。
  10. 互いに通信可能に接続されている二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する二以上の物体の少なくとも一つに通信可能に接続された装置であって、
    前記二以上の物体が第1番目の物体及び第2番目の物体を含み、前記装置が前記第1番目の物体に接続され、前記第1番目の物体が前記第2番目の物体に接続され、前記第1番目の物体は、前記二以上の物体の情報を収集する要求を前記装置から受信したことに応じて、前記第1番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を前記第2番目の物体に送信し、前記第2番目の物体が、前記第1番目の物体から受信した情報に前記第2番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を付加して、前記装置に送信することにより、前記二以上の物体の前記接続の順序を特定する装置。
  11. 互いに通信可能に接続されている二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する二以上の物体の少なくとも一つに通信可能に接続されている第1の物体が実行するコンピュータプログラムであって、
    前記二以上の物体が第1番目の物体及び第2番目の物体を含み、前記第1の物体が前記第1番目の物体に接続され、前記第1番目の物体が前記第2番目の物体に接続され、前記第1番目の物体は、前記二以上の物体の情報を収集する要求を前記第1の物体から受信したことに応じて、前記第1番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を前記第2番目の物体に送信し、前記第2番目の物体が、前記第1番目の物体から受信した情報に前記第2番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を付加して、前記第1の物体に送信することにより、前記第1の物体が、送信された前記情報に基づいて前記二以上の物体の前記接続の順序を特定するコンピュータプログラム。
  12. 互いに通信可能に接続されている二以上の物体であって、一連の動作の内容の部分を表す命令及び/又は前記命令に関する情報をそれぞれが記憶する二以上の物体の少なくとも一つに通信可能に接続されている第1の物体が実行する方法であって、
    前記二以上の物体が第1番目の物体及び第2番目の物体を含み、前記第1の物体が前記第1番目の物体に接続され、前記第1番目の物体が前記第2番目の物体に接続され、前記第1番目の物体は、前記二以上の物体の情報を収集する要求を前記第1の物体から受信したことに応じて、前記第1番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を前記第2番目の物体に送信し、前記第2番目の物体が、前記第1番目の物体から受信した情報に前記第2番目の物体に記憶されている一連の動作の部分を表す命令及び/又は前記命令に関する情報を付加して、前記第1の物体に送信することにより、前記第1の物体が、送信された前記情報に基づいて前記二以上の物体の前記接続の順序を特定するステップ、を含む方法。
  13. 請求項11に記載のコンピュータプログラムを記憶した記憶媒体。
JP2017133513A 2017-07-07 2017-07-07 物体の接続の順序を動作の順序として特定する装置 Active JP6529544B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017133513A JP6529544B2 (ja) 2017-07-07 2017-07-07 物体の接続の順序を動作の順序として特定する装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017133513A JP6529544B2 (ja) 2017-07-07 2017-07-07 物体の接続の順序を動作の順序として特定する装置

Publications (2)

Publication Number Publication Date
JP2019016189A JP2019016189A (ja) 2019-01-31
JP6529544B2 true JP6529544B2 (ja) 2019-06-12

Family

ID=65358542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017133513A Active JP6529544B2 (ja) 2017-07-07 2017-07-07 物体の接続の順序を動作の順序として特定する装置

Country Status (1)

Country Link
JP (1) JP6529544B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020255182A1 (ja) * 2019-06-17 2020-12-24 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088864A (ja) * 1994-06-21 1996-01-12 Nec Corp 番組作成装置
US7316567B2 (en) * 2003-08-01 2008-01-08 Jennifer Chia-Jen Hsieh Physical programming toy
CN104303133A (zh) * 2013-03-12 2015-01-21 施政 互动板的系统及方法
CN105793911B (zh) * 2014-05-07 2019-05-10 金珍旭 利用了块的算法训练装置
KR20160048328A (ko) * 2014-10-24 2016-05-04 서동철 완구의 동작 프로그래밍 학습 키트
CN105047042B (zh) * 2015-07-06 2017-12-19 中国科学院软件研究所 一种面向儿童实物编程方法及系统
CN105302555A (zh) * 2015-10-23 2016-02-03 中国科学院软件研究所 一种基于多语义的实物编程系统
JP3206586U (ja) * 2016-07-13 2016-09-23 株式会社テクノサイト コマンド実行玩具

Also Published As

Publication number Publication date
JP2019016189A (ja) 2019-01-31

Similar Documents

Publication Publication Date Title
US10293268B2 (en) Block, block system, information processing apparatus, display method, and information processing method
EP2709737B1 (en) Video game with concurrent processing of game-related physical objects
US9333427B2 (en) System and method for using interconnecting blocks as input and output for electronic devices
JP5554732B2 (ja) 組み立て方認識機能を備えた玩具ブロックシステム
JP2017537669A (ja) ゲームシステム
EP2917902B1 (en) Remote control using depth camera
KR101210280B1 (ko) 센서 기반 조립형 교구
WO2018100676A1 (ja) カメラ制御システム、カメラ制御方法、およびプログラム
JP6039594B2 (ja) 情報処理装置および情報処理方法
CN109968336A (zh) 驱动装置、驱动方法以及记录介质
JP6529544B2 (ja) 物体の接続の順序を動作の順序として特定する装置
US8371897B1 (en) Vision technology for interactive toys
KR101966914B1 (ko) 코딩 교육을 위한 완구용 로봇 제어 시스템
CN103920291A (zh) 一种以移动终端作为辅助信源的方法及移动终端
CN110298912B (zh) 三维场景的复现方法、系统、电子装置及存储介质
JP2015122005A (ja) 遊び行動認識システム、遊び行動認識プログラム、遊び行動認識方法および遊び行動認識装置
US10573027B2 (en) Device and method for digital painting
KR101734987B1 (ko) 유아교육용 로봇 컨트롤러 및 그 작동방법
KR101511313B1 (ko) 퍼즐 장난감의 제어 방법
KR102409865B1 (ko) 스마트 디바이스를 통한 3차원 mr콘텐츠 제공 시스템
CN102614665B (zh) 一种在网络游戏图像中添加现实物体的方法
KR102000673B1 (ko) 상호작용 가능한 블록 도구
KR101946464B1 (ko) 체감형 인터랙티브 콘텐츠를 제공하기 위한 도구 및 그 방법
KR102229422B1 (ko) Led 블록을 통한 코딩 학습 방법 및 시스템
KR102463835B1 (ko) 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190415

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: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190514

R150 Certificate of patent or registration of utility model

Ref document number: 6529544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250