(57)【要約】【課題】複雑な電子回路を必要とせずに、制御部と各ブロックとの間で無線通信を行ってソフトウェアを構築できるソフトウェア構築ブロックを提供する。【解決手段】図２に示す状態では、可動プレート１３はハウジング１２内で最下部にあり、可動プレート１３の裏面のアルミニウムのシートがＲＦタグ１１を覆い、ＲＦリーダとＲＦタグ１１との通信は遮断され（オフ状態）、ＲＦリーダはこのＲＦタグ１１の存在を認識できない。図３に示すように基本ブロック１０の右側に別の基本ブロック２０を整列して配置すると、基本ブロック２０に設けられた磁石と、基本ブロック１０の中の可動プレート１３に設けられた磁石とが互いに引き合い、可動プレート１３全体が右側かつ上方に引き寄せられ、アルミニウムのシートはＲＦタグ１１から離間する。このときＲＦリーダとＲＦタグ１１とは通信可能な状態（オン状態）となり、ＲＦリーダはこのＲＦタグ１１の存在を認識する。【選択図】図２
2019181022.tif 000002
【特許請求の範囲】
【請求項１】
複数の基本ブロックから構成される各ブロックにソフトウェア要素が割り振られた複数のブロックを所定の位置関係で配置することによってソフトウェアを構築するソフトウェア構築ブロックであって、
前記複数の基本ブロックのそれぞれに配置された受動送受信要素であって、それぞれに各受動送受信要素を特定するＩＤが割り振られ、スキャン信号に応答して前記ＩＤを送り返す複数の受動送受信要素と、
前記複数の受動送受信要素に対して前記スキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記能動送受信要素と接続され、前記複数の受動送受信要素に関する情報を記憶する記憶部を有する制御部と、
を備え、
前記受動送受信要素のそれぞれには、人の力によって又は別のブロックに設けられた磁石からの磁気的な引力又は反発力によって移動可能な可動部が設けられ、前記可動部の移動後の位置によって前記能動送受信要素との間の通信が遮断され又は通信が可能となり、
前記制御部は、前記複数の受動送受信手段のうちのどの受動送受信手段からＩＤが送り返されているかを検知し、その時間的変化に基づいて各ブロックの相対的な位置関係を判断する、ソフトウェア構築ブロック。
【請求項２】
前記制御部は、実行指示があったときに判断された各ブロックの位置関係に基づいてソフトウェアを実行する、請求項１に記載のソフトウェア構築ブロック。
【請求項３】
前記受動送受信要素に関する情報には、その基本ブロックが当該ブロックのどの位置に配置されているかについての情報が含まれる、請求項１又は２に記載のソフトウェア構築ブロック。
【請求項４】
前記受動送受信要素に関する情報には、前記複数のブロックのどのブロックにどのソフトウェア要素が割り振られているかについての情報が含まれる、請求項１乃至３のいずれか一項に記載のソフトウェア構築ブロック。
【請求項５】
前記可動部には、遮蔽物が設けられ、前記遮蔽物が前記受動送受信手段の特定の部分に近づいた位置にあるときは前記能動送受信手段との通信が遮断され、前記遮蔽物が前記受動送受信手段の特定の部分から離れた位置あるときは前記能動送受信手段との通信が可能となる、請求項１乃至４のいずれか一項に記載のソフトウェア構築ブロック。
【請求項６】
前記相対的な位置関係には、ブロックの一定幅のずれが含まれる、請求項１乃至５のいずれか一項に記載のソフトウェア構築ブロック。
【請求項７】
前記一定幅のずれは、コンピュータプログラムを記載する際のインデントに相当する、請求項６に記載のソフトウェア構築ブロック。
【請求項８】
前記能動送受信手段はＲＦリーダであり、前記受動送受信要素はＲＦタグである、請求項１乃至７のいずれか一項に記載のソフトウェア構築ブロック。
【請求項９】
ＩＤが割り振られ、スキャン信号に応答して前記ＩＤを送り返す受動送受信要素を備えた複数のブロックと、
前記受動送受信要素に対して前記スキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記複数のブロックのそれぞれに設けられ、その位置に応じて前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除する遮蔽手段と、
前記遮蔽手段に設けられた第１の磁石と、
前記複数のブロックのうち少なくとも１つに設けられた第２の磁石と、
を備え、
前記第２の磁石が設けられたブロックを他のブロックに隣接して配置したときに、前記第２の磁石と前記第１の磁石との磁気的相互作用により前記遮蔽手段を移動させて、前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除するブロック装置。
【請求項１０】
前記能動送受信手段はＲＦリーダであり、前記受動送受信要素はＲＦタグである、請求項９に記載のブロック装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれにソフトウェア要素が割り当てられた複数のブロックをそれぞれの位置関係及び配置順序に従って配列することによってソフトウェアを構築することができるソフトウェア構築ブロックに関する。
【０００２】
ここで言う「ソフトウェア」には、コンピュータプログラムや音声、映像などのマルチメディアコンテンツなどが含まれる。また、「ソフトウェア要素」には、コンピュータプログラムの場合であればプログラム言語の構文を構成する各種要素が該当し、マルチメディアコンテンツの場合であれば楽曲や映像の一部が該当する。
【背景技術】
【０００３】
コンピュータプログラムなどのような動作を表すコンテンツの一部であるコンテンツデータなどを関連付けたブロックを並べて、その接続順に応じて、コンテンツの実行や、表示などを行う玩具が知られている。そのような玩具は、知育玩具、教育用玩具などとして知られている。しかしながら、このような従来の玩具は、制御部と各ブロック又はブロック同士を何らかの形で互いに電気的に接続し、有線で情報の送受信を行う必要があった。制御部と各ブロックとの間を無線通信で情報のやりとりを行うようにすれば、信号線が不要となり、玩具としての面白さも増すと考えられるが、そのための新たな電子回路が必要となるため、コストが上昇する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、新たな電子回路の構築を必要とせずに、制御部と各ブロックとの間で無線通信を行ってソフトウェアを構築できるソフトウェア構築ブロックを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、複数の基本ブロックから構成される各ブロックにソフトウェア要素が割り振られた複数のブロックを所定の位置関係で配置することによってソフトウェアを構築するソフトウェア構築ブロックであって、
前記複数の基本ブロックのそれぞれに配置された受動送受信要素であって、それぞれに各受動送受信要素を特定するＩＤが割り振られ、能動送受信要素から送られてくるスキャン信号に応答して前記ＩＤを送り返す複数の受動送受信要素と、
前記複数の受動送受信要素に対してスキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記能動送受信要素と接続され、前記複数の受動送受信要素に関する情報を記憶する記憶部を有する制御部と、
を備え、
前記受動送受信要素のそれぞれには、人の力によって又は別のブロックに設けられた磁石からの磁気的な引力又は反発力によって移動可能な可動部が設けられ、前記可動部の移動後の位置によって前記能動送受信要素との間の通信が遮断され又は通信が可能となり、
前記制御部は、前記複数の受動送受信手段のうちのどの受動送受信手段からＩＤが送り返されているかを検知し、その時間的変化に基づいて各ブロックの相対的な位置関係を判断する。
【０００６】
前記制御部は、実行指示があったときに判断された各ブロックの位置関係に基づいてソフトウェアを実行するものとすることができる。
【０００７】
前記受動送受信要素に関する情報には、その基本ブロックが当該ブロックのどの位置に配置されているかについての情報及び各ブロックのどこに磁石が設けられているかについての情報が含まれることが望ましい。
【０００８】
前記受動送受信要素に関する情報には、前記複数のブロックのどのブロックにどのソフトウェア要素が割り振られているかについての情報が含まれることが望ましい。
【０００９】
前記可動部には、遮蔽物が設けられ、前記遮蔽物が前記受動送受信手段の特定の部分に近づいた位置にあるときは前記能動送受信手段との通信が遮断され、前記遮蔽物が前記受動送受信手段の特定の部分から離れた位置あるときは前記能動送受信手段との通信が可能となる。
【００１０】
前記相対的な位置関係には、ブロックの一定幅のずれが含まれるようにすることができ、また、前記一定幅のずれは、コンピュータプログラムを記載する際のインデントに相当するものとすることができる。
【００１１】
前記能動送受信手段はＲＦリーダとすることができ、前記受動送受信要素はＲＦタグとすることができる。
【００１２】
本発明に係るブロック装置は、ＩＤが割り振られ、スキャン信号に応答して前記ＩＤを送り返す受動送受信要素を備えた複数のブロックと、
前記受動送受信要素に対して前記スキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記複数のブロックのそれぞれに設けられ、その位置に応じて前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除する遮蔽手段と、
前記遮蔽手段に設けられた第１の磁石と、
前記複数のブロックのうち少なくとも１つに設けられた第２の磁石と、
を備え、
前記第２の磁石が設けられたブロックを他のブロックに隣接して配置したときに、前記第２の磁石と前記第１の磁石との磁気的相互作用により前記遮蔽手段を移動させて、前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除する。
【発明の効果】
【００１３】
本発明によれば、新たな電子回路の構築を必要とせずに、制御部と各ブロックとの間で無線通信を行ってソフトウェアを構築できるソフトウェア構築ブロックを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】長辺方向移動タイプの基本ブロックの各部品を並べて示した図である。
【図２】図１に示した各部品を組み立てた状態の基本ブロックを示した図である。
【図３】図２に示した基本ブロックの右側の長辺に整列するように同種の別の基本ブロックの左側の長辺を配置した状態を示した図である。
【図４】短辺方向移動タイプの基本ブロックの各部品を並べて示した図である。
【図５】図４に示した各部品を組み立てた状態の基本ブロックを示した図である。
【図６】図５に示した基本ブロックの右側の短辺に整列するように同種の別の基本ブロックの短辺を配置した状態を示した図である。
【図７】押し下げタイプの基本ブロックの各部品を並べて示した図である。
【図８】図７に示した各部品を組み立てた状態の基本ブロックを示した図である。
【図９】図８に示す状態から可撓プレートの中央部を押下した状態を示す図である。
【図１０】実行ブロックを構成する各部品を示した図である。
【図１１】図１０に示した各構成部品から実行ブロックを組み立てた状態を示した図である。
【図１２】制御ブロックを構成する各部品を示した図である。
【図１３】図１２に示した各構成部品から制御ブロックを組み立てた状態を示した図である。
【図１４】引数ブロックを構成する各部品を示した図である。
【図１５】図１４に示した各構成部品から引数ブロックを組み立てた状態を示した図である。
【図１６】上から見た仮想的な実用ブロックと、これに隣接して配置され得る他のブロックとの位置関係を示した図である。
【図１７】各種ＲＦタグを指し示す記号とそれぞれの役割を表とし示した図である。
【図１８】（ａ）は、図１０及び図１１に示した実行ブロックと、この中に含まれる各ＲＦタグの位置とを概略的に示した平面図であり、（ｂ）は、実行ブロック内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。
【図１９】（ａ）は、図１２及び図１３に示した制御ブロックと、この中に含まれる各ＲＦタグの位置とを概略的に示した平面図であり、（ｂ）は、制御ブロック内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。
【図２０】（ａ）は、図１４及び図１５に示した引数ブロックと、この中に含まれる各ＲＦタグの位置とを概略的に示した平面図であり、（ｂ）は、制御ブロック内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。
【図２１】制御ブロック、第１の実行ブロック、第２の実行ブロック、引数ブロックが互いに離間して置かれている初期状態を示した図である。
【図２２】図２１の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態との違い（差分）を示した表である。
【図２３】図２１に示した状態１状態から、引数ブロックを制御ブロックの右横に隣接して配置した「状態２」を示した図である。
【図２４】図２３の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態１との違い（差分）を示した表である。
【図２５】図２３に示した状態２から、実行ブロックを制御ブロックの右下横に隣接して配置した「状態３」を示した図である。
【図２６】図２５の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態２との違い（差分）を示した表である。
【図２７】図２５に示した状態３から、第２の実行ブロックを第１の実行ブロックの下に整列して配置した「状態４」を示した図である。
【図２８】図２７の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態３との違い（差分）を示した表である。
【図２９】図２７に示した状態４から、第２の実行ブロックが第１の実行ブロックから離間された「状態５」を示した図である。
【図３０】図２９の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態４との違い（差分）を示した表である。
【図３１】図２９に示した状態５から、第２の実行ブロックを第１の実行ブロックの下に左側に変位して配置した「状態６」を示した図である。
【図３２】図２９の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態５との違い（差分）を示した表である。
【図３３】図３１に示した状態６から、第１の実行ブロックの押し下げタイプの基本ブロックのボタンが押下された「状態７」を示した図である。
【図３４】図３３の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態６との違い（差分）を示した表である。
【図３５】図３３に示した状態７から、第１の実行ブロックの押し下げタイプの基本ブロックのボタンの押し下げが解除された「状態８」を示した図である。
【図３６】図３５の状態のときの各ブロックにおいてオン状態にあるタグと、一つ前の状態７との違い（差分）を示した表である。
【発明を実施するための形態】
【００１５】
以下に、図面を参照して本発明の実施形態について説明する。本実施形態では、本発明のソフトウェア構築ブロックを、コンピュータプログラムの構築に適用したものを主として説明する。すなわち、コンピュータプログラムを記述する際のプログラム要素（ｉｆ文、ｆｏｒ文等）を物理的なブロックに対応づけ、このようなブロックを実際に人間の手で並べてゆくことによってコンピュータプログラムを構築する。なお、各ブロックを構成する部品の形状や組み立てた後の各ブロックの内部構造が視覚的に分かるように、図１〜図１５を透視図として示している。
【００１６】
本発明では、全体を制御する制御部と各ブロックとの間での近距離無線通信が必要となるが、本実施形態では近距離無線通信のツールとしてＲＦＩＤ（Radio Frequency IDentification）を使用する。すなわち、本発明の能動送受信要素としてＲＦリーダを使用し、受動送受信要素としてＲＦタグを使用する。ＲＦＩＤは、複数のＲＦタグとＲＦリーダから構成されるが、ＩＤ情報を埋め込んだＲＦタグと、制御部が接続されたＲＦリーダとの間で、電磁波を用いた近距離の無線通信によって情報をやりとりする。本実施形態ではパッシブ型、すなわち電池を必要としないＲＦタグを使用する。ただし、受動送受信要素として電池を使用するアクティブ型のＲＦタグを使うこともできる。
【００１７】
ＲＦリーダがアンテナから必要な情報を電磁波に乗せたスキャン信号を送信すると、ＲＦタグのアンテナがこのスキャン信号を受信する。その際、ＲＦタグのアンテナには電力が発生し、ＲＦタグはこの電力を使って制御回路やメモリを動作させて必要な処理を行い、ＲＦタグ内のデータを電磁波に乗せてＲＦリーダに返信する。本実施形態では、各ＲＦタグに固有のＩＤが付与されており、このＩＤのみをＲＦリーダに送り返す。ＲＦリーダはアンテナでその電磁波を受信し、そのデータを取り出す。上述のように受動型（パッシブ型）のＲＦタグは、ＲＦリーダからの電力の供給を受けることによって動作するので、各ＲＦタグは電源を持つ必要がない。一般に、ＲＦＩＤの通信は金属の影響を受け易く、近くに金属があるとデータの送受信ができなくなるという特性がある。本発明はＲＦＩＤのこのような特性を利用する。
【００１８】
１．基本ブロック
（１）長辺方向移動タイプの基本ブロック
図１は、長辺方向移動タイプの基本ブロック１０の各部品を並べて示した斜視図である。同図のように、基本ブロック１０は、ＲＦタグ１１、ハウジング１２、可動プレート１３、補助部品１４、１５から構成される。ハウジング１２の上部は開放されており、内部に他の構成部品を所定の手順で収容することによって、全体として直方体の基本ブロック１０が組み立てられる。
【００１９】
ＲＦタグ１１は、一例として４７．５ｍｍ×１３．４ｍｍの寸法で、中央にＩＣチップの突起１１ａがある。ハウジング１２は、その底部にＲＦタグ１１を可動プレート１３の可動範囲を含めて隙間なく収容できる寸法とされている。ハウジング１２の左側の長辺の上部には小さい凹部１２ａが形成されており、ここに永久磁石が収容され、接着剤等で固定される。永久磁石としては例えば、磁力の強いネオジム磁石を使用することができるが、他の種類の永久磁石を使用することもできるし、また、永久磁石の代わりに電磁石を使用することもできる。凹部１２ａの位置は、隣に他のブロックが配置された時に、当該他のブロック内の可動プレートの凹部に収容される永久磁石と凹部１２ａに収容された磁石がうまく引き合うことを考慮して決められる。なお、本実施形態では、磁石同士の引力を利用しているが、磁石同士の反発力を利用して可動プレートを移動させることも可能である。
【００２０】
可動プレート１３の裏面全体には、厚さ約０．１ｍｍのアルミニウムのシート（不図示）が貼付されている。このアルミニウムのシートは、その遮蔽効果によってＲＦタグ１１とＲＦリーダ（不図示）との通信を人為的に妨げる役割を果たす。ただし、遮蔽効果を有する材料であれば、アルミニウムの代わりにその材料を使用することができる。例えば、シールド塗料、シールドクロス、あるいは使用する波長からみて十分に目の細かい網状の金属を使用することもできる。
【００２１】
可動プレート１３の２つの短辺にはそれぞれある角度の斜面を持つ突起１３ａ、１３ｂが形成されている。可動プレート１３の右側の長辺には小さい凹部１３ｃが形成されており、ここに永久磁石が収容され接着剤等で固定される。可動プレート１３の底部には凹部１３ｄが形成されている。２つの補助部品１４、１５のそれぞれには、突起１３ａ、１３ｂの斜面と相補的な角度の斜面を持つ突起１４ａ、１５ａが形成されている。突起１３ａ、１３ｂ及び補助部品１４、１５の斜面の角度は、隣に配置される他のブロック内の磁石により可動プレート１３が斜め上方にスムーズにスライドするとともに、他のブロックが離れたときに可動プレート１３の自重でスムーズにスライドして落下することを考慮して決められる。例えば突起１３ａ、１３ｂの斜面の角度を１２０度、補助部品の斜面の角度６０度とすることができる。ただし、この角度は一例であり、他の角度でもよいことは自明である。また、突起１３ａ、１３ｂは必ずしも斜面を有していなくてもよく、例えば円柱状の突起として形成することもできる。
【００２２】
図２は、図１に示した各部品を組み立てた状態の基本ブロック１０を示しており、（ａ）は平面図、（ｂ）は側面図、（ｃ）は斜視図である。組み立ての際には、まずＲＦタグ１１をハウジング１２の底部に配置し、固定する。続いて補助部品１４、１５を、互いの突起１４ａ、１５ａが向き合うようにハウジング１２のそれぞれの短辺側に配置し、固定する。最後に、可動プレート１３を補助部品１４と１５の間に配置する。可動プレート１３は固定しない。
【００２３】
このとき、可動プレート１３の突起１３ａ及び１３ｂの斜面は、補助部品１４の突起１４ａの斜面下部、補助部品１５の突起１５ａの斜面下部とそれぞれ接している。また、可動プレート１３の底部の凹部１３ｄには、ＩＣチップの突起１１ａが収容される。
【００２４】
図２に示す状態では、可動プレート１３はハウジング１２内で最下部にあり、可動プレート１３の裏面のアルミニウムのシートがＲＦタグ１１に接して覆っている。この状態では、ＲＦリーダからの電磁波はアルミニウムシートのシールド効果によって妨げられ、ＲＦリーダとＲＦタグ１１との通信は遮断され、ＲＦリーダはこのＲＦタグ１１の存在を認識できない。なお、可動プレート１３に凹部１３ｄがないと、ＩＣチップの突起１１ａの分だけ可動プレート１３の裏面のアルミニウムシートとＲＦタグ１１との密着が妨げられ、シールド効果が低下する。可動プレート１３に凹部１３ｄを設けることによってアルミニウムシートとＲＦタグ１１とがより密着し、シールド効果が十分に発揮される。これ以降に説明する基本ブロックにおける可動プレートの凹部も同様の効果を有する。
【００２５】
図３は、図２（ｃ）に示した基本ブロック１０の右側の長辺に整列するように同種の別の基本ブロック２０の左側の長辺を配置した状態を示しており、（ａ）は平面図、（ｂ）は側面図、（ｃ）は斜視図である。図３（ｃ）に示すように基本ブロック１０の右側に別の基本ブロック２０を整列して配置すると、基本ブロック２０の左側の長辺の上部に設けられた凹部１２ａに設けられた永久磁石と、基本ブロック１０の中の可動プレート１３の右側の長辺の凹部１３ｃに設けられた永久磁石とが互いに引き合い、可動プレート１３全体が右側に引き寄せられる。
【００２６】
このとき可動プレート１３は、突起１３ａ及び１３ｂの斜面が接する突起１４ａ及び突起１５ａの斜面に沿ってスライドして右上に移動し、可動プレート１３は基本ブロック１０の内部で裏面のアルミニウムのシートはＲＦタグ１１から離間する。このときＲＦリーダとＲＦタグ１１とは通信可能な状態（オン状態）となり、ＲＦリーダはこのＲＦタグ１１の存在を認識する。
【００２７】
図３に示した状態から、基本ブロック２０を基本ブロック１０から永久磁石同士の引力が働かない距離まで引き離すと、基本ブロック１０内の可動プレート１３は自重で突起１４ａ及び１５ａの斜面に沿って左下に滑り落ちる。すると、可動プレート１３の裏面のアルミニウムのシートがＲＦタグ１１を覆い、ＲＦリーダからの電磁波はアルミニウムシートに妨げられて通信が遮断された状態（オフ状態）となり、ＲＦリーダは再びＲＦタグ１１の存在を認識できなくなる。以上の説明から分かるように、可動プレート１３は、基本ブロック１０の内部で、基本ブロック１０の２つの長辺の方へ向かって移動する。
【００２８】
本実施形態では、可動プレート１３に遮蔽用のアルミニウムシートを貼り付け、底部に配置されたＲＦタグ１１を覆うようにしたが、これとは逆に、可動プレート１３にＲＦタグ１１を取り付け、遮蔽用の金属を底部に配置してこれを可動プレート１３に取り付けられたＲＦタグ１１で覆うよう構成することもできる。
【００２９】
また、本実施形態では、永久磁石の吸引力が働く場合に、可動プレート１３が突起１３ａ及び１３ｂの斜面が接する突起１４ａ及び突起１５ａの斜面に沿ってスライドして右上に移動する構成としたが、別の実施形態として、例えば、ＲＦタグ１１をハウジング１２の底部ではなく上部に配置するとともに、可動プレートは通常の状態ではその下に設けられたバネで上方に弱く付勢されてＲＦタグ１１を覆ってオフ状態にあるが、磁石の吸引力が働くことによって可動プレート１３を突起の斜面をバネの付勢力に抗して斜め下方にスライドさせることによってオン状態となるように構成することも可能である。
【００３０】
（２）短辺方向移動タイプの基本ブロック
図４は、短辺方向移動タイプの基本ブロック３０の各部品を並べて示した斜視図である。同図のように、基本ブロック３０は、ＲＦタグ３１、ハウジング３２、可動プレート３３から構成される。ハウジング１２の上部は開放されており、この内部に他の構成部品を所定の手順で収容することによって、全体として直方体の基本ブロック３０が組み立てられる。
【００３１】
ＲＦタグ３１は、長辺方向移動タイプのものと同じものを使うことができる。ハウジング３２は、その底部にＲＦタグ３１を可動プレート３３の可動範囲を含めて隙間なく収容できる寸法とされている。ハウジング３２の左側の短辺の上部には小さい凹部３２ｃが形成されており、ここに永久磁石が収容され接着剤等で固定される。ハウジング３２の２つの長辺の内側には、ある角度（例えば６０度）の斜面を持つ突起３２ａ及び３２ｂが形成されている。
【００３２】
可動プレート３３の裏面全体には、厚さ約０．１ｍｍのアルミニウムのシート（不図示）が貼付されている。このアルミニウムのシートは、ＲＦタグ３１とＲＦリーダ（不図示）との通信を人為的に妨げる役割を果たす。可動プレート３３の２つの長辺にはそれぞれ、突起３２ａ及び３２ｂの斜面と相補的な角度（例えば１２０度）の斜面を持つ突起３３ａ、３３ｂが形成されている。可動プレート３３の右側の短辺には小さい凹部３３ｃが形成されており、ここに永久磁石が収容され接着剤等で固定される。可動プレート３３の底部には凹部３３ｄが形成されている。
【００３３】
図５は、図４に示した各部品を組み立てた状態の基本ブロック３０を示しており、（ａ）は平面図、（ｂ）は側面図、（ｃ）は斜視図である。組み立ての際には、まずＲＦタグ３１をハウジング３２の底部に配置し、固定する。続いて、可動プレート３３をＲＦタグ３１の上に配置する。可動プレート３３は固定しない。このとき、可動プレート３３の突起３３ａ及び３３ｂの斜面は、ハウジング３２の突起３２ａ及び３２ｂの斜面下部とそれぞれ接している。また、可動プレート３３の底部の凹部３３ｄには、ＩＣチップの突起３１ａが収容される。
【００３４】
図５に示す状態では、可動プレート３３はハウジング３２内で最下部にあり、可動プレート３３の裏面のアルミニウムのシートがＲＦタグ３１に接して覆っている。この状態では、ＲＦリーダからの電磁波はアルミニウムシートによって妨げられ、ＲＦリーダとＲＦタグ３１との通信は遮断され、ＲＦリーダはこのＲＦタグ３１の存在を認識できない。
【００３５】
図６は、図５（ｃ）に示した基本ブロック３０の右側の短辺に整列するように同種の別の基本ブロック４０の短辺を配置した状態を示しており、（ａ）は平面図、（ｂ）は側面図、（ｃ）は斜視図である。図６（ｃ）に示すように基本ブロック３０の右側に同種の別の基本ブロック４０を整列して配置すると、基本ブロック４０の左側の短辺の上部に設けられた永久磁石と、基本ブロック３０の中の可動プレート３３の右側の短辺に設けられた永久磁石とが互いに引き合い、可動プレート３３全体が右側に引き寄せられる。このとき可動プレート３３は、突起３３ａ及び３３ｂの斜面が接する突起３２ａ及び３２ｂの斜面に沿って右上に移動し、裏面のアルミニウムのシートはＲＦタグ３１から離間する。このときＲＦリーダとＲＦタグ３１とは、アルミニウムのシートによるシールドが解除されて通信可能な状態（オン状態）となり、ＲＦリーダはこのＲＦタグ３１の存在を認識する。
【００３６】
図６に示した状態から、基本ブロック４０を基本ブロック３０から永久磁石同士の引力が働かない距離まで引き離すと、基本ブロック３０内の可動プレート３３は自重で突起３２ａ及び３２ｂの斜面に沿って左下に滑り落ちる。すると可動プレート３３の裏面のアルミニウムのシートがＲＦタグ３１を覆い、ＲＦリーダからの電磁波はアルミニウムシートに妨げられて通信が遮断された状態（オフ状態）となり、ＲＦリーダは再びＲＦタグ３１の存在を認識できなくなる。以上の説明から分かるように、可動プレート３３は、基本ブロック３０の内部で、基本ブロック３０の２つの短辺に向かう方向に移動する。
【００３７】
（３）押し下げタイプの基本ブロック
図７は、押し下げタイプの基本ブロック５０の各部品を並べて示した斜視図である。同図のように、基本ブロック５０は、ＲＦタグ５１、ハウジング５２、可撓プレート５３、可動プレート５４から構成される。ハウジング５２の上部から他の構成部品を所定の手順で収容することによって、全体として直方体の基本ブロック５０が組み立てられる。
【００３８】
ＲＦタグ５１は、長辺方向移動タイプ、短辺方向移動タイプと同じものを使うことができる。ハウジング５２は、その底部に可撓プレート５３を隙間なく収容できる寸法とされている。ハウジング５２の内側四隅には、可撓プレート５３を載せるための突起が形成されている。可撓プレート５３の中央部には、可動プレート５４と接続するための開口部５３ａが設けられている。
【００３９】
可動プレート５４の裏面全体には、厚さ約０．１ｍｍのアルミニウムのシート（不図示）が貼付されている。このアルミニウムのシートは、ＲＦタグ５１とＲＦリーダ（不図示）との通信を人為的に妨げる役割を果たす。可動プレート５４の中央部には、可撓プレート５３の中央部の開口部５３ａと接続するための突起５４ａが設けられている。可動プレート５４の底部には凹部５４ｂが形成されている。
【００４０】
図８は、図７に示した各部品を組み立てた状態の基本ブロック５０を示しており、（ａ）は平面図、（ｂ）は側面図、（ｃ）は斜視図である。組み立ての際には、まず、ＲＦタグ５１を上部が開放されているハウジング５２の底部に配置し、固定する。続いて、可動プレート５４の突起５４ａを可撓プレート５３の開口部５３ａに嵌入して両者を接続する。そして、可動プレート５４が接続された可撓プレート５３を、ハウジング５２の内側四隅に形成された突起の上に載せてハウジング５２内に収容する。
【００４１】
図８に示す状態では、可動プレート５３はＲＦタグ５１から離間しており、ＲＦリーダとＲＦタグ５１とは通信可能な状態（オン状態）であり、ＲＦリーダはこのＲＦタグ５１の存在を認識することができる。
【００４２】
図８に示す状態から、図９に示すように人間が手で可撓プレート５３の中央部のボタンを押下すると、可撓プレート５３は湾曲して中央部が押し下げられ、可撓プレート５３と接続されている可動プレート５４は下に移動する。可動プレート５４が最下部まで移動すると、可動プレート５４の裏面のアルミニウムのシートがＲＦタグ５１に密着し、可動プレート５４の底部の凹部５４ｂにＩＣチップの突起５１ａが収容される。この状態では、ＲＦリーダからの電磁波はアルミニウムシートによって妨げられ、ＲＦリーダとＲＦタグ５１との通信は遮断された状態（オフ状態）となり、ＲＦリーダはこのＲＦタグ５１の存在を認識できなくなる。
【００４３】
図９に示す状態から、可撓プレート５３を押し下げていた手を離すと、可撓プレート５３は湾曲した状態から、図８に示す元の状態に復帰する。これにより、可動プレート５４はＲＦタグ５１から離間して、ＲＦリーダとＲＦタグ５１とは再び通信可能な状態（オン状態）となり、ＲＦリーダはＲＦタグ５１の存在を認識することができるようになる。
【００４４】
押し下げタイプの基本ブロック５０は、これが組み込まれた後述の実用ブロックにどのようなプログラム要素が割り当てられているのかを人が確認するために利用することができる。例えば、割り当てられたプログラム要素が繰り返しを表す制御ブロックであり、そこに「３」を表す引数ブロックが接続されていたとすると、人がその制御ブロックのボタンを押下したときに人の音声で例えば「３回繰り返す」と発声する。この音声データは制御部に記憶されており、制御部がどの基本ブロックが押下されたかをそのＩＤによって認識することによってこの音声データを再生する。これにより、各実用ブロックにどのようなプログラム要素が割り当てられているかを確認することができる。
【００４５】
２．実用ブロックの構造
以上説明した３種類の基本ブロックを組み合わせて、実際に使用する各種の実用ブロックを構成する。本実施形態では、実用ブロックとして実行ブロック１００、制御ブロック２００、引数ブロック３００の３種類が用意されている。以下で、各実用ブロックの構造について説明する。
【００４６】
（１）実行ブロック
図１０は、本実施形態に係る実行ブロック１００を構成する各部品を示した斜視図である。実行ブロック１００は、図１０に示すように、右からハウジング１０１、天井プレート１０２、３階床プレート１０３、２階床プレート１０４、押し下げブロック用の部品１０５、３枚の長辺方向移動ブロックのプレート１０６、３組（計６個）の長辺方向移動補助部品１０７から構成されている。
【００４７】
図１１は、図１０に示した各構成部品から実行ブロック１００を組み立てた状態を示しており、（ａ）は平面図、（ｂ）は短辺側及び長辺側から見た側面図、（ｃ）は斜視図である。実行ブロック１００は全体として３階層とされており、この中の所定の位置に前述の複数の基本ブロックが配置されている。
【００４８】
具体的に見ると、１階層には左側に長辺方向移動タイプの基本ブロック１１０が配置されている。基本ブロック１１０は通常はオフ状態であるが、手前側に別のブロックが配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて手前方向かつ上方に移動して、オン状態となる。１階層の右側には基本ブロックは設けられていない。
【００４９】
２階層には、右側と左側のそれぞれに長辺方向移動タイプの基本ブロック１２０及び１３０が配置されている。基本ブロック１２０及び１３０は通常はオフ状態であるが、奥側に別のブロックが配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて奥側かつ上方に向かって移動して、オン状態となる。３階層には、左側に押し下げタイプの基本ブロック１４０が配置されている。３階層の右側には基本ブロックは配置されていない。
【００５０】
図１１に示すように、ハウジング１０１の手前側の面の下部３箇所と奥側の面（図では見えない）の下部３箇所には凹部が設けられており、これらの中に実用ブロック同士の吸着と位置決めのための永久磁石が配置される。
【００５１】
（２）制御ブロック
図１２は、本実施形態に係る制御ブロック２００を構成する各部品を示した斜視図である。制御ブロック２００は、図１２に示すように右からハウジング２０１、天井プレート２０２、３階床プレート２０３、２階床プレート２０４、押し下げブロック用の部品２０５、３枚の長辺方向移動ブロックのプレート２０６、３組（計６個）の長辺方向移動補助部品２０７、そして１枚の短辺方向移動プレート２０８から構成されている。
【００５２】
図１３は、図１２に示した各構成部品から制御ブロック２００を組み立てた状態を示しており、（ａ）は平面図、（ｂ）は短辺側及び長辺側から見た側面図、（ｃ）は斜視図である。制御ブロック２００は全体として３階層とされており、この中の所定の位置に前述の複数の基本ブロックが配置されている。
【００５３】
具体的に見ると、１階層には右側に長辺方向移動タイプの基本ブロック２１０が配置されている。基本ブロック２１０は通常はオフ状態であるが、手前側に別のブロックの永久磁石が配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて手前方向かつ上方に移動して、オン状態となる。１階層の左側には基本ブロックは配置されていない。
【００５４】
２階層には、右側と左側の両方に長辺方向移動タイプの基本ブロック２２０及び２３０が配置されている。基本ブロック２２０及び２３０は通常はオフ状態であるが、奥側に別のブロックの永久磁石が配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて奥側かつ上方に移動して、オン状態となる。
【００５５】
３階層には、左側に押し下げタイプの基本ブロック２４０が配置されており、右側に短辺方向移動タイプの基本ブロック２５０が配置されている。基本ブロック２５０は通常はオフ状態であるが、右側の短辺側に別のブロックが配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて右側かつ上方に移動して、オン状態となる。
【００５６】
図１３に示すように、ハウジング１０１の手前側の面の下部３箇所と奥側の面の下部３箇所には凹部が設けられており、さらに図には示されていないが、図１３（ｃ）の右側の面の中央部に２箇所の凹部が設けられており、これらの中に実用ブロック同士の吸着と位置決めのための永久磁石が配置される。
【００５７】
（３）引数ブロック
図１４は、本実施形態に係る引数ブロック３００を構成する各部品を示した斜視図である。引数ブロック３００は、図１４に示すように右からハウジング３０１、天井プレート３０２、３階床プレート３０３、押し下げブロック用の可撓プレート３０４、押し下げタイプの基本ブロックの可動プレートとボタン３０５、そして短辺方向移動タイプの基本ブロックの移動プレートとその回転ストッパ３０６から構成されている。なお、ハウジング３０１は、実行ブロック１００及び制御ブロック２００のハウジングの長さの約半分の寸法とされている。
【００５８】
図１５は、図１４に示した各構成部品から引数ブロック３００を組み立てた状態を示しており、（ａ）は平面図、（ｂ）は短辺側及び長辺側から見た側面図、（ｃ）は斜視図である。引数ブロック３００は全体として３階層とされており、この中の所定の位置に前述の複数の基本ブロックが配置されている。
【００５９】
具体的に見ると、１階層には短辺方向移動タイプの基本ブロック３１０が配置されている。基本ブロック３１０は通常はオフ状態であるが、左側の短辺側に別のブロックの永久磁石が配置されると、中の移動プレートがこの別のブロックの永久磁石に吸引されて左方向かつ上方に移動して、オン状態となる。２階層には基本ブロックは配置されていないが、移動プレートの回転を防止するための回転ストッパ３０６が設けられている。３階層には、押し下げタイプの基本ブロック３２０が配置されている。
【００６０】
図１５に示すように、ハウジング３０１の右側の面の中央部の２箇所には凹部が設けられており、これらの中に実用ブロック同士の吸着と位置決め用の永久磁石が配置される。
【００６１】
３．実用ブロックの動作と使い方
続いて、各実用ブロックの動作と使い方について説明する。各実用ブロックは、前述のように各種の基本ブロックが３次元的に組み合わされて構成されている。したがって、各実用ブロックには２枚以上のＲＦタグが含まれている。実用ブロックとは別に、一例として５０ｃｍ×１００ｃｍの寸法の平面的なプレートが用意され、この上に実用ブロックを順番に配置して行くことによって、ソフトウェアが構築される。本実施形態ではこのプレート内全面にＲＦリーダのアンテナと送受信制御部が埋め込まれており、プレートに配置されてゆく実用ブロックの中のＲＦタグと近距離無線通信を行う。本実施形態ではプレート内全面に配置したアンテナを介してプレート上の全てのＲＦタグの情報を読み取る方法としているが、ＲＦリーダをプレート内ではなく近隣の別の場所に配置するようにしてもよい。またその他の方法としてはアンテナを複数配置する、ＲＦリーダを複数配置する等して対象となるＲＦタグの情報が読み取れればどのような方法でも良い。
【００６２】
ＲＦリーダには、例えばパーソナルコンピュータ等からなる制御部が接続される。制御部の中の記憶部（例えばハードディスク、不揮発性メモリ等）には、すべての実用ブロックの中のすべてのＲＦタグに関する情報が記憶されている。具体的には、個々のＲＦタグを特定するＩＤ情報、それぞれのＲＦタグがどの実用ブロックに含まれているかについての情報、そのＲＦタグがその特定の実用ブロック内のどの位置に配置されているかについての情報が含まれる。これらの情報は１つの大きなテーブルとして記憶するようにしてもよいし、それぞれに関連情報を持つ複数のテーブルに分けて記憶するようにしてもよい。
【００６３】
このように、ブロックに含まれるＲＦタグは、自分のＩＤ情報だけを送り返すこととし、それを受け取った制御部側で必要な処理を全てソフトウェア的に実行するようにすることによって、柔軟なシステム構成が可能となる。また、各ブロックに割り振るソフトウェア要素の変更も容易に行うことができる。
【００６４】
図１６は、図１１（ａ）、図１３（ａ）、図１５（ａ）のように上から見た仮想的な実用ブロック５００と、これに隣接して配置され得る他のブロックとの位置関係を示している。図１６に示すように、実用ブロック５００には、上左、上右、下左、下右、横左、横右に他の実用ブロックが隣接配置される可能性がある。制御部は、実用ブロック内のＲＦタグとＲＦリーダとの間の通信をモニターし、制御部内に記憶されている各種データにアクセスすることで、以下で説明するようにして各実用ブロック同士の位置関係を把握する。
【００６５】
図１７は、以下で使用する各種ＲＦタグを指し示す記号とそれぞれの役割を表とし示している。「Ｃ」は、押し下げタイプの基本ブロックに含まれるＲＦタグを指す。このＲＦタグには、これが含まれる実用ブロックの代表ＩＤが記憶されている。押し下げタイプの基本ブロックは、通常はオン状態であり、人が手で可撓プレートのボタンを押し下げたときだけオフ状態となる。
【００６６】
「Ｕ１」は長辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの上左に別のブロックが隣接配置されたときにオン状態となってこれを検出する。「Ｕ２」は長辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの上右に別のブロックが隣接配置されたときにオン状態となってこれを検出する。「Ｄ１」は長辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの下左に別のブロックが隣接配置されたときにオン状態となってこれを検出する。「Ｄ２」は長辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの下右に別のブロックが隣接配置されたときにオン状態となってこれを検出する。「ＳＬ」は短辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの横左に別のブロックが隣接配置されたときにオン状態となってこれを検出する。「ＳＲ」は短辺方向移動タイプの基本ブロックに含まれるＲＦタグで、その実用ブロックの横右に別のブロックが隣接配置されたときにオン状態となってこれを検出する。
【００６７】
図１８（ａ）は、図１０及び図１１に示した実行ブロック１００と、この中に含まれる各ＲＦタグのオン・オフを決定する要素（可動プレートの永久磁石もしくは可撓プレートの押しボタン）の位置とを概略的に示した平面図であり、図１８（ｂ）は、実行ブロック１００内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。各ＲＦタグが含まれる基本ブロックの実際の位置については、図１１との関連で既に説明している。
【００６８】
図１９（ａ）は、図１２及び図１３に示した制御ブロック２００と、この中に含まれる各ＲＦタグのオン・オフを決定する要素（可動プレートの永久磁石もしくは可撓プレートの押しボタン）の位置とを概略的に示した平面図であり、図１９（ｂ）は、制御ブロック２００内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。各ＲＦタグが含まれる基本ブロックの実際の位置については、図１３との関連で既に説明している。
【００６９】
図２０（ａ）は、図１４及び図１５に示した引数ブロック３００と、この中に含まれる各ＲＦタグのオン・オフを決定する要素（可動プレートもしくは可撓プレートの押しボタン）の位置とを概略的に示した平面図であり、図２０（ｂ）は、引数ブロック３００内において各ＲＦタグが配置されている場所と、オン状態・オフ状態となる条件を示した表である。各ＲＦタグが含まれる基本ブロックの実際の位置については、図１５との関連で既に説明している。
【００７０】
続いて、複数の実用ブロックを並べてゆく際に制御部がどのように各ブロックの位置関係を把握するかについて実際の例を参照しながら説明する。制御部は、ＲＦリーダによって継続的に通信可能範囲内にあるすべてのＲＦタグについてスキャンを実行し、各ＲＦタグのオン・オフ情報を取得する。制御部は、このオン・オフ情報の経時的変化から各ブロックの配置情報を検出する。なお、本実施形態では、制御ブロック、実行ブロック、引数ブロックの３種類の実用ブロックを使用するが、この３種類の実用ブロックがあれば、最低限のプログラミングが可能である。
【００７１】
図２１は、制御ブロック６００、第１の実行ブロック６１０、第２の実行ブロック６２０、引数ブロック６３０が、互いに離間して置かれている初期状態を示している。これを「状態１」とする。図２２は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態との違い（差分）を示した表である。この表は、すべてのブロックの「Ｃ」のＲＦタグ（押し下げタイプの基本ブロックに含まれるＲＦタグ）のみがオン状態であり、他のすべてのＲＦタグはオフ状態であることを示している。
【００７２】
図２３は、図２１に示した状態１から、引数ブロック６３０を制御ブロック６００の右横に隣接して配置した「状態２」を示している。このとき、制御ブロック６００に含まれるＲＦタグ「ＳＲ」と、引数ブロック６３０に含まれるＲＦタグ「ＳＬ」がオン状態になり、ＲＦリーダはこれを検出する。図２４は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態１との違い（差分）を示した表である。ここで、制御ブロック６００のＲＦタグ「ＳＲ」がオン状態になったことから、その右横に何らかのブロックが隣接配置されたことが分かり、また、引数ブロック６３０のＲＦタグ「ＳＬ」がオン状態になったことから、その左横に何らかのブロックが隣接配置されたことが分かる。この２つの変化が同時に検出されたことによって、制御部は、制御ブロック６００と引数ブロック６３０が横方向（水平方向）に隣接配置されたと判断する。
【００７３】
なお、ここで「同時に検出」とは、必ずしも同一のスキャンで検出されることを意味するものではない。内部の可動プレートの重さや永久磁石の磁力の違いによって、制御ブロック６００に含まれるＲＦタグ「ＳＲ」と、引数ブロック６３０に含まれるＲＦタグ「ＳＬ」が厳密に同時にオン状態になるとは限らないからである。実際には、人がブロックの並びを連続して変化させることができない程度のある時間幅の中で制御ブロック６００に含まれるＲＦタグ「ＳＲ」と引数ブロック６３０に含まれるＲＦタグ「ＳＬ」とがオン状態になる場合には、制御部側でソフトウェア的に「同時に検出」されたものとみなすように設定されている。以下で「同時に検出」と言った場合も同様である。
【００７４】
図２５は、図２３に示した状態２から、実行ブロック６１０を制御ブロック６００の右下に隣接して配置した「状態３」を示している。このとき、制御ブロック６００に含まれるＲＦタグ「Ｄ２」と、実行ブロック６１０に含まれるＲＦタグ「Ｕ１」がオン状態になり、ＲＦリーダはこれを検出する。図２６は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態２との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｕ１」がオン状態になったことから、その左上に何らかのブロックが隣接配置されたことが分かり、また、制御ブロック６００のＲＦタグ「Ｄ２」がオン状態になったことから、その右下に何らかのブロックが隣接配置されたことが分かる。この２つの変化が同時に検出されたことによって、制御部は、制御ブロック６００の下に実行ブロック６１０が右側に一定幅ずらして隣接配置されたと判断する。この一定幅のずれは、コンピュータプログラムを記述する場合のインデントに相当する。
【００７５】
図２７は、図２５に示した状態３から、第２の実行ブロック６２０を第１の実行ブロック６１０の下に整列して配置した「状態４」を示している。このとき、実行ブロック６１０に含まれるＲＦタグ「Ｄ１」と、実行ブロック６２０に含まれるＲＦタグ「Ｕ１」がオン状態になり、ＲＦリーダはこれを検出する。図２８は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態３との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｄ１」がオン状態になったことから、その左下に何らかのブロックが隣接配置されたことが分かり、また、実行ブロック６２０のＲＦタグ「Ｕ１」がオン状態になったことから、その左上に何らかのブロックが隣接配置されたことが分かる。この２つの変化が同時に検出されたことによって、制御部は、第１の実行ブロック６１０の右に第２の実行ブロック６２０が整列して隣接配置されたと判断する。
【００７６】
図２９は、図２７に示した状態４から、第２の実行ブロック６２０が第１の実行ブロック６１０から離間された「状態５」を示している。このとき、実行ブロック６１０に含まれるＲＦタグ「Ｄ１」と、実行ブロック６２０に含まれるＲＦタグ「Ｕ１」が共にオフ状態になり、ＲＦリーダはこれを検出する。図３０は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態４との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｄ１」がオフ状態になったことから、その下に配置されていたブロックの隣接状態が解除されたことが分かり、また、実行ブロック６２０のＲＦタグ「Ｕ１」がオフ状態になったことから、その上に配置されていた何らかのブロックの隣接状態が解除されたことが分かる。この２つの変化が同時に検出されたことによって、制御部は、第２の実行ブロック６２０が第１の実行ブロック６１０から離されたと判断する。
【００７７】
図３１は、図２９に示した状態５から、第２の実行ブロック６２０を第１の実行ブロック６１０の下に左側に一定幅ずらして配置した「状態６」を示している。このとき、実行ブロック６１０に含まれるＲＦタグ「Ｄ１」と実行ブロック６２０に含まれるＲＦタグ「Ｕ２」が共にオン状態になり、ＲＦリーダはこれを検出する。図３２は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態５との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｄ１」がオン状態になったことから、その左下に何らかのブロックが隣接配置されたことが分かり、また、実行ブロック６２０のＲＦタグ「Ｕ２」がオン状態になったことから、その右上に何らかのブロックが隣接配置されたことが分かる。この２つの変化が同時に検出されたことによって、制御部は、第２の実行ブロック６２０が第１の実行ブロック６１０の下に左に一定幅ずらして隣接配置されたと判断する。
【００７８】
図３３は、図３１に示した状態６から、第１の実行ブロック６１０の押し下げタイプの基本ブロックのボタンが押下された「状態７」を示している。このとき、実行ブロック６１０に含まれるＲＦタグ「Ｃ」はオフ状態となり、ＲＦリーダはこれを検出する。図３４は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態６との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｃ」がオフ状態になったことから、制御部は、第１の実行ブロック６１０の押し下げタイプの基本ブロックのボタンが押下されたと判断する。
【００７９】
図３５は、図３３に示した状態７から、第１の実行ブロック６１０の押し下げタイプの基本ブロックのボタンの押し下げが解除された「状態８」を示している。このとき、実行ブロック６１０に含まれるＲＦタグ「Ｃ」は再びオン状態となり、ＲＦリーダはこれを検出する。図３６は、このときの各ブロックにおいてオン状態にあるタグと、一つ前の状態７との違い（差分）を示した表である。ここで、実行ブロック６１０のＲＦタグ「Ｃ」がオン状態になったことから、制御部は、第１の実行ブロック６１０の押し下げタイプの基本ブロックのボタンの押し下げが解除されたと判断する。
【００８０】
４．ソフトウェアの構築
これまでは、実行ブロック１００、制御ブロック２００、引数ブロック３００の３種類について説明したが、これ以外の種類のブロックを用意することもできる。図２３に示すように、制御ブロック６００の右横に引数ブロック６３０を配置することは、実際のプログラム言語における文の構成と類似しているし、図２５に示すように実行ブロック６１０を右側にずらして配置することも、実際のプログラム言語におけるインデントと同じである。したがって、このようなコンピュータプログラム言語の要素に対応した複数のブロックをＲＦリーダが設けられたプレート上に順番に隣接配置してゆくことによってコンピュータプログラムを構築することができる。
【００８１】
コンピュータ画面上でキーボードやマウスを使ってコンピュータプログラムを記述するのではなく、本実施形態のように物理的なブロックを実際に手で触って並べながら遊び感覚でコンピュータプログラムを構築できるので、キーボード操作やマウス操作が苦手な子供などのためのコンピュータプログラム教育に活用することが想定される。
【００８２】
これまでは、本発明に係るソフトウェア構築ブロックを、コンピュータプログラムを構築する例について説明したが、これ以外にも音楽、静止画、動画といったマルチメディアコンテンツに適用することもできる。具体的には、例えば音楽、静止画、動画を適切に複数の要素に分割し、分割された各要素をブロックに対応づける。そして、これらのブロックを正しく並べてゆくことによって音楽、静止画、動画が正しく再生されるといったゲームが想定される。
【産業上の利用可能性】
【００８３】
本発明は、特許請求の範囲に示される技術的範囲内において、それぞれの用途に応じて必要な変更を加えることによって、コンピュータ初心者用のプログラム教育用教材や、子供用の知育玩具あるいはマルチメディア玩具などに利用することができる。
【符号の説明】
【００８４】
３      ：天井プレート
１０    ：基本ブロック
１１    ：ＲＦタグ
１２    ：ハウジング
１３    ：可動プレート
１４    ：補助部品
１５    ：補助部品
２０    ：基本ブロック
３０    ：基本ブロック
３１    ：ＲＦタグ
３２    ：ハウジング
３３    ：可動プレート
４０    ：基本ブロック
５０    ：基本ブロック
５１    ：ＲＦタグ
５２    ：ハウジング
５３    ：可撓プレート
５４    ：可動プレート
１００  ：実行ブロック
１０１  ：ハウジング
１０２  ：天井プレート
１０３  ：階床プレート
１０６  ：プレート
１０７  ：長辺方向移動補助部品
１１０  ：基本ブロック
１２０  ：基本ブロック
１４０  ：基本ブロック
２００  ：制御ブロック
２０１  ：ハウジング
２０２  ：天井プレート
２０３  ：階床プレート
２０７  ：長辺方向移動補助部品
２０８  ：短辺方向移動プレート
２１０  ：基本ブロック
２２０  ：基本ブロック
２４０  ：基本ブロック
２５０  ：基本ブロック
３００  ：引数ブロック
３０１  ：ハウジング
３０２  ：天井プレート
３０４  ：可撓プレート
３０５  ：ボタン
３０６  ：回転ストッパ
３１０  ：基本ブロック
３２０  ：基本ブロック
５００  ：実用ブロック
６００  ：制御ブロック
６３０  ：引数ブロック
【図１】
2019181022.tif 000003
【図２】
2019181022.tif 000004
【図３】
2019181022.tif 000005
【図４】
2019181022.tif 000006
【図５】
2019181022.tif 000007
【図６】
2019181022.tif 000008
【図７】
2019181022.tif 000009
【図８】
2019181022.tif 000010
【図９】
2019181022.tif 000011
【図１０】
2019181022.tif 000012
【図１１】
2019181022.tif 000013
【図１２】
2019181022.tif 000014
【図１３】
2019181022.tif 000015
【図１４】
2019181022.tif 000016
【図１５】
2019181022.tif 000017
【図１６】
2019181022.tif 000018
【図１７】
2019181022.tif 000019
【図１８】
2019181022.tif 000020
【図１９】
2019181022.tif 000021
【図２０】
2019181022.tif 000022
【図２１】
2019181022.tif 000023
【図２２】
2019181022.tif 000024
【図２３】
2019181022.tif 000025
【図２４】
2019181022.tif 000026
【図２５】
2019181022.tif 000027
【図２６】
2019181022.tif 000028
【図２７】
2019181022.tif 000029
【図２８】
2019181022.tif 000030
【図２９】
2019181022.tif 000031
【図３０】
2019181022.tif 000032
【図３１】
2019181022.tif 000033
【図３２】
2019181022.tif 000034
【図３３】
2019181022.tif 000035
【図３４】
2019181022.tif 000036
【図３５】
2019181022.tif 000037
【図３６】
2019181022.tif 000038
【手続補正書】
【提出日】平成31年4月3日(2019.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の基本ブロックから構成される各ブロックにソフトウェア要素が割り振られた複数のブロックを所定の位置関係で配置することによってソフトウェアを構築するソフトウェア構築ブロックであって、
前記複数の基本ブロックのそれぞれに配置された受動送受信要素であって、それぞれに各受動送受信要素を特定するＩＤが割り振られ、スキャン信号に応答して前記ＩＤを送り返す複数の受動送受信要素と、
前記複数の受動送受信要素に対して前記スキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記能動送受信要素と接続され、前記複数の受動送受信要素に関する情報を記憶する記憶部を有する制御部と、
を備え、
前記受動送受信要素のそれぞれには、人の力によって又は別のブロックに設けられた磁石からの磁気的な引力又は反発力によって移動可能な可動部が設けられ、前記可動部の移動後の位置によって前記能動送受信要素との間の通信が遮断され又は通信が可能となり、
前記制御部は、前記複数の受動送受信要素のうちのどの受動送受信要素からＩＤが送り返されているかを検知し、その時間的変化に基づいて各ブロックの相対的な位置関係を判断する、ソフトウェア構築ブロック。
【請求項２】
前記制御部は、実行指示があったときに判断された各ブロックの位置関係に基づいてソフトウェアを実行する、請求項１に記載のソフトウェア構築ブロック。
【請求項３】
前記受動送受信要素に関する情報には、その基本ブロックが当該ブロックのどの位置に配置されているかについての情報が含まれる、請求項１又は２に記載のソフトウェア構築ブロック。
【請求項４】
前記受動送受信要素に関する情報には、前記複数のブロックのどのブロックにどのソフトウェア要素が割り振られているかについての情報が含まれる、請求項１乃至３のいずれか一項に記載のソフトウェア構築ブロック。
【請求項５】
前記可動部には、遮蔽物が設けられ、前記遮蔽物が前記受動送受信要素の特定の部分に近づいた位置にあるときは前記能動送受信要素との通信が遮断され、前記遮蔽物が前記受動送受信要素の特定の部分から離れた位置あるときは前記能動送受信要素との通信が可能となる、請求項１乃至４のいずれか一項に記載のソフトウェア構築ブロック。
【請求項６】
前記相対的な位置関係には、ブロックの一定幅のずれが含まれる、請求項１乃至５のいずれか一項に記載のソフトウェア構築ブロック。
【請求項７】
前記一定幅のずれは、コンピュータプログラムを記載する際のインデントに相当する、請求項６に記載のソフトウェア構築ブロック。
【請求項８】
前記能動送受信要素はＲＦリーダであり、前記受動送受信要素はＲＦタグである、請求項１乃至７のいずれか一項に記載のソフトウェア構築ブロック。
【請求項９】
ＩＤが割り振られ、スキャン信号に応答して前記ＩＤを送り返す受動送受信要素を備えた複数のブロックと、
前記受動送受信要素に対して前記スキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記複数のブロックのそれぞれに設けられ、その位置に応じて前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除する遮蔽手段と、
前記遮蔽手段に設けられた第１の磁石と、
前記複数のブロックのうち少なくとも１つに設けられた第２の磁石と、
を備え、
前記第２の磁石が設けられたブロックを他のブロックに隣接して配置したときに、前記第２の磁石と前記第１の磁石との磁気的相互作用により前記遮蔽手段を移動させて、前記受動送受信要素と前記能動送受信要素との間の通信を遮断し又は遮断を解除するブロック装置。
【請求項１０】
前記能動送受信要素はＲＦリーダであり、前記受動送受信要素はＲＦタグである、請求項９に記載のブロック装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明は、複数の基本ブロックから構成される各ブロックにソフトウェア要素が割り振られた複数のブロックを所定の位置関係で配置することによってソフトウェアを構築するソフトウェア構築ブロックであって、
前記複数の基本ブロックのそれぞれに配置された受動送受信要素であって、それぞれに各受動送受信要素を特定するＩＤが割り振られ、能動送受信要素から送られてくるスキャン信号に応答して前記ＩＤを送り返す複数の受動送受信要素と、
前記複数の受動送受信要素に対してスキャン信号を送信し、前記受動送受信要素から返される前記ＩＤを受信する能動送受信要素と、
前記能動送受信要素と接続され、前記複数の受動送受信要素に関する情報を記憶する記憶部を有する制御部と、
を備え、
前記受動送受信要素のそれぞれには、人の力によって又は別のブロックに設けられた磁石からの磁気的な引力又は反発力によって移動可能な可動部が設けられ、前記可動部の移動後の位置によって前記能動送受信要素との間の通信が遮断され又は通信が可能となり、
前記制御部は、前記複数の受動送受信要素のうちのどの受動送受信要素からＩＤが送り返されているかを検知し、その時間的変化に基づいて各ブロックの相対的な位置関係を判断する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
前記可動部には、遮蔽物が設けられ、前記遮蔽物が前記受動送受信要素の特定の部分に近づいた位置にあるときは前記能動送受信要素との通信が遮断され、前記遮蔽物が前記受動送受信要素の特定の部分から離れた位置あるときは前記能動送受信要素との通信が可能となる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
前記能動送受信要素はＲＦリーダとすることができ、前記受動送受信要素はＲＦタグとすることができる。