WO2020122171A1 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
WO2020122171A1
WO2020122171A1 PCT/JP2019/048676 JP2019048676W WO2020122171A1 WO 2020122171 A1 WO2020122171 A1 WO 2020122171A1 JP 2019048676 W JP2019048676 W JP 2019048676W WO 2020122171 A1 WO2020122171 A1 WO 2020122171A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
basic core
unit
control
function
Prior art date
Application number
PCT/JP2019/048676
Other languages
English (en)
French (fr)
Inventor
翔三郎 嶋田
翔太 加々見
和俊 柏本
伸太郎 板本
兼大 林
新居 英明
Original Assignee
Vivita株式会社
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 Vivita株式会社 filed Critical Vivita株式会社
Priority to CN201980083090.6A priority Critical patent/CN113474066A/zh
Priority to SG11202106286UA priority patent/SG11202106286UA/en
Priority to US17/413,136 priority patent/US20220026868A1/en
Priority to EP19896940.4A priority patent/EP3895771A1/en
Priority to KR1020217018437A priority patent/KR20210093959A/ko
Publication of WO2020122171A1 publication Critical patent/WO2020122171A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2666Toy

Definitions

  • the present invention relates to an information processing system.
  • Patent Document 1 an assembly block is provided that allows a prefabricated toy to be constructed by simple wiring and programming. According to the technique described in Patent Document 1, even a young user can construct a prefabricated toy without performing complicated work or operation.
  • each assembly block is simply controlled by an existing program, and there is a limit to the degree of freedom in operation and control of the assembly-type toy. That is, for example, it is not possible to execute the process of creating a program by combining the respective functions of the respective assembly blocks with only the technique of Patent Document 1 described above. In other words, with only the technique of Patent Document 1 described above, it is necessary to separately create a complicated program in order to execute high-level processing such as combining the functions of the respective assembly blocks.
  • the freedom of movement and control of the assembly type toy is limited in the case of assembly with a wired connection due to the convenience of wiring arrangement, and with the assembly with a wireless connection, power consumption is high speed communication. Will be limited by the consumption of.
  • WLAN Wi-Fi
  • the communication speed is not sufficient in assembling with a low power consumption wireless connection, or the communication interval is long (for example, 5 ms to 100 ms in BLE (Bluetooth Low Energy)), which causes a bottleneck to delay the operation. It was generated and was not preferable as a toy.
  • the present invention has been made in view of such a situation, and when a hardware device is operated based on a control program created by a program creation support apparatus, a program creation support apparatus and each hardware device It is an object of the present invention to provide a technology capable of operating at a response speed preferable as a toy, for example, by making communication between the devices unnecessary, and enabling an actual machine of a hardware device to be independently driven. To do.
  • an information processing system of one embodiment of the present invention is A program creation support device that supports the creation of a control program according to a user's instruction, One or more first hardware devices having a function of communicating with another hardware device and a function of controlling the other hardware device based on the control program; An information processing system including one or more second hardware devices as the other hardware device having a function of communicating with the first hardware device and a function of exerting a predetermined function, The program creation support device, Control sending means for sending at least a part of the control program to at least one of the one or more first hardware devices; Equipped with.
  • the hardware device when the hardware device is operated based on the control program created by the program creation support apparatus, by eliminating the communication between the program creation support apparatus and each hardware device, For example, it is possible to provide a technique that enables an operation at a response speed preferable as a toy or the like and that allows an actual hardware device to be driven independently.
  • FIG. 8A It is a figure which shows an example of the screen actually displayed to a user at the time of the program production process using the information processing system which concerns on one Embodiment of this invention. It is a figure different from Drawing 8A and Drawing 8B.
  • FIG. 9A It is a figure which shows the example of the correspondence of the screen displayed to a user and the actual control at the time of the program production process using the information processing system which concerns on one Embodiment of this invention. It is a figure different from FIG. 9A. It is a figure which shows the example of the correspondence of the screen displayed to a user and the actual control at the time of the program production process using the information processing system which concerns on one Embodiment of this invention. It is a figure different from Drawing 9A and Drawing 9B. FIG.
  • FIG. 10 is a diagram showing an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIG. 9, in the program creation process using the information processing system according to the embodiment of the present invention.
  • FIG. 10 is a diagram showing an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIG. 9, in the program creation process using the information processing system according to the embodiment of the present invention. It is a figure different from FIG. 10A.
  • FIG. 10 is a diagram showing an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIG. 9, in the program creation process using the information processing system according to the embodiment of the present invention. It is a figure different from Drawing 10A and Drawing 10B.
  • FIG. 9 is a diagram illustrating an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIGS. 9 and 10 in the program creation process using the information processing system according to the embodiment of the present invention.
  • Is. 9 is a diagram illustrating an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIGS. 9 and 10 in the program creation process using the information processing system according to the embodiment of the present invention.
  • FIG. 11A is a diagram illustrating an example of a correspondence relationship between a screen displayed to the user and actual control, which is different from FIGS. 9 and 10 in the program creation process using the information processing system according to the embodiment of the present invention.
  • Is. It is a figure different from Drawing 11A and Drawing 11B.
  • the present invention is a creation of a technical idea for a user to easily create a complicated program by visual operation.
  • a user can create a program by operating various icons displayed on a user interface (hereinafter, referred to as “program creation screen”) displayed for creating a program.
  • program creation screen displayed for creating a program.
  • the user displays an icon (hereinafter, referred to as “hardware part” or “H part”) indicating the content of the program that specifies the operation of the specific hardware displayed on the program creation screen, and a specific An icon (hereinafter referred to as “software part” or “S part”) indicating the content of the program that specifies execution of software can be visually recognized.
  • the user arbitrarily moves (for example, Drag And Drop or the like) these icons to combine various icons to create a program.
  • the program created in this way can be used for, for example, an assembly-type toy. That is, since the information processing system according to the embodiment of the present invention can create a program by an easy operation, it is extremely useful as a teaching material for a child to learn the program mechanism and the creating method.
  • FIG. 1 is a block diagram showing the configuration of an information processing system according to an embodiment of the present invention.
  • the information processing system shown in FIG. 1 includes a user terminal 1 used by a user, m basic cores 2-1 to 2-m (m is an arbitrary integer value of 1 or more), and m functional modules 3
  • the system includes -1 to 3-m.
  • the user terminal 1 communicates with each of the basic cores 2-1 to 2-m by various methods such as NFC (registered trademark) (Near Field Communication) and Bluetooth (registered trademark).
  • NFC registered trademark
  • Bluetooth registered trademark
  • the basic core 2 is a hardware device that is used by being connected to a function module 3 described later, and is paired with the user terminal 1 by near field communication (for example, communication conforming to the NFC (registered trademark) standard). I do.
  • the user terminal 1 is connected to the basic core 2-K and the basic core 2-K by performing pairing with a predetermined basic core 2-K (K is an arbitrary integer value from 1 to m). Recognize a predetermined function module 3-K.
  • the functional module 3-K is, for example, a hardware device including various sensors such as a temperature sensor, operating instruments such as a buzzer, and driving instruments such as a motor and a fan.
  • pairing between the user terminal 1 and the basic core 2-K will be described.
  • pairing using short-range wireless communication is performed for the user terminal 1 and the basic core 2-K.
  • the pairing is to allow the user terminal 1 to recognize the type, the connection state, etc. of the basic core 2-K and the functional module 3-K connected thereto by using the short-distance wireless communication.
  • the H-part corresponding to the connected functional module 3-K is displayed on the program creation screen.
  • FIG. 2 is a block diagram showing a hardware configuration of the user terminal 1 according to the embodiment of the present invention.
  • the user terminal 1 is composed of a tablet terminal or the like.
  • the user terminal 1 includes a CPU (Central Processing Unit) 21, a ROM (Read Only Memory) 22, a RAM (Random Access Memory) 23, a bus 24, an input/output interface 25, a touch operation input unit 26, and a display.
  • a unit 27, an input unit 28, a storage unit 29, a first short-range wireless communication unit 30, a second short-range wireless communication unit 31, a communication unit 32, a drive 33, and a removable medium 34 are provided. There is.
  • the CPU 21 executes various processes according to the program recorded in the ROM 22 or the program loaded from the storage unit 29 into the RAM 23.
  • the RAM 23 also appropriately stores information necessary for the CPU 21 to execute various processes.
  • the CPU 21, ROM 22, and RAM 23 are connected to each other via a bus 24.
  • An input/output interface 25 is also connected to the bus 24.
  • the touch operation input unit 26, the display unit 27, the input unit 28, the storage unit 29, the first short-range wireless communication unit 30, the communication unit 32, and the drive 33 are connected to the input/output interface 25.
  • a second short-range wireless communication unit 31 is also provided.
  • the touch operation input unit 26 includes, for example, a capacitance type or resistance film type (pressure sensitive type) position input sensor stacked on the display unit 27, and detects coordinates of a position where a touch operation is performed.
  • the display unit 27 is composed of a display such as a liquid crystal, and displays various images such as an image related to program creation. As described above, in the present embodiment, the touch operation input unit 26 and the display unit 27 form a touch panel.
  • the input unit 28 is configured by various hardware and the like, and inputs various information according to a user's instruction operation.
  • the storage unit 29 includes a hard disk, a DRAM (Dynamic Random Access Memory), or the like, and stores various kinds of information.
  • the first short-range wireless communication unit 30 executes control for performing short-range wireless communication by a method according to the NFC (registered trademark) standard, for example. Specifically, for example, as described above, the user terminal 1 and the basic core 2 perform short-range wireless communication by a method according to the NFC (registered trademark) standard and perform pairing.
  • the second short-range wireless communication unit 31 executes control for performing short-range wireless communication by a method according to the Bluetooth (registered trademark) standard, for example.
  • the execution result (including the command) of the program created by the user terminal 1 is transmitted by the short-range wireless communication of the method according to the Bluetooth (registered trademark) standard.
  • the communication unit 32 independently of the first short-range wireless communication unit 30 and the second short-range wireless communication unit 31, controls communication performed with another device via the Internet or the like.
  • the drive 33 is provided as needed.
  • a removable medium 34 including a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately mounted on the drive 33.
  • the program read from the removable medium 34 by the drive 33 is installed in the storage unit 29 as needed. Further, the removable medium 34 can also store various kinds of information stored in the storage unit 29 similarly to the storage unit 29.
  • FIG. 3 is a block diagram showing a hardware configuration of the basic core 2 according to the embodiment of the present invention.
  • the basic core 2 is composed of a predetermined hardware device or the like.
  • the basic core 2 includes a CPU 41, a ROM 42, a RAM 43, a bus 44, a first short-range wireless communication unit 45, a second short-range wireless communication unit 46, a connecting unit 47, and a power supply unit 48. There is.
  • the CPU 41, the ROM 42, the RAM 43, the bus 44, the first short-range wireless communication unit 45, and the second short-range wireless communication unit 46 are basically the same as the configuration of the user terminal 1. The description thereof is omitted here.
  • the connection unit 47 connects to another hardware device (for example, the functional module 3 in FIG. 1).
  • the connection unit 47 also includes an inter-module communication unit 51 and an inter-module power transfer unit 52.
  • the inter-module communication unit 51 executes control for performing data communication, for example, by a method according to the LAN (Local Area Network) standard.
  • the inter-module power transfer unit 52 receives power supplied from the power supply unit 48, which will be described later, and transfers the power to another hardware device (for example, the functional module 3 in FIG. 1).
  • the power supply unit 48 is a battery such as a battery.
  • the power supply unit 48 supplies electric power to the basic core 2 and also appropriately supplies electric power to the functional module 3 via the inter-module power transmission unit 52.
  • FIG. 4 is a block diagram showing a hardware configuration of the functional module 3 according to the embodiment of the present invention.
  • the functional module 3 is composed of a predetermined hardware device or the like.
  • the functional module 3 includes a CPU 61, a ROM 62, a RAM 63, a bus 64, a connection unit 67, functional hardware 68, and a power supply unit 69.
  • the CPU 61, the ROM 62, the RAM 63, the bus 64, and the connection unit 67 are basically the same as the configuration of the user terminal 1 or the basic core 2, and therefore their description is omitted here. ..
  • the functional module 3 may also be provided with the first short-range wireless communication unit and the second short-range wireless communication unit, as in the basic core 2.
  • the functional hardware 68 is, for example, a temperature sensor or a buzzer, and is hardware or the like for each functional module to perform a unique function. That is, the program created by the user is reflected on the actual hardware by the functional hardware 68 appropriately exerting its function.
  • execution methods for executing the program. That is, a type in which a program created by the user terminal 1 is virtually executed only by the user terminal 1 is called “execution by simulation”.
  • execution by simulation the type of operating the functional hardware 68 and the like based on the execution result of the program created by the user terminal 1 is called “execution by actual machine”.
  • the “execution by actual machine” includes an execution method in which the user terminal 1 performs control based on a program created in the user terminal 1 and an execution method in which one or more basic cores 2 are executed.
  • the power supply unit 69 supplies to the functional module 3 the power acquired via the inter-module power transfer unit 72 or the power supplied from an external power source (for example, the battery unit PP in FIG. 5).
  • an external power source for example, the battery unit PP in FIG. 5
  • FIG. 5 is a diagram showing an example of a configuration in a state where the basic core 2-E and the functional module 3-E according to the embodiment of the present invention are connected.
  • FIG. 5 illustrates the basic core 2-E, the functional module 3-E, and the battery unit PP.
  • the basic core 2-E includes a battery unit BU (for example, the power supply unit 48 in FIG. 3), a serial port S, and a short-range wireless communication unit BT (for example, the second short-range wireless communication unit 46 in FIG. 3). ing.
  • the battery unit BU is, for example, a battery such as a battery, and supplies electric power to the basic core 2-E and the functional module 3-E.
  • the serial port S is a connection port (connection connector) for connecting the basic core 2-E to other hardware or the like.
  • the basic core 2-E is equipped with the serial port SP
  • the functional module 3-E is equipped with the serial port PS.
  • the basic core 2-E and the functional module 3-E are connected via the two serial ports SP and PS.
  • the short-range wireless communication unit BT is equipped with an IC card and the like for performing short-range wireless communication with other hardware and the like according to a predetermined standard (for example, Bluetooth (registered trademark)).
  • a predetermined standard for example, Bluetooth (registered trademark)
  • the user terminal 1 not shown in FIG. 5
  • the basic core 2-E including the short-distance wireless communication unit BT are short-distance by a method according to Bluetooth (registered trademark).
  • Perform wireless communication Specifically, for example, the execution result (command, etc.) of the program created by the user terminal 1 is also transmitted to the basic core 2-E.
  • the execution result (command, etc.) of the program transmitted from the user terminal 1 is acquired, and the result is transmitted to the functional module 3-E.
  • the program created in the user terminal 1 is transmitted to the basic core 2-E and executed in the basic core 2-E.
  • the basic core 2-E acquires the program transmitted from the user terminal 1 and transmits the execution result (command or the like) to the functional module 3-E.
  • the functional module 3-E includes a tire T (for example, the functional hardware 68 in FIG. 4). Then, as described above, the functional module 3-E acquires the execution result (command or the like) of the above-mentioned program transmitted from the basic core 2-E.
  • the functional module 3-E in the example of FIG. 5 drives the tire T according to the execution result (command or the like) of the program created in the user terminal 1.
  • the battery unit PP is connected to the functional module 3-E.
  • the battery unit PP supplies power to the functional module 3-E as an external power source. Note that, as described above, the battery unit PP is not an essential component as long as power can be supplied to the functional module 3-E from the power supply unit 48 (FIG. 3) of the basic core 2 or the like.
  • the program creation process can be executed by the cooperation of various hardware and various software of the user terminal 1, the basic core 2, and the functional module 3.
  • the program creation process refers to a process for creating a program for causing one or more functional modules 3 connected to the basic core 2 to function.
  • FIG. 6 is a functional block diagram showing an example of the functional configuration of the user terminal 1, the basic core 2 and the functional module 3 of FIG.
  • the CPU 21 of the user terminal 1 in the CPU 21 of the user terminal 1, the pairing unit 101, the program creation unit 102, the control transmission destination determination unit 103, the control transmission unit 104, the display control unit 105, and the communication control unit. 106 and function.
  • a program storage unit 500 that stores a program created by the program creation unit 102 and an S parts DB (Software Parts Data Base) that stores various S parts are stored. ) 600 and are provided.
  • S parts DB Software Parts Data Base
  • a program storage unit 500-1 for storing the program received via the terminal communication control unit 201-1 is provided in one area of the storage unit 49-1 of the basic core 2-1.
  • the terminal communication control unit 201-2, the program execution unit 202-2, and the functional module communication control unit 203-2 function.
  • a program storage section 500-2 for storing the program received via the terminal communication control section 201-2 is provided.
  • the pairing unit 101 of the user terminal 1 performs pairing between the user terminal 1 and the basic core 2 via the first short-range wireless communication unit 30.
  • this pairing is performed by near field communication based on NFC (registered trademark) in the present embodiment, this is merely an example, and may be performed by an arbitrary method of communication.
  • the pairing unit 101 confirms the type and connection status of the basic core 2 paired with the user terminal 1 and the functional module 3 connected thereto. The type and connection status of the functional module 3 confirmed by the pairing unit 101 are displayed on the program creation screen via the display control unit 105.
  • the program creating unit 102 accepts a user's touch operation and actually creates a program.
  • the program creating unit 102 displays the H parts corresponding to the type of the functional module 3 connected to the basic core 2 paired by the pairing unit 101 on the program creating screen via the display control unit 105. indicate.
  • the program creating unit 102 appropriately extracts the S parts from the S parts DB 600 and displays them on the program creating screen via the display control unit 105.
  • the program creating unit 102 connects various H parts and various S parts in accordance with a touch operation by the user.
  • the contents of the programs designated for the various H parts and S parts thus combined may be continuously executed.
  • the program creating unit 102 determines the content of the program created by the user and stores the created program in the program storage unit 500.
  • the control destination determination unit 103 determines the first hardware device to which at least a part of the program stored in the program storage unit 500 is transmitted, based on a predetermined rule. That is, the control destination determining unit 103 extracts a program desired by the user from the programs stored in the program storage unit 500, applies a predetermined rule to the program, and sets the basic destination as a control destination. Determine Core 2 and the part of the program to send to it.
  • the control destination when the actual machine is configured by using one basic core 2, by determining the basic core 2 as the control destination, the self-sustaining control becomes possible, and the user terminal 1 and other devices are in close range. Since signal transmission using wireless communication is unnecessary, for example, it is possible to operate the toy at a response speed that is preferable.
  • an actual machine is configured by using two or more basic cores 2, there is a problem which one should be the control destination. That is, since it is not the centralized control of the user terminal 1, each basic core 2 needs to understand the logic (a part of the program) related to itself and control each independently.
  • the basic core 2 when the basic core 2 is two or more. Further, which basic core 2 controls, and an algorithm for optimizing them are desired. As one measure against this, the basic core 2 at the end point may acquire information on all the start points related to the own device, and the basic core 2 may process all the logic between the end point and the start point. By doing so, the data transmission path becomes the shortest. Note that, for example, in the case of FIG. 11C described later, exactly the same logical sum operation processing is performed in the basic core 2-3 and the basic core 2-4.
  • each basic core 2 perform not only self-sustaining control but also cooperation such as synchronization between the basic cores 2. By doing so, various inconveniences can be avoided.
  • control destination determining unit 103 determines the first hardware device to which at least a part of the control program is to be transmitted based on a predetermined rule. Therefore, the end point component extracting unit 121 and the preceding component identifying unit 122 are included. And a destination changer 123.
  • the number of the basic cores 2 to which the control transmission destination determining unit 103 is the control transmission destination may be 1, or may be 2 or more. By doing so, no matter how many basic cores 2 are used to construct an actual machine, the control program can be appropriately divided and processed.
  • the end point component extraction unit 121 analyzes the control program and extracts the programming component that does not send a signal to the other programming components as the end point component. By doing so, it becomes possible to trace the signal transmission path from each of the end point components and investigate the relationship with other programming components.
  • the preceding component specifying unit 122 specifies all of the programming parts traced back from each of the extracted end point parts to the start point thereof as the preceding parts for the end point part. By doing so, it becomes possible to directly or indirectly specify the programming component that transmits the signal to the end-point component to be processed. Further, by doing so, it becomes possible to specify the relay portion of the signal transmission path.
  • the transmission destination changing unit 123 changes the destination of the signal in the control program of the preceding component for each of the endpoint components to the endpoint component. By doing so, the signal transmission path can be reduced to one stage at the maximum, so that the time required for signal transmission can be shortened.
  • the control destination is determined as the control destination determining unit 103 so that the basic core 2 that executes a necessary part of the program is the end point component, and thus the execution result can be maintained. Therefore, for example, the toy according to the present invention can be correctly operated at a good response speed.
  • "changing the destination” means not only replacing one existing destination with one new destination, but also adding a new destination leaving the existing destination, or as shown in FIG. 11C described later. Yes, you can switch to two or more new destinations.
  • the control sending unit 104 sends at least a part of the control program to at least one of the one or more first hardware devices. That is, the control sending unit 104 sends at least a part of the control program to the basic core 2 determined by the control sending destination determining unit 103 as a sending destination based on a predetermined rule. That is, the control sending unit 104 creates and sends at least a part of the control program by appropriately modifying the program stored in the program storage unit 500 that the user desires to execute.
  • the user terminal 1 may virtually execute the extracted program without the purpose of operating the basic core 2 and the functional module 3 by the program created by the user. That is, the user terminal 1 may be able to perform a simulation for checking whether the actually created program can be executed normally.
  • the execution result of the program is displayed on the display unit 27 via the display control unit 105 as described later.
  • the user terminal 1 may be able to execute the extracted program for the purpose of operating the basic core 2 and the functional module 3 by the program created by the user. That is, the user terminal 1 may be able to transmit the execution result (command or the like) of the created program to the basic core 2 and the functional module 3 so that the functional module 3 can exert its function.
  • the execution result of the program may be displayed on the display unit 27 via the display control unit 105, and may be transmitted to the basic core 2 by the communication control unit 106 as described later.
  • the display control unit 105 executes control for displaying the above-mentioned various information on the display unit 27.
  • the communication control unit 106 performs control and the like to be realized by transmitting at least a part of the control program by the control transmission unit 104 to one or more basic cores 2 via the second short-range wireless communication unit 31. To do. Further, the communication control unit 106 may perform control for transmitting the execution result of the program executed by the user terminal 1 to the basic core 2 via the second short-range wireless communication unit 31. Note that, as described above, in the present embodiment, the second short-range wireless communication unit 31 performs short-range wireless communication by a method according to the Bluetooth (registered trademark) standard.
  • the basic core 2 performs pairing with the user terminal 1 via the first short-range wireless communication unit 45.
  • the first short-range wireless communication unit 45 is independent of the system in the basic core 2. Therefore, the connection information (for example, the MAC address) of the second short-range wireless communication unit 46 is written in the first short-range wireless communication unit 45 in advance, and the basic core 2 reads the MAC address and executes Bluetooth (although the pairing with the user terminal 1 by the registered trademark is realized, this is merely an example, and the connection information may be read by any method.
  • connection information in pairing for example, a combination of a camera and a QR code (registered trademark), a combination of a hall sensor and a magnet, a combination of an acceleration sensor and a vibration motor, and the like can be adopted.
  • QR code registered trademark
  • a combination of a hall sensor and a magnet a combination of an acceleration sensor and a vibration motor, and the like can be adopted.
  • the terminal communication control unit 201 executes, for example, control for acquiring a part of the program transmitted from the user terminal 1 or the execution result of the program via the second short-range wireless communication unit 46.
  • each basic core 2 may be a BLE server and the user terminal 1 may be a BLE client to perform short-range wireless communication.
  • the terminal communication control unit 201 executes control and the like for communicating the signal from the functional module 3 or the execution result of the program with another basic core 2.
  • one BLE device (basic core 2) may serve as both the BLE server and the BLE client.
  • the relationship between the BLE server and the BLE client may be switched between the two basic cores 2 depending on the communication direction.
  • the number of basic cores 2 is two, two pairings are performed, and when the number of basic cores 2 is three, six pairings are performed.
  • data may be broadcast by transmitting an advertising packet in BLE. That is, the destination information may be included in the broadcast information and transmitted, and the basic core 2 that is the receiver may acquire it only when it is addressed to itself, and discard the other information.
  • the BLE broadcast can change the transmission interval up to several ms or less and can dynamically change the transmission interval.
  • the functional module 3 that exerts its function in the program needs to be connected to a predetermined basic core 2. That is, at least when the program is executed, the basic core 2 and the functional module 3 are connected by the connecting portion 47 and the connecting portion 67.
  • the program is executed because the connection between the basic core 2 and the functional module 3 can be performed independently of the pairing between the basic core 2 and the user terminal 1. That is, the basic core 2 and the functional module 3 may be connected before the pairing, but the basic core 2 and the functional module 3 may be connected after the pairing. In the latter case, the function module 3 transmits its unique ID to the user terminal 1 so that the user terminal 1 recognizes what the function module 3 is (what kind of function it exerts).
  • the functional module 3 can be removed from the basic core 2 after the pairing.
  • the basic core 2 notifies the user terminal 1 that the functional module 3 has been removed.
  • the user terminal 1 causes the UI (such as the user display screens of FIGS. 8A to 8C described later) to indicate that the user terminal 1 is off.
  • the UI such as the user display screens of FIGS. 8A to 8C described later
  • the icon indicating the H part corresponding to the predetermined functional module 3 is not displayed in the UI. become.
  • hot swap of the functional module 3 after pairing is realized. That is, for the user, once the pairing is completed, all that is necessary is to insert/remove the functional module 3 into/from the basic core 2.
  • the state of this insertion/removal is also followed by the UI on the user terminal 1.
  • the functional module communication control unit 203 of the basic core 2 executes control of communication with the functional module 3 connected via the connection unit 47. To do.
  • the functional module communication control unit 203 transmits to the functional module 3 the operation instruction output by the program execution unit 202 described later.
  • the program execution unit 202 executes main control of various processes executed by the basic core 2. For example, the program execution unit 202 executes a part of the program acquired by the terminal communication control unit 201, and outputs an operation instruction or the like for causing the function module 3 to perform its function based on the execution result.
  • the CPU 41 of the basic core 2 exchanges data with the BLE interface in the terminal communication control unit 201, exchanges data with the functional module 3 in the functional module communication control unit 203, and executes logic in the program execution unit 202. It is desirable to have an arithmetic processing capability for performing three of the processes in parallel on the order of microseconds.
  • the functional module 3 executes main control of various processes executed by the functional module 3. For example, the operation instruction transmitted from the basic core 2 is acquired via the connection unit 67.
  • the functional module 3 executes control for causing the functional hardware 68 to execute the acquired operation instruction. That is, the functional module 3 causes the functional hardware 68 to execute the acquired operation instruction, so that the function of the functional module 3 is exerted.
  • the power supply unit 69 supplies the power acquired via the inter-module power transfer unit 72 to the functional module 3, but as described above, the power is supplied from the external power source (for example, the battery unit PP in FIG. 5). Electric power can also be supplied to the functional module 3.
  • the external power source for example, the battery unit PP in FIG. 5
  • Electric power can also be supplied to the functional module 3.
  • FIG. 7 is a state transition diagram showing state transitions related to program creation processing using the information processing system according to the embodiment of the present invention.
  • each state is shown by one ellipse, and each state is discriminated by a code including SP.
  • the state transition from one state to one state is executed when a predetermined condition (hereinafter, referred to as “state transition condition”) is satisfied.
  • state transition condition a predetermined condition
  • such a state transition condition is represented by adding a symbol including A to an arrow representing a transition from one state to one state.
  • the program production state SP1 is the basic state.
  • the user performs pairing by bringing the user terminal 1 and the basic core 2 close to each other.
  • the term “closed” as used herein means a distance effective for performing short-distance wireless communication by a method conforming to the NFC (registered trademark) standard, and generally means approaching a distance of about 10 cm. That is, the state transition condition A1 is satisfied when the user brings the user terminal 1 and the basic core 2 close to each other by a distance of about 10 cm. Then, the state transits to the pairing state SP2.
  • the program creating unit 102 displays the H part on the program creating screen via the display control unit 105.
  • the state transition condition A2 is satisfied. Then, the state transits to the program production state SP1 again.
  • the pairing state SP2 when the user presses a predetermined operator (a program execution button or the like not shown), the state transition condition A3 is satisfied. Then, the state transits to the program execution state SP3. Then, as in the previous case, in the program execution state SP3, the user brings the user terminal 1 and the basic core 2 close to each other, so that the state transition condition A4 is satisfied. Then, the state transits to the pairing state SP2 again.
  • a predetermined operator a program execution button or the like not shown
  • the program creation state SP1 when the user finishes creating the program and presses a predetermined operator (a program execution button or the like (not shown)) instructing execution of the program, the state transition condition A12 is satisfied. Then, the state transits to the program execution state SP3.
  • a predetermined operator a program creation button (not shown) or the like
  • the state transits to the program production state SP1.
  • the simulation state and the actual machine state there are two states, the simulation state and the actual machine state, as described above.
  • these two states satisfy the state transition condition A10 or A11 in each state when the user presses a predetermined operator (a simulation button or the like, not shown).
  • a predetermined operator a simulation button or the like, not shown.
  • the simulation state and the actual machine state can transit appropriately.
  • the state transition condition A5 is satisfied. Then, the state transits to the sleep state SP4. Then, when the user presses a predetermined operator (a program execution button or the like (not shown)) in the sleep state SP4, the state transition condition A6 is satisfied. Then, the state transits to the program execution state SP3.
  • a predetermined operator a program execution cancel button or the like (not shown)
  • the sleep state SP4 when the user presses a predetermined operator (a start button of a program creation application (not shown) or the like), the state transition condition A7 is satisfied. Then, the state transits to the program production state SP1. Then, in the program production state SP1, when the user presses a predetermined operator (a program production cancel button or the like (not shown)), the transition condition A8 is satisfied. Then, the state transits to the sleep state SP4. Note that, as shown in FIG. 7, the pairing state SP2 and the dormant state SP4 can be directly transited.
  • FIGS. 8A to 8C are diagrams showing an example of screens actually displayed to the user regarding the program creation process executed by the user terminal 1 of FIG.
  • FIGS. 8A to 8C a program creation screen displayed to the user on the left half (hereinafter referred to as “user display screen”), and various operations that operate according to the actually created program on the right half.
  • a schematic diagram of hardware (hereinafter referred to as “hardware schematic diagram”) is shown.
  • FIG. 8A shows a situation where the user terminal 1 is not paired with any of the basic cores 2. That is, referring to the hardware schematic diagram of FIG. 8A, the user terminal 1 has a basic core 2-0 and a functional module 3-O (O is an arbitrary integer value from 1 to m) and a basic core 2-O. Neither P nor the functional module 3-P (P is an arbitrary integer value other than O out of 1 to m) is paired.
  • the function module 3-O can exert the function of a push button. Further, the function module 3-P can exhibit the function of a buzzer.
  • no icon is displayed in the program creation display area DA and the H parts display area DHA.
  • a timer icon is displayed in the S parts display area DSA.
  • the user terminal 1 is paired with the basic core 2-O to which the functional module 3-O is connected, and the user terminal 1 and the basic core 2-O to which the functional module 3-P is connected.
  • the situation where pairing with P is done is shown.
  • the push button icon corresponding to the paired function module 3-O and the buzzer icon corresponding to the function module 3-P are displayed in the H parts display area DHB, respectively. Has been done.
  • FIG. 8C shows a situation where the program created by the user is executed.
  • the push button icon, the timer (2s), and the buzzer icon are displayed in order from the right in the display area DC at the time of program creation, and they are linked by the respective icons. ..
  • the user can freely combine and combine various H parts and various S parts while visually recognizing the icons displayed on the user display screen, thereby combining the contents designated by the respective icons into one program. Can be produced and the program can be executed.
  • FIGS. 9A to 11C are diagrams showing an example of a correspondence relationship between a screen displayed to the user, actual control, and a program creation process using the information processing system according to the embodiment of the present invention.
  • FIG. 9A is a schematic diagram of a program displayed on the program creation screen.
  • H parts icons of H parts HA and H parts HB that are, for example, buttons are displayed on the left, and icons of H parts HC that are, for example, LED lights are displayed on the right.
  • An icon of the logic circuit S1 is displayed as an S part between them.
  • the icons of the H-part HA and the H-part HB are connected to the input side
  • the icons of the H-part HC are connected to the output side.
  • FIG. 9B is a schematic diagram of the first aspect of control executed based on the program displayed on the program creation screen.
  • the basic core 2-1 is connected to the functional module 3 which is, for example, the push button A paired as the H part HA on the program creation screen.
  • the basic core 2-2 is a functional module 3 which is, for example, a push button B paired as an H part HB
  • the basic core 2-3 is an LED light C, which is paired as an H part HC. It is assumed that they are respectively connected to the functional module 3.
  • a wavy line arrow between the basic cores 2 indicates a transmission direction of a signal by low power consumption proximity wireless communication (for example, BLE (Bluetooth Low Energy)).
  • BLE Bluetooth Low Energy
  • a mode of this control is that a signal is transmitted from the basic core 2-2 to the basic core 2-1, and in the basic core 2-1, signals from the H part HA and the H part HB are logic circuits such as AND gate circuits. It is input to S1 and the resulting signal is transmitted to the basic core 2-3.
  • the LED light C emits light while the push button A and the push button B are both pressed.
  • the basic core 2-1 may transmit the signal resulting from the logic circuit S1 to the basic core 2-3 as it is, and control the basic core 2-3 to cause the LED light C to emit light.
  • the basic core 2-1 may also control the LED light C. That is, a signal for causing the LED light C to emit light based on the result of the logic circuit S1 may be generated in the basic core 2-1 and transmitted to the basic core 2-3 to cause the LED light C to emit light.
  • FIG. 9C is a schematic diagram of a second aspect of control executed based on the program displayed on the program creation screen.
  • the connection relationship between each basic core 2 and the functional module 3 paired as each H part is the same as in the case of FIG. 9B.
  • a signal is transmitted from the basic core 2-1 and the basic core 2-2 to the basic core 2-3, and the signals from the push button A and the push button B are ANDed in the basic core 2-3, for example. It is input to the logic circuit S1 which is a gate circuit.
  • the LED light C emits light while the push button A and the push button B are both pressed based on the program.
  • the transmission path of the signal of the push button B to the basic core 2-3 is shortened by one step as compared with the case of the first mode shown in FIG. 9B.
  • the time required for signal transmission is reduced, and in this control mode, the toy operates at a good speed.
  • FIGS. 10A to 10C are examples of the correspondence relationship between the screen displayed to the user and the actual control in the program creation process using the information processing system according to the embodiment of the present invention. It is a figure which shows the example different from.
  • FIG. 10A is a schematic diagram of a program displayed on the program creation screen.
  • icons of H parts HA and H parts HB that are, for example, buttons are displayed on the left
  • icons of H parts HD that are, for example, LED lights are displayed on the right.
  • an H part HA that is a button and icons of the logic circuit S1 and the logic circuit S2 as S parts are displayed.
  • the icons of the H parts HA and H parts HB are connected to the input side, and the icons of the logic circuit S2 are connected to the output side.
  • the icon of the logic circuit S2 the icon of the logic circuit S1 and the icon of the H part HC are connected to the input side, and the icon of the H part HD is connected to the output side.
  • FIG. 10B is a schematic diagram of the first aspect of control executed based on the program displayed on the program creation screen.
  • the basic core 2-1 is connected to the functional module 3 which is, for example, the push button A paired as the H part HA on the program creation screen.
  • the basic core 2-2 is a function module 3 which is, for example, a push button B paired as an H part HB
  • the basic core 2-3 is a push button C, which is paired as an H part HC.
  • the functional module 3 and the basic core 2-4 are respectively connected to the functional module 3 which is an LED light D paired as the H part HD.
  • signals are transmitted from the basic core 2-1 and the basic core 2-2 to the basic core 2-3, and the signals from the H part HA and the H part HB are ANDed in the basic core 2-3, for example.
  • It is input to the logic circuit S1 which is a gate circuit, the resulting signal and the signal from the H-parts HC are transmitted to the basic core 2-4, and these are input to the logic circuit S2 which is an AND gate circuit, for example.
  • the LED light D emits light while the push button A, the push button B, and the push button C are being pressed together.
  • FIG. 10C is a schematic diagram of a second aspect of control executed based on the program displayed on the program creation screen.
  • the mode of this control is an example in which the signal transmission destination is replaced with two or more new transmission destinations.
  • the connection relationship between each basic core 2 and the functional module 3 paired as each H part is the same as in the case of FIG. 10B.
  • a signal is transmitted from the basic core 2-1, the basic core 2-2, and the basic core 2-3 to the basic core 2-4, and the basic part 2-4 receives the H-part HA and the H-part HB.
  • the resulting signal and the signal from the H-part HC are further input to the logic circuit S2 which is an AND gate circuit.
  • the LED light D emits light while the push button A, the push button B, and the push button C are being pressed together based on the program.
  • the transmission path of the signals of the push button A and the push button B to the basic core 2-4 is shortened by one step as compared with the case of the first mode shown in FIG. 10B.
  • the time required for signal transmission is reduced, and in this control mode, the toy operates at a good speed.
  • FIGS. 11A to 11C are examples of the correspondence between the screen displayed to the user and the actual control in the program creation process using the information processing system according to the embodiment of the present invention.
  • FIG. 11B is a diagram showing an example different from FIGS. 10A to 10C.
  • FIG. 11A is a schematic diagram of a program displayed on the program creation screen.
  • H parts for example, icons of H parts HA and H parts HB which are buttons are displayed on the left, and icons of H parts HC and H parts HD which are LED lights are displayed on the right.
  • An icon of the logic circuit S1 is displayed as an S part between them.
  • the icons of the logic circuit S1 are connected to the icons of H parts HA and H parts HB on the input side, and are connected to the icons of H parts HC and H parts HD on the output side.
  • FIG. 11B is a schematic diagram of the first aspect of control executed based on the program displayed on the program creation screen.
  • the basic core 2-1 is connected to the functional module 3 which is, for example, the push button A paired as the H part HA on the program creation screen.
  • the basic core 2-2 is a functional module 3 which is, for example, a push button B paired as an H part HB
  • the basic core 2-3 is an LED light C, which is paired as an H part HC.
  • the functional module 3 and the basic core 2-4 are respectively connected to the functional module 3 which is an LED light D paired as the H part HD.
  • signals are transmitted from the basic core 2-1 and the basic core 2-2 to the basic core 2-3, and the signals from the H part HA and the H part HB are ANDed in the basic core 2-3, for example.
  • the signal is input to the logic circuit S1 which is a gate circuit, and the resulting signal is transmitted to the basic core 2-4.
  • the basic core 2-3 may transmit the signal resulting from the logic circuit S1 to the basic core 2-4 as it is, and control the basic core 2-4 to cause the LED light C to emit light.
  • the basic core 2-3 may also control the LED light D. That is, a signal for causing the LED light D to emit light based on the result of the logic circuit S1 may be generated in the basic core 2-3 and transmitted to the basic core 2-4 to cause the LED light D to emit light.
  • FIG. 11C is a schematic diagram of a second aspect of control executed based on the program displayed on the program creation screen.
  • the mode of this control is that signals are transmitted from the basic core 2-1 and the basic core 2-2 to the basic core 2-3 and the basic core 2-4, respectively, and in the basic core 2-3 and the basic core 2-4, The signals from the push button A and the push button B are input to the logic circuit S1 which is, for example, an AND gate circuit.
  • the LED light C and the LED light D emit light while the push button A and the push button B are both pressed based on the program.
  • the present invention is not limited to the above-described embodiment, and modifications, improvements, etc. within a range in which the object of the present invention can be achieved are included in the present invention. is there.
  • the push button and the buzzer are adopted as the function module 3-O and the function module 3-P, but the function that the function module 3 exerts is not limited to the embodiment described above. It is not limited to.
  • the present invention can be implemented by the various embodiments described above, but in many embodiments, it is extremely useful for creating a program to be used for a prefabricated toy, especially for children's education. Since the icon displayed on the program creation screen can be visually confirmed, even if the user is a child, the program can be created safely and easily. In addition, since the program can be operated by an actual machine according to the program created by itself, the child can enjoy creating the program without getting tired.
  • the child can become familiar with the program that is generally difficult to touch. Furthermore, if the basic core 2 and the user terminal 1 are paired, the functional module 3 can be freely attached/detached, and the attached/detached state is also reflected on the program creation screen. Therefore, the child can also enjoy the hardware design.
  • the input/output information in the present embodiment will be supplemented.
  • the contents of the program designated by various icons are continuously executed.
  • the input/output information of each program is not limited to the simple trigger information as shown in FIG. 8, but various kinds of information such as analog signals can be handled as the input/output information. That is, for example, as the input/output information in this embodiment, the information acquired by the temperature sensor (for example, the temperature is 15 degrees) can be directly output as information such as an analog signal and can be used for creating a program. Therefore, it is possible to realize even complicated information processing that cannot be realized only by information of digital signals.
  • the pairing of the user terminal 1 and the basic core 2 is Although the short-range wireless communication is performed by the method according to the NFC (registered trademark) standard, the present invention is not limited to this.
  • the pairing is not limited to short-range wireless communication, and the pairing may be performed by any means.
  • the execution result of the program created by the user terminal 1 is transmitted using short-range wireless communication in a method according to a standard such as Bluetooth (registered trademark). Not limited to.
  • the created program is not limited to short-range wireless communication, and may be transmitted using any means.
  • the number of the basic cores 2 and the number of the functional modules 3 are both m, but the description is not particularly limited thereto. That is, the number of basic cores 2 and the number of functional modules 3 may be the same or different. That is, s units (s is an arbitrary integer value of 1 or more) of functional modules 3 may be connected to one basic core 2.
  • the series of processes described above can be executed by hardware or software.
  • the functional configuration of FIG. 6 is merely an example and is not particularly limited. That is, it suffices that the information processing system has a function capable of executing the series of processes described above as a whole, and what kind of functional block is used to realize this function is not particularly limited to the example of FIG.
  • the location of the functional block is not particularly limited to that shown in FIG. 6 and may be arbitrary.
  • one functional block may be configured by hardware alone, software alone, or a combination thereof.
  • a program forming the software is installed in a computer or the like from a network or a recording medium.
  • the computer may be a computer embedded in dedicated hardware.
  • the computer may be a computer capable of executing various functions by installing various programs, for example, a general-purpose smartphone or a personal computer other than a server.
  • a recording medium including such a program is not only configured by a removable medium (not shown) which is distributed separately from the device body in order to provide the program to the user, but also a state in which it is pre-installed in the device body. It is composed of a recording medium or the like provided to the user.
  • the steps of writing the program recorded on the recording medium are not limited to the processes performed in time series according to the order, but may be performed in parallel or individually even if they are not necessarily performed in time sequence. It also includes the processing to be executed.
  • the term “system” means an overall device including a plurality of devices and a plurality of means.
  • the information processing system to which the present invention is applied can take various embodiments having the following configurations. That is, the information processing system to which the present invention is applied is A program creation support device (eg, user terminal 1 in FIG. 1) that supports the creation of a control program (eg, a program stored in the program storage unit 500 in FIG. 6) according to a user's instruction; One or more first hardware devices (for example, the basic core 2 in FIG. 1) having a function of communicating with another hardware device and a function of controlling the other hardware device based on the control program; It includes one or more second hardware devices (for example, the functional module 3 in FIG. 1) as the other hardware device having a function of communicating with the first hardware device and a function of performing a predetermined function.
  • a program creation support device eg, user terminal 1 in FIG. 1
  • One or more first hardware devices for example, the basic core 2 in FIG. 1 having a function of communicating with another hardware device and a function of controlling the other hardware device based on the control program
  • the program creation support device Control sending means for sending at least a part of the control program to at least one of the one or more first hardware devices (for example, the control sending unit 104 in FIG. 6),
  • An information processing system provided with is sufficient.
  • the hardware device is operated based on the control program created by the program creation support device, communication between the program creation support device and each hardware device becomes unnecessary. It becomes possible to operate at a preferable response speed, and it becomes possible to independently drive the actual machine of the hardware device.
  • Communication control unit 121... End point component extracting unit, 122... Preceding component specifying unit, 123... Destination changing unit, 201... Terminal communication control unit, 202... Program execution unit, 203... Functional module communication control unit, 500... Program storage unit, 600... S parts DB

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Toys (AREA)

Abstract

プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、例えば玩具等として好ましい応答速度での動作が可能であり、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする技術を提供すること。 情報処理システムは、ユーザの指示により制御プログラムの作製を支援するユーザ端末1と、機能モジュール3-1,3-2の夫々と通信をする機能と上述の制御プログラムに基づいて機能モジュール3-1,3-2の夫々を制御する機能を有するベーシックコア2-1,2-2と、そのベーシックコア2-1と通信をする機能と所定の機能を発揮する機能を有する機能モジュール3-1,3-2とを含む。ユーザ端末1の制御送付部104は、制御プログラムの少なくとも一部を1以上のベーシックコア2-1,2-2のうちの少なくとも1つに送付する。

Description

情報処理システム
 本発明は、情報処理システムに関する。
 従来より、子供の教育を目的とした組み立て式玩具の提供は、広く普及しており、関連する技術は数多く提案されている(例えば、特許文献1)。
 例えば、特許文献1に記載された技術によれば、簡単な配線やプログラミングによって組み立て式玩具を構築することができる組み立てブロックの提供がなされている。
 この特許文献1に記載された技術によれば、年齢の低いユーザであっても、複雑な作業や操作を行うことなく、組み立て式玩具を構築することができる。
特開平10-108985号公報
 しかしながら、上述の特許文献1の技術では、各組み立てブロックは、既存のプログラムによって単一に制御されているに過ぎず、組み立て式玩具の動作や制御の自由度には、限界があった。
 即ち、例えば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせて、プログラムを作製するような処理を実行することはできなかった。
 換言すれば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせるといった高度な処理を実行させるためには、別途、複雑なプログラムを作成する必要があった。
 また、組み立て式玩具の動作や制御の自由度は、有線式の接続での組み立てでは、配線のとりまわしの都合上の制限を受けることとなり、無線式の接続での組み立てでは、高速通信では電力の消耗による制限を受けることとなる。
 例えば、無線式高速通信の一例であるWLAN(Wi-Fi)では、回路が物理的に大きいことによる制限を受けることとなり、更には高価格である点でも採用は困難である。
 一方、低消費電力の無線式の接続での組み立てでは通信速度が十分ではない、又は通信間隔が長く(例えば、BLE(Blutooth Low Energy)では5ms~100ms)、ボトルネックとなって動作に遅れが生じてしまい、玩具として好ましいものではなかった。
 また、表示画面付きのデバイスは高価格になりがちであるので、これを占有することは好ましくなかった。
 本発明は、このような状況に鑑みてなされたものであり、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信を不要とすることにより、例えば玩具等として好ましい応答速度での動作が可能であり、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする技術を提供することを目的とする。
 上記目的を達成するため、本発明の一態様の情報処理システムは、
  ユーザの指示により制御プログラムの作製を支援するプログラム作製支援装置と、
  他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイスと、
  前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイスとを含む情報処理システムにおいて、
 前記プログラム作製支援装置は、
  前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段、
 を備える。
 本発明によれば、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信を不要とすることにより、例えば玩具等として好ましい応答速度での動作が可能とし、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする技術を提供することができる。
本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の一実施形態に係るユーザ端末のハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコアのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係る機能モジュールのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコア及び機能モジュールが接続された状態の構成の一例を示す図である。 図2のユーザ端末、図3のベーシックコア及び図4の機能モジュールの機能的構成例を示す機能ブロック図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例を示す図である。図8Aとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例を示す図である。図8A及び図8Bとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の例を示す図である。図9Aとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の例を示す図である。図9A及び図9Bとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9とは異なる例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9とは異なる例を示す図である。図10Aとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9とは異なる例を示す図である。図10A及び図10Bとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9及び図10とは異なる例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9及び図10とは異なる例を示す図である。図11Aとは異なる図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9及び図10とは異なる例を示す図である。図11A及び図11Bとは異なる図である。
 以下、本発明の実施形態について、図面を用いて説明する。
 本発明は、ユーザが視覚的な操作よって、より容易に複雑なプログラムを作製するための技術的思想の創作である。
 ユーザは、プログラム作製用に表示されるユーザインタフェース(以下、「プログラム作製画面」と呼ぶ)に表示された各種アイコンを操作することで、プログラムを作製することができる。
 具体的には例えば、ユーザは、プログラム作製画面に表示された特定のハードウェアの動作を指定するプログラムの内容を示すアイコン(以下、「ハードウェアパーツ」又は「Hパーツ」と呼ぶ)及び特定のソフトウェアの実行を指定するプログラムの内容を示すアイコン(以下、「ソフトウェアパーツ」又は「Sパーツ」と呼ぶ)を視認することができる。
 そして、ユーザは、これらのアイコンを任意に移動(例えば、Drag And Drop等)させることで、各種アイコンを組み合わせてプログラムを作製する。
 このようにして作製されたプログラムは、例えば、組み立て式の玩具等に利用することができる。
 つまり、本発明の一実施形態に係る情報処理システムは、容易な操作によってプログラムを作製することができるため、プログラムの仕組みや作成方法を子供に学ばせるための教材として極めて有用である。
 図1は、本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。
 図1に示す情報処理システムは、ユーザにより使用されるユーザ端末1と、m個のベーシックコア2-1乃至2-m(mは1以上の任意の整数値)と、m個の機能モジュール3-1乃至3-mとを含むシステムである。
 さらに、ユーザ端末1は、ベーシックコア2-1乃至2-mの夫々と、各種方式、例えばNFC(登録商標)(Near Field Communication)、Bluetooth(登録商標)等の各種方式で通信を行う。
 なお、以下、ベーシックコア2-1乃至2-mの夫々を個々に区別する必要がない場合、これらをまとめて「ベーシックコア2」と、機能モジュール3-1乃至3-mを個々に区別する必要がない場合、これらをまとめて「機能モジュール3」と呼ぶ。
 ここで、本実施形態で用いられる、ベーシックコア2及び機能モジュール3について簡単に説明する。
 ベーシックコア2とは、後述する機能モジュール3と接続して使用するハードウェアデバイスであり、近距離無線通信(例えば、NFC(登録商標)の規格に準拠した通信)でユーザ端末1とのペアリングを行う。
 ユーザ端末1は、所定のベーシックコア2-K(Kは、1乃至mのうち任意の整数値)とペアリングを行うことで、ベーシックコア2-Kと、ベーシックコア2-Kに接続された所定の機能モジュール3-Kとを認識する。
 機能モジュール3-Kとは、例えば、温度センサ等の各種センサ、ブザー等の操作器具、モーターや扇風機等の駆動器具等により構成されるハードウェアデバイスである。
 ここで、上述のユーザ端末1とベーシックコア2-Kとのペアリングについて説明する。本実施形態では、ベーシックコア2-Kに接続された機能モジュール3-Kの動作を少なくとも伴うプログラムの作製に際して、ユーザ端末1とベーシックコア2-Kとについて近距離無線通信を利用したペアリングを行う必要がある。
 ペアリングとは、端的に言えば、近距離無線通信を用いて、ユーザ端末1に、ベーシックコア2-K及びそれに接続されている機能モジュール3-Kの種別や接続状態等を認識させることをいう。
 なお、詳細については後述するが、ユーザ端末1では、機能モジュール3-Kの種別や接続の状態等を認識すると、接続された機能モジュール3-Kに対応するHパーツがプログラム作製画面に表示される。
 図2は、本発明の一実施形態に係るユーザ端末1のハードウェア構成を示すブロック図である。
 ユーザ端末1は、タブレット型端末等で構成される。
 ユーザ端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、第一近距離無線通信部30と、第二近距離無線通信部31と、通信部32と、ドライブ33と、リムーバブルメディア34とを備えている。
 CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
 RAM23には、CPU21が各種の処理を実行する上において必要な情報等も適宜記憶される。
 CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、第一近距離無線通信部30、通信部32及びドライブ33が接続されている。また、第二近距離無線通信部31も設けられている。
 タッチ操作入力部26は、例えば表示部27に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
 表示部27は、液晶等のディスプレイにより構成され、プログラム作製に関する画像等、各種画像を表示する。
 このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
 入力部28は、各種ハードウェア等で構成され、ユーザの指示操作に応じて各種情報を入力する。
 記憶部29は、ハードディスクやDRAM(Dynamic Random Access Memory)等で構成され、各種情報を記憶する。
 第一近距離無線通信部30は、例えば、NFC(登録商標)の規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、上述の通り、ユーザ端末1とベーシックコア2は、NFC(登録商標)の規格に従った方式で近距離無線通信をして、ペアリングを行う。
 第二近距離無線通信部31は、例えば、Bluetooth(登録商標)の規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、ユーザ端末1で作製したプログラムの実行結果(コマンド等を含む)を、Bluetooth(登録商標)の規格に従った方式の近距離無線通信で送信する。
 通信部32は、第一近距離無線通信部30及び第二近距離無線通信部31とは別個独立して、インターネット等を介して他の装置との間で行う通信を制御する。
 ドライブ33は、必要に応じて設けられる。ドライブ33には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア34が適宜装着される。ドライブ33によってリムーバブルメディア34から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。
 また、リムーバブルメディア34は、記憶部29に記憶されている各種情報も、記憶部29と同様に記憶することができる。
 図3は、本発明の一実施形態に係るベーシックコア2のハードウェア構成を示すブロック図である。
 ベーシックコア2は、所定のハードウェアデバイス等で構成される。
 ベーシックコア2は、CPU41と、ROM42と、RAM43と、バス44と、第一近距離無線通信部45と、第二近距離無線通信部46と、接続部47と、電源部48とを備えている。
 ベーシックコア2の構成のうち、CPU41、ROM42、RAM43、バス44、第一近距離無線通信部45、第二近距離無線通信部46については、ユーザ端末1の構成と基本的に同様であるので、ここではそれらの説明は省略する。
 接続部47は、他のハードウェアデバイス(例えば、図1の機能モジュール3)との接続を行う。
 また、接続部47は、モジュール間通信部51と、モジュール間電力伝達部52とを備える。
 モジュール間通信部51は、例えば、LAN(Local Area Network)の規格に従った方式により、データ通信を行う制御を実行する。
 モジュール間電力伝達部52は、後述する電源部48からの電力の供給を受けて、他のハードウェアデバイス(例えば、図1の機能モジュール3)へと、電力を伝達する。
 電源部48は、電池等のバッテリーである。電源部48は、ベーシックコア2に電力を供給するとともに、モジュール間電力伝達部52を介して、適宜、機能モジュール3へ電力を供給する。
 図4は、本発明の一実施形態に係る機能モジュール3のハードウェア構成を示すブロック図である。
 機能モジュール3は、所定のハードウェアデバイス等で構成される。
 機能モジュール3は、CPU61と、ROM62と、RAM63と、バス64と、接続部67と、機能ハードウェア68と、電力供給部69とを備えている。
 機能モジュール3の構成のうち、CPU61、ROM62、RAM63、バス64、及び接続部67については、ユーザ端末1若しくはベーシックコア2の構成と基本的に同様であるので、ここではそれらの説明は省略する。
 なお、機能モジュール3にも、ベーシックコア2と同様に、第一近距離無線通信部と、第二近距離無線通信部とが設けられてもよい。
 機能ハードウェア68は、例えば、温度センサやブザーであり、夫々の機能モジュールが固有の機能を発揮するためのハードウェア等である。
 即ち、ユーザが作製したプログラムは、機能ハードウェア68が適切にその機能を発揮することで、実際のハードウェア上に反映されるのである。
 ここで、本実施形態において、プログラムの実行には、2種類の実行方法が存在する。即ち、ユーザ端末1で作製したプログラムを、ユーザ端末1のみで仮想的に実行する種類を、「シミュレーションによる実行」と呼ぶ。他方、ユーザ端末1で作製したプログラムの実行結果に基づいて機能ハードウェア68等を動作させる種類を、「実機による実行」と呼ぶ。
 更に、「実機による実行」には、ユーザ端末1で作製したプログラムに基づく制御をユーザ端末1で行う実行方法と、1以上のベーシックコア2で行う実行方法とが存在する。
 電力供給部69は、モジュール間電力伝達部72を介して取得した電力、又は外部の電源(例えば図5のバッテリーユニットPP)から供給された電力を機能モジュール3へ供給する。
 次に、図5を用いて、ベーシックコア2-E(Eは、1乃至mのうち任意の整数値)及び機能モジュール3-Eの接続形態の詳細について説明する。
 図5は、本発明の一実施形態に係るベーシックコア2-E及び機能モジュール3-Eが接続された状態の構成の一例を示す図である。
 図5には、ベーシックコア2-E、機能モジュール3-E及びバッテリーユニットPPが例示されている。
 ベーシックコア2-Eには、バッテリーユニットBU(例えば、図3の電源部48)、シリアルポートS及び近距離無線通信部BT(例えば、図3の第2近距離無線通信部46)が備えられている。
 バッテリーユニットBUは、例えば、電池等のバッテリーであり、ベーシックコア2-Eや機能モジュール3-Eに電力を供給する。
 シリアルポートSは、ベーシックコア2-Eと他のハードウェア等とを接続するための接続口(接続コネクタ)である。
 図5の例では、ベーシックコア2-Eには、シリアルポートSPが備えられ、機能モジュール3-Eには、シリアルポートPSが備えられている。そして、ベーシックコア2-Eと機能モジュール3-Eは、この二つのシリアルポートSP、PSを介して接続されている。
 近距離無線通信部BTは、他のハードウェア等と所定の規格(例えば、Bluetooth(登録商標))に従った方式で近距離無線通信を行うためのICカード等が搭載されている。
 図5の例では、(図5においては、図示せぬ)ユーザ端末1と、近距離無線通信部BTを備えたベーシックコア2-Eとは、Bluetooth(登録商標)に従った方式で近距離無線通信を行う。
 具体的に例えば、ユーザ端末1で作製されたプログラムの実行結果(コマンド等)は、ベーシックコア2-Eにも送信される。さらに言えば、ベーシックコア2-Eでは、ユーザ端末1から送信されてきた当該プログラムの実行結果(コマンド等)を取得し、さらに、その結果を、機能モジュール3-Eへと送信する。
 また、或いは、具体的に例えば、ユーザ端末1で作製されたプログラムは、ベーシックコア2-Eに送信され、ベーシックコア2-Eにおいて実行される。さらに言えば、ベーシックコア2-Eでは、ユーザ端末1から送信されてきた当該プログラムを取得し、実行した結果(コマンド等)を、さらに、機能モジュール3-Eへと送信する。
 また、機能モジュール3-Eは、タイヤT(例えば、図4の機能ハードウェア68)を備えている。そして、上述の通り、機能モジュール3-Eは、ベーシックコア2-Eから送信されてきた上述のプログラムの実行結果(コマンド等)を取得する。図5の例の機能モジュール3-Eは、ユーザ端末1で作製されたプログラムの実行結果(コマンド等)に従って、タイヤTを駆動させる。
 ここで、図5の例では、機能モジュール3-Eには、バッテリーユニットPPが接続されている。このバッテリーユニットPPは、外部電源として機能モジュール3-Eに電力を供給する。なお、上述したように、ベーシックコア2の電源部48(図3)等から、機能モジュール3-Eに電力の供給が可能であるならば、バッテリーユニットPPは必須な構成要素ではない。
 このようなユーザ端末1、ベーシックコア2及び機能モジュール3の各種ハードウェアと各種ソフトウェアの協働によりプログラム作製処理の実行が可能となる。
 ここで、プログラム作製処理とは、ベーシックコア2に接続された機能モジュール3を1以上機能させるためのプログラムを作成するための処理をいう。
 このプログラム作製処理を実現すべく、ユーザ端末1、ベーシックコア2及び機能モジュール3は、図6に示すような機能的構成を有している。
 図6は、図1のユーザ端末1、ベーシックコア2及び機能モジュール3の機能的構成の一例を示す機能ブロック図である。
 図6に示すように、ユーザ端末1のCPU21においては、ペアリング部101と、プログラム作製部102と、制御送付先決定部103と、制御送付部104と、表示制御部105と、通信制御部106とが機能する。
 また、ユーザ端末1の記憶部29の一領域には、プログラム作製部102で作製されたプログラムを格納するプログラム格納部500と、各種Sパーツが格納されているSパーツDB(Soft ware Parts Data Base)600とが設けられている。
 そして、ベーシックコア2-1のCPU41-1においては、端末通信制御部201-1と、プログラム実行部202-1と、機能モジュール通信制御部203-1とが機能する。
 ここで、ベーシックコア2-1の記憶部49-1の一領域には、端末通信制御部201-1を介して受信したプログラムを格納するプログラム格納部500-1が設けられている。
 また、ベーシックコア2-2のCPU41-2においては、端末通信制御部201-2と、プログラム実行部202-2と、機能モジュール通信制御部203-2とが機能する。
 また、ここで、ベーシックコア2-2の記憶部49-2の一領域には、端末通信制御部201-2を介して受信したプログラムを格納するプログラム格納部500-2が設けられている。
 なお、以下、ベーシックコア2-1乃至2-2の各構成の夫々を個々に区別する必要がない場合、これらをまとめて「CPU41」、「記憶部49」、「端末通信制御部201」、「プログラム実行部202」、「機能モジュール通信制御部203」、及び「プログラム格納部500」と呼ぶ。
 ユーザ端末1のペアリング部101は、第一近距離無線通信部30を介して、ユーザ端末1とベーシックコア2とのペアリングを行う。なお、このペアリングは、本実施形態ではNFC(登録商標)に準拠した近距離無線通信で行われるが、これは例示に過ぎず、任意の方式の通信で行われてもよい。
 また、ペアリング部101は、ユーザ端末1とペアリングしたベーシックコア2及びそれに接続された機能モジュール3の種別や接続の状況を確認する。
 なお、ペアリング部101に確認された機能モジュール3の種別や接続の状況は、表示制御部105を介して、プログラム作製画面に表示される。
 プログラム作製部102は、ユーザのタッチ操作を受付けて、実際にプログラムの作製を行う。
 また、プログラム作製部102は、ペアリング部101によりペアリングが行われたベーシックコア2に接続されている機能モジュール3の種別に対応するHパーツを、表示制御部105を介してプログラム作製画面へ表示する。
 また、プログラム作製部102は、適宜、SパーツDB600からSパーツを抽出して、表示制御部105を介してプログラム作製画面へ表示する。
 また、プログラム作製部102は、ユーザのタッチ操作に応じて、各種Hパーツ及び各種Sパーツを結合する。
 最終的に作製されるプログラムにおいては、このように結合された各種Hパーツ及びSパーツに指定されたプログラムの内容が連続的に実行されて良い。
 そして、プログラム作製部102は、ユーザに作製されたプログラムの内容を確定し、その作製されたプログラムをプログラム格納部500へ格納する。
 制御送付先決定部103は、所定のルールに基づいて、プログラム格納部500に格納されたプログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する。
 即ち、制御送付先決定部103は、プログラム格納部500に格納されたプログラムのうちから、ユーザが実行を望むプログラムを抽出し、これに所定のルールを適用して、制御の送付先とするベーシックコア2と、これに送付するプログラムの一部とを決定する。
 ここで、ベーシックコア2を1個使って実機を構成した場合は、当該ベーシックコア2を制御送付先として決定することにより、自立制御が可能となり、ユーザ端末1とも、他の機器とも、近距離無線通信を利用した信号伝達が不要となるので、例えば、玩具として好ましい応答速度での動作をさせることができる。
 しかし、ここで、ベーシックコア2を2個以上使って実機を構成した場合は、いずれを制御送付先とすべきかが問題となる。
 即ち、ユーザ端末1の中央集権制御ではないため、各々のベーシックコア2が自分に関連するロジック(プログラムの一部)について把握し、各々が自立して制御する必要がある。
 具体的には、ロジックの始点から終点までのデータの経路をどうするかや、ハードウェアの介在しないSパーツのロジック(例えばNOT(信号の反転)演算)は、ベーシックコア2が2個以上の場合にどのベーシックコア2が制御するのかや、それらを最適化するアルゴリズムが望まれる。
 これについての一方策としては、一番終点のベーシックコア2が自機に関わる全ての始点の情報を取得し、終点から始点の間にあるロジックを、全て当該ベーシックコア2に処理させて良い。この様にすることにより、データの伝達経路としては最短となる。
 なお、例えば、後述する図11Cの場合、全く同じ論理和演算処理をベーシックコア2-3でもベーシックコア2-4でも行うこととなる。この様に、実機全体としての処理効率についてはトレードオフとなる場合が有る。
 また、各ベーシックコア2は、自立制御のみならず、ベーシックコア2同士で同期をとる等の協調を行うことが望ましい。
 この様にすることで、様々な不都合を回避することが可能となる。
 ここで、制御送付先決定部103には、所定のルールに基づいて前記制御プログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する為、終点部品抽出部121と、先行部品特定部122と、送信先変更部123とが設けられている。
 制御送付先決定部103が制御の送付先とするベーシックコア2は、1であって良く、また2以上であって良い。
 この様にすることにより、ベーシックコア2を何個使って実機を構成されても、制御プログラムを適正に分割して、処理をさせることが可能になる。
 終点部品抽出部121は、前記制御プログラムを解析して、他の前記プログラミング部品に信号を送らない前記プログラミング部品を終点部品として抽出する。
 この様にすることにより、終点部品のそれぞれから信号の伝達経路を遡って、他のプログラミング部品との関係を調べることが可能となる。
 先行部品特定部122は、抽出された前記終点部品のそれぞれから遡ってその始点までの全ての前記プログラミング部品を、当該終点部品についての先行部品として特定する。
 この様にすることにより、直接又は間接に、処理の対象の終点部品に信号を伝達する前記プログラミング部品を特定することが、可能となる。
 また、この様にすることにより、信号の伝達経路の中継部分を特定することが、可能となる。
 送信先変更部123は、前記終点部品の夫々についての前記先行部品の前記制御プログラムにおける信号の送り先を当該終点部品に変更する。
 この様にすることにより、信号の伝達経路を最大で1段階のみにまで減少させることができるので、信号伝達に要する時間を短縮させることができる。
 これに伴い、プログラムの必要な一部を実行させるベーシックコア2を終点部品のものとすべく、その制御送付先を制御送付先決定部103として決定することにより、実行結果については維持することができるので、本発明に係る例えば玩具を、良好な応答速度で正しく動作させることができる。
 なお、「送り先を変更する」とは、一の既存の送り先を一の新たな送り先に入れ替えるのみならず、既存の送り先を残して新たな送り先を追加して良く、又は後述する図11Cに示す通り、二以上の新たな送り先に入れ替えて良い。
 制御送付部104は、制御プログラムの少なくとも一部を1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する。
 即ち、制御送付部104は、制御送付先決定部103が所定のルールに基づいて送付先として決定したベーシックコア2に、制御プログラムの少なくとも一部を送付する。
 即ち、制御送付部104は、ユーザが実行を望むプログラム格納部500に格納されたプログラムを適宜改変することにより、制御プログラムの少なくとも一部を生成して送付する。
 なお、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的とせずに、抽出されたプログラムを仮想的に実行できて良い。
 即ち、ユーザ端末1は、実際に作製されたプログラムが正常に実行できるか等をチェックするためのシミュレーションを行うことができて良い。なお、プログラムの実行結果は、後述するように、表示制御部105を介して表示部27に表示される。
 また、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的として、抽出されたプログラムを実行できて良い。
 即ち、ユーザ端末1は、作製されたプログラムの実行結果(コマンド等)を、ベーシックコア2及び機能モジュール3へと送信し、機能モジュール3に機能を発揮させることができて良い。
 なお、プログラムの実行結果は、表示制御部105を介して表示部27に表示されるだけでなく、後述するように、通信制御部106によってベーシックコア2へと送信されて良い。
 表示制御部105は、前述した各種情報等を表示部27に表示するための制御を実行する。
 通信制御部106は、制御送付部104による制御プログラムの少なくとも一部の送付を、第二近距離無線通信部31を介して1以上のベーシックコア2に送信することにより実現するための制御等を行う。
 また、通信制御部106は、ユーザ端末1で実行されたプログラムの実行結果を第二近距離無線通信部31を介してベーシックコア2に送信するための制御等を行って良い。
 なお、前述の通り、本実施形態では、第二近距離無線通信部31は、Bluetooth(登録商標)の規格に従った方式で近距離無線通信を行う。
 ベーシックコア2は、第一近距離無線通信部45を介して、ユーザ端末1とペアリングを行う。
 ここで、第一近距離無線通信部45は、ベーシックコア2においてシステムと独立している。そこで、第一近距離無線通信部45には、第二近距離無線通信部46の接続情報(例えばMACアドレス)が予め書き込まれており、ベーシックコア2は、そのMACアドレスを読み込んで、Bluetooth(登録商標)によるユーザ端末1とのペアリングを実現しているが、これは例示に過ぎず、接続情報の読み込みは任意の方式で行われてよい。
 即ち、ペアリングにおける接続情報の読み込みには、例えば、カメラとQRコード(登録商標)との組み合わせ、ホールセンサと磁石との組み合わせ、加速度センサと振動モータとの組み合わせ等を採用することができる。
 端末通信制御部201は、例えば、ユーザ端末1から送信されてきたプログラムの一部又はプログラムの実行結果を第二近距離無線通信部46を介して取得するための制御等を実行する。
 この場合は、例えばBLEによる近距離無線通信を採用する場合は、各ベーシックコア2がBLEサーバとなり、ユーザ端末1がBLEクライアントとなって、近距離無線通信を行って良い。
 また、端末通信制御部201は、他のベーシックコア2と、機能モジュール3からの信号又はプログラムの実行結果の通信をするための制御等を実行する。
 この場合は、例えば、BLE機器(ベーシックコア2)一つで、BLEサーバと、BLEクライアントの両方を担わせることとして良い。
 即ち、二つのベーシックコア2の間で、BLEサーバと、BLEクライアントの関係が通信方向によって、入れ替わることとして良い。
 この場合、ベーシックコア2が2つの場合は、ペアリングは2つ行うこととなり、ベーシックコア2が3つの場合は、ペアリングは6つ行うこととなる。
 この他には、BLEでアドバタイジングパケットで送信することにより、データをブロードキャストすることとして良い。
 即ち、ブロードキャスト情報の中に宛先情報を入れて送信し、受信者であるベーシックコア2は自分宛の場合のみ取得させ、それ以外の情報は破棄することとして良い。
 この場合において、BLEブロードキャストは、送信間隔を数ms以下まで変更でき、かつ動的に送信間隔を変更できることが望ましい。
 ここで、プログラムの実行時において、当該プログラムで機能を発揮させる機能モジュール3は、所定のベーシックコア2と接続されていることが必要である。
 即ち、少なくともプログラムの実行時において、ベーシックコア2と機能モジュール3は、接続部47と接続部67によって接続されている。
 ここで、少なくともプログラムの実行時としたのは、ベーシックコア2と機能モジュール3との接続は、ベーシックコア2とユーザ端末1とのペアリングとは独立して行うことができるからである。つまり、ペアリング前にベーシックコア2と機能モジュール3との接続がなされていてもよいが、ペアリング後にベーシックコア2と機能モジュール3との接続がなされていてもよい。後者の場合、機能モジュール3から自身のユニークIDがユーザ端末1に送信されることで、ユーザ端末1はその機能モジュール3が何であるのか(どのような機能を発揮させるものか)を認識することができる。
 また、ペアリング後に機能モジュール3をベーシックコア2から外すこともできる。その際は、ベーシックコア2は、機能モジュール3が外れたことをユーザ端末に1に通知する。ユーザ端末1は、UI(後述する図8A乃至図8Cのユーザ表示画面等)に外れた旨を表示させる。より正確には本実施形態では、ユーザ端末1は、所定の機能モジュール3がベーシックコア2から外された場合は、当該所定の機能モジュール3に対応するHパーツを示すアイコンがUIにおいて非表示状態になる。
 このようにして、ペアリング後の機能モジュール3のホットスワップが実現されている。即ち、ユーザにとっては、ペアリングを一旦してしまえば、あとはベーシックコア2に対する機能モジュール3の抜き差しだけでよい。この抜き差しの状態は、ユーザ端末1上のUIでも追従される。
 いずれにしても、ベーシックコア2と機能モジュール3が接続されている場合、ベーシックコア2の機能モジュール通信制御部203は、接続部47を介して接続された機能モジュール3との通信の制御を実行する。
 例えば、機能モジュール通信制御部203は、後述するプログラム実行部202で出力された動作指示等を機能モジュール3へ送信する。
 プログラム実行部202は、ベーシックコア2で実行される各種処理の主たる制御を実行する。
 例えば、プログラム実行部202は、端末通信制御部201で取得したプログラムの一部を実行して、その実行結果に基づいて、機能モジュール3の機能を発揮させるための動作指示等を出力する。
 なお、ベーシックコア2のCPU41は、端末通信制御部201でのBLEインターフェースとのデータのやりとり、機能モジュール通信制御部203での機能モジュール3とのデータのやりとり、及びプログラム実行部202でのロジックの処理の3つを並行してμ秒オーダーで行う演算処理能力を備えていることが望ましい。
 機能モジュール3は、機能モジュール3で実行される各種処理の主たる制御を実行する。
 例えば、ベーシックコア2から送信されてきた動作指示を、接続部67を介して、取得する。
 機能モジュール3は、取得した動作指示を、機能ハードウェア68に実行させるための制御を実行する。
 即ち、機能モジュール3は、取得した動作指示を機能ハードウェア68に実行させることで、機能モジュール3の機能を発揮させる。
 なお、電力供給部69は、モジュール間電力伝達部72を介して取得した電力を機能モジュール3へ供給するが、上述したように、外部の電源(例えば図5のバッテリーユニットPP)から供給された電力を機能モジュール3へ供給することもできる。
 図7は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。
 図7において、各状態は、1つの楕円形で示されており、夫々の状態は、SPを含む符号により判別される。
 1つの状態から1つの状態への状態遷移は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
 このような状態遷移条件は、図7おいては、1つの状態から1つの状態への遷移を表す矢印に、Aを含む符号を付して表されている。
 本実施形態においては、図7に示すように、プログラム作製状態SP1が基本の状態になる。
 プログラム作製状態SP1において、ユーザは、ユーザ端末1とベーシックコア2を近接させることでペアリングを行う。
 なお、ここでいう近接されるとは、NFC(登録商標)規格に従った方式で近距離無線通信を行うのに有効な距離であり、一般に10cm程度の距離まで近接させることを言う。
 即ち、ユーザが、ユーザ端末1とベーシックコア2とを10cm程度の距離まで近接させることで、状態遷移条件A1が満たされる。
 すると、状態は、ペアリング状態SP2へと遷移する。これにより、プログラム作製部102は、Hパーツを表示制御部105を介してプログラム作製画面に表示する。
 そして、ペアリング後、ユーザが一定の時間、操作を行わなかった場合には、状態遷移条件A2が満たされる。
 すると、状態は、プログラム作製状態SP1へと再び遷移する。
 ペアリング状態SP2において、ユーザが、所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A3が満たされる。
 すると、状態は、プログラム実行状態SP3に遷移する。
 そして、先ほどと同様に、プログラム実行状態SP3において、ユーザが、ユーザ端末1とベーシックコア2を近接させることで、状態遷移条件A4が満たされる。
 すると、状態は、ペアリング状態SP2へと再び遷移する。
 プログラム作製状態SP1において、ユーザが、プログラムの作成が終了して、プログラムの実行を指示する所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A12が満たされる。
 すると、状態は、プログラム実行状態SP3に遷移する。
 なお、プログラム実行状態SP3において、ユーザが、プログラムの追加や変更を所望した場合、所定の操作子(図示せぬプログラム作製ボタン等)を押下すると、状態遷移条件A13が満たされる。
 すると、状態は、プログラム作製状態SP1に遷移する。
 ここで、プログラム実行状態SP3には、上述したようにシミュレーション状態と実機状態2つの状態が存在する。
 プログラム実行状態SP3において、これらの2つの状態は、ユーザが所定の操作子(図示せぬシミュレーションボタン等)を押下することで、夫々の状態での、状態遷移条件A10又A11を満たす。
 このように、プログラム実行状態SP3において、シミュレーション状態と実機状態は、適宜、遷移することができる。
 プログラム実行状態SP3において、プログラム実行後、ユーザが所定の操作子(図示せぬプログラム実行キャンセルボタン等)を押下すると、状態遷移条件A5が満たされる。
 すると、状態は、休止状態SP4へと遷移する。
 そして、休止状態SP4において、ユーザが所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A6が満たされる。
 すると、状態は、プログラム実行状態SP3へと遷移する。
 休止状態SP4において、ユーザが、所定の操作子(図示せぬプログラム作製アプリケーションの起動ボタン等)を押下すると状態遷移条件A7が満たされる。
 すると、状態は、プログラム作製状態SP1へと遷移する。
 そして、プログラム作製状態SP1において、ユーザのが、所定の操作子(図示せぬプログラム作製キャンセルボタン等)を押下すると、遷移条件A8が満たされる。
 すると、状態は、休止状態SP4へと遷移する。
 なお、図7に示す通り、ペアリング状態SP2と休止状態SP4については、直接遷移することも可能である。
 次に、図8A乃至図8Cを用いて、ユーザ端末1の表示部27に表示されるプログラム作製画面の詳細について説明する。
 図8A乃至図8Cは、図2のユーザ端末1が実行するプログラム作製処理に関し、ユーザに実際に表示される画面の一例を示す図である。
 図8A乃至図8Cにおいて、左半分にはユーザに表示されているプログラム作製画面(以下、「ユーザ表示画面」と呼ぶ)が、右半分には実際に作製されたプログラムに応じて、動作する各種ハードウェアの模式図(以下、「ハードウェア模式図」と呼ぶ)が示されている。
 まず、図8Aは、ユーザ端末1に、いずれのベーシックコア2のペアリングもなされていない状況を示している。
 即ち、図8Aのハードウェア模式図を見ると、ユーザ端末1には、ベーシックコア2-O及び機能モジュール3-O(Oは、1乃至mのうち任意の整数値)と、ベーシックコア2-P及び機能モジュール3-P(Pは、1乃至mのうちO以外の任意の整数値)のいずれもペアリングされていない。
 なお、機能モジュール3-Oは、押しボタンの機能を発揮することができる。また、機能モジュール3-Pは、ブザーの機能を発揮することができる。
 そして、図8Aのユーザ表示画面を見ると、プログラム作製時表示領域DAとHパーツ表示領域DHAにはアイコンは表示されていない。なお、Sパーツ表示領域DSAには、タイマーのアイコンが表示されている。
 図8Bは、ユーザ端末1と、機能モジュール3-Oが接続されたベーシックコア2-Oとのペアリングがなされ、かつ、ユーザ端末1と、機能モジュール3-Pが接続されたベーシックコア2-Pとのペアリングがなされた状況を示している。
 そして、図8Bのユーザ表示画面を見ると、ペアリングがなされた機能モジュール3-Oに対応する押しボタンのアイコン及び機能モジュール3-Pに対応するブザーのアイコンがHパーツ表示領域DHBに夫々表示されている。
 図8Cは、ユーザによって作製されたプログラムが、実行された状況を示している。
 図8Cのユーザ表示画面を見ると、プログラム作製時表示領域DCには、右から順に押しボタンのアイコン、タイマー(2s)、ブザーのアイコンが順番に表示され、夫々のアイコンにより夫々結合されている。
 ユーザは、このように、ユーザ表示画面に表示されたアイコンを視認しながら、各種Hパーツ及び各種Sパーツを自由に組み合わせて結合させることで、夫々のアイコンが指定する内容を組み合わせて1つのプログラムを製作し、そのプログラムを実行させることができる。
 図8Cのハードウェア模式図を見ると、同図のユーザ表示画面で示されるプログラムが実行された結果として、押しボタン(機能モジュール3-O)が押されると、その2秒後に、ブザー(機能モジュール3-P)が鳴るという動作が実現されることがわかる。
 図9A乃至図11Cを用いて、ユーザ端末1がプログラム作製画面において表示するプログラムに基づく制御の詳細について説明する。
 図9A乃至図9Cは、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御と対応関係の例を示す図である。
 図9Aは、プログラム作製画面に表示されるプログラムの模式図である。
 プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHCのアイコンが表示されている。それらの間には、Sパーツとして、論理回路S1のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側にはHパーツHCのアイコンが接続されている。
 図9Bは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
 ここで、ベーシックコア2-1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2-2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2-3は、HパーツHCとしてペアリングされた例えばLEDライトCである機能モジュール3と、それぞれ接続されているものとする。
 また、ここで、各ベーシックコア2間の波線矢印は、低消費電力近接無線通信(例えばBLE(Blutooth Low Energy))による信号の伝達方向を示している。
 本制御の態様は、ベーシックコア2-2から、ベーシックコア2-1に信号が伝達され、ベーシックコア2-1において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号を、ベーシックコア2-3に伝達する。
 係る例においては、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCが発光することとなる。
 この場合において、ベーシックコア2-1は、論理回路S1の結果の信号を、そのままベーシックコア2-3に伝達して、ベーシックコア2-3に、LEDライトCを発光させる制御をさせて良い。
 またあるいは、ベーシックコア2-1は、LEDライトCをも制御して良い。即ち、論理回路S1の結果に基づいてLEDライトCを発光させる信号を、ベーシックコア2-1において生成し、これをベーシックコア2-3に伝達して、LEDライトCを発光させても良い。
 図9Cは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
 ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図9Bにおける場合と、同様である。
 本制御の態様は、ベーシックコア2-1及びベーシックコア2-2から、ベーシックコア2-3に信号が伝達され、ベーシックコア2-3において、押しボタンA及び押しボタンBからの信号を例えばANDゲート回路である論理回路S1に入力する。
 係る例においても、図9Bにおける場合と同様に、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCが発光することとなる。
 本制御の態様においては、図9Bに示す第一の態様の場合に比較して、押しボタンBの信号の、ベーシックコア2-3への伝達経路が1段階短くなる。
 このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
 図10A乃至図10Cは、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9A乃至図9Cとは異なる例を示す図である。
 図10Aは、プログラム作製画面に表示されるプログラムの模式図である。
 プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHDのアイコンが表示されている。それらの間には、例えばボタンであるHパーツHAと、Sパーツとして、論理回路S1、及び論理回路S2のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側には論理回路S2のアイコンが接続されている。論理回路S2のアイコンは、入力側には論理回路S1のアイコン及びHパーツHCのアイコンが接続され、出力側にはHパーツHDのアイコンが接続されている。
 図10Bは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
 ここで、ベーシックコア2-1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2-2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2-3は、HパーツHCとしてペアリングされた例えば押しボタンCである機能モジュール3と、ベーシックコア2-4は、HパーツHDとしてペアリングされた例えばLEDライトDである機能モジュール3と、それぞれ接続されているものとする。
 本制御の態様は、ベーシックコア2-1及びベーシックコア2-2から、ベーシックコア2-3に信号が伝達され、ベーシックコア2-3において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号及びHパーツHCからの信号を、ベーシックコア2-4に伝達し、これらを例えばANDゲート回路である論理回路S2に入力する。
 係る例においては、プログラムに基づいて、押しボタンAと、押しボタンBと、押しボタンCとが、共に押されている間に、LEDライトDが発光することとなる。
 図10Cは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
 本制御の態様は、信号の送信先を、二以上の新たな送り先に入れ替える場合の例である。
 ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図10Bにおける場合と、同様である。
 本制御の態様は、ベーシックコア2-1、ベーシックコア2-2及びベーシックコア2-3から、ベーシックコア2-4に信号が伝達され、ベーシックコア2-4において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号及びHパーツHCからの信号を、更に例えばANDゲート回路である論理回路S2に入力する。
 係る例においても、プログラムに基づいて、押しボタンAと、押しボタンBと、押しボタンCとが、共に押されている間に、LEDライトDが発光することとなる。
 本制御の態様においては、図10Bに示す第一の態様の場合に比較して、押しボタンA及び押しボタンBの信号の、ベーシックコア2-4への伝達経路が1段階短くなる。
 このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
 図11A乃至図11Cは、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9A乃至図9C及び図10A乃至図10Cとは異なる例を示す図である。
 図11Aは、プログラム作製画面に表示されるプログラムの模式図である。
 プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHC及びHパーツHDのアイコンが表示されている。それらの間には、Sパーツとして、論理回路S1のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側にはHパーツHC及びHパーツHDのアイコンが接続されている。
 図11Bは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
 ここで、ベーシックコア2-1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2-2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2-3は、HパーツHCとしてペアリングされた例えばLEDライトCである機能モジュール3と、ベーシックコア2-4は、HパーツHDとしてペアリングされた例えばLEDライトDである機能モジュール3と、それぞれ接続されているものとする。
 本制御の態様は、ベーシックコア2-1及びベーシックコア2-2から、ベーシックコア2-3に信号が伝達され、ベーシックコア2-3において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号を、ベーシックコア2-4に伝達する。
 係る例においては、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCとLEDライトDとが発光することとなる。
 この場合において、ベーシックコア2-3は、論理回路S1の結果の信号を、そのままベーシックコア2-4に伝達して、ベーシックコア2-4に、LEDライトCを発光させる制御をさせて良い。
 またあるいは、ベーシックコア2-3は、LEDライトDをも制御して良い。即ち、論理回路S1の結果に基づいてLEDライトDを発光させる信号を、ベーシックコア2-3において生成し、これをベーシックコア2-4に伝達して、LEDライトDを発光させても良い。
 図11Cは、プログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
 ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図11Bにおける場合と、同様である。
 本制御の態様は、ベーシックコア2-1及びベーシックコア2-2から、ベーシックコア2-3及びベーシックコア2-4にそれぞれ信号が伝達され、ベーシックコア2-3及びベーシックコア2-4において、押しボタンA及び押しボタンBからの信号を例えばANDゲート回路である論理回路S1にそれぞれ入力する。
 係る例においても、図11Bにおける場合と同様に、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトC及びLEDライトDが発光することとなる。
 本制御の態様においては、図11Bに示す第一の態様の場合に比較して、ベーシックコア2-4への信号の伝達経路が1段階短くなる。
 このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
 以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
 例えば、図8A乃至図8Cに示す実施形態では、機能モジュール3-O及び機能モジュール3-Pとして、押しボタンとブザーが採用されているが、機能モジュール3の発揮する機能は特に上述した実施形態には限定されない。
 本発明は、上述した様々な実施形態により実施することが可能であるが、多くの実施形態において、特に子供の教育用の組み立て式玩具に使用するプログラムを作製するのに極めて有用である。
 プログラム作製画面に表示されたアイコンを視覚的に確認することができるため、ユーザが子供であっても、安全かつ容易にプログラムを作製することができる。また、自身で作製したプログラムに応じて、実機によって動作させることができるため、子供は飽きることなく、プログラムの作製を楽しむことができる。
 このように、子供に楽しみながらプログラムの作製を行わせることで、子供は、一般に触れることが困難であるプログラムについて、慣れ親しむことができるのである。
 さらに、ベーシックコア2とユーザ端末1とのペアリングをしておけば、機能モジュール3は自由に着脱が可能であり、その着脱の状態もプログラム作製画面に反映される。従って、子供は、ハードウェアの設計も楽しむことができる。
 ここで、本実施形態における入出力情報について、補足する。本実施形態において、各種Hパーツや各種Sパーツを組み合わせることで、各種アイコンに指定されたプログラムの内容が連続的に実行される。
 この夫々のプログラムの入出力情報は、図8に示したような単なるトリガ情報だけでなく、アナログ信号等の多種多様な情報を入出力情報として取り扱うことができる。
 即ち、例えば、本実施形態における入出力情報は、温度センサによって取得された情報(例えば、温度が15度)を、そのままアナログ信号等の情報として出力し、プログラムの作製に用いることができる。そのため、デジタル信号の情報だけでは、実現することのできない複雑な情報処理であっても実現することが可能となる。
 また例えば、上述の実施形態では、ユーザ端末1とベーシックコア2のペアリングは、
NFC(登録商標)規格に従った方式での近距離無線通信により行っているが、これに限定されない。ペアリングは、近距離無線通信に限らず、いかなる手段によってペアリングを行ってもよい。
 さらに言えば、上述の実施形態では、ユーザ端末1で作製したプログラムの実行結果をBluetooth(登録商標)等の規格に従った方式で近距離無線通信を利用して送信しているが、特にこれに限定されない。作製したプログラムは、近距離無線通信に限らず、いかなる手段を利用して送信してもよい。
 また例えば、上述の本実施形態では、ベーシックコア2の数と機能モジュール3の数をともにmとして説明を行ったが、特にこれに限定されない。即ち、ベーシックコア2の数と機能モジュール3の数は、同一でも構わないし、また、異なっていても構わない。
 つまり、1台のベーシックコア2に対して、s台(sは1以上の任意の整数値)の機能モジュール3を接続してもよい。
 また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
 換言すると、図6の機能的構成は例示に過ぎず、特に限定されない。
 即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図4の例に限定されない。また、機能ブロックの存在場所も、図6に特に限定されず、任意でよい。
 また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
 また例えば、一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
 コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。
 また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
 また例えば、このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
 なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
 また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
 以上を換言すると、本発明が適用される情報処理システムは、次のような構成を有する各種各様の実施形態を取ることができる。
 即ち、本発明が適用される情報処理システムは、
  ユーザの指示により制御プログラム(例えば図6のプログラム格納部500に格納されたプログラム)の作製を支援するプログラム作製支援装置(例えば、図1のユーザ端末1)と、
  他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイス(例えば、図1のベーシックコア2)と、
  前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイス(例えば、図1の機能モジュール3)とを含む情報処理システムにおいて、
 前記プログラム作製支援装置は、
  前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段(例えば、図6の制御送付部104)、
 を備える情報処理システムであれば足りる。
 これにより、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信が不要になるため、例えば玩具等として好ましい応答速度での動作が可能になり、かつ、ハードウェアデバイスの実機を自立駆動させることが可能になる。
 1・・・ユーザ端末、2・・・ベーシックコア、3・・・機能モジュール、21・・・CPU、27・・・表示部、30・・・第一近距離無線通信部、31・・・第二近距離無線通信部、41・・・CPU、45・・・第一近距離無線通信部、46・・・第二近距離無線通信部、47・・・接続部、48・・・電源部、51・・・モジュール間通信部、52・・・モジュール間電力伝達部、61・・・CPU、67・・・接続部、68・・・機能ハードウェア、69・・・電力供給部、71・・・モジュール間通信部、72・・・モジュール間電力伝達部、101・・・ペアリング部、102・・・プログラム作製部、103・・・制御送付先決定部、104・・・制御送付部、105・・・表示制御部、106・・・通信制御部、121・・・終点部品抽出部、122・・・先行部品特定部、123・・・送信先変更部、201・・・端末通信制御部、202・・・プログラム実行部、203・・・機能モジュール通信制御部、500・・・プログラム格納部、600・・・SパーツDB

Claims (3)

  1.   ユーザの指示により制御プログラムの作製を支援するプログラム作製支援装置と、
      他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイスと、
      前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイスとを含む情報処理システムにおいて、
     前記プログラム作製支援装置は、
      前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段、
    を備える情報処理システム。
  2.  前記プログラム作製支援装置は、
      前記1以上のハードウェアデバイスの中から、所定のルールに基づいて前記制御プログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する制御送付先決定手段、
    を更に備える請求項1に記載された情報処理システム。
  3.  前記制御プログラムは、前記第2ハードウェアデバイスに対応付けられたハードウェア部品を含むプログラミング部品を結合させて定義され、
     前記制御送付先決定手段は、
      前記制御プログラムを解析して、他の前記プログラミング部品に信号を送らない前記プログラミング部品を終点部品として抽出する終点部品抽出手段と、
      抽出された前記終点部品のそれぞれから遡ってその始点までの全ての前記プログラミング部品を、当該終点部品についての先行部品として特定する先行部品特定手段と、
      前記終点部品の夫々についての前記先行部品の前記制御プログラムにおける信号の送り先を当該終点部品に変更する送信先変更手段と、
     を更に備える請求項2に記載された情報処理システム。
PCT/JP2019/048676 2018-12-13 2019-12-12 情報処理システム WO2020122171A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201980083090.6A CN113474066A (zh) 2018-12-13 2019-12-12 信息处理系统
SG11202106286UA SG11202106286UA (en) 2018-12-13 2019-12-12 Information processing system
US17/413,136 US20220026868A1 (en) 2018-12-13 2019-12-12 Information processing system
EP19896940.4A EP3895771A1 (en) 2018-12-13 2019-12-12 Information processing system
KR1020217018437A KR20210093959A (ko) 2018-12-13 2019-12-12 정보 처리 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018233734A JP2020095532A (ja) 2018-12-13 2018-12-13 情報処理システム
JP2018-233734 2018-12-13

Publications (1)

Publication Number Publication Date
WO2020122171A1 true WO2020122171A1 (ja) 2020-06-18

Family

ID=71076497

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/048676 WO2020122171A1 (ja) 2018-12-13 2019-12-12 情報処理システム

Country Status (8)

Country Link
US (1) US20220026868A1 (ja)
EP (1) EP3895771A1 (ja)
JP (1) JP2020095532A (ja)
KR (1) KR20210093959A (ja)
CN (1) CN113474066A (ja)
SG (1) SG11202106286UA (ja)
TW (1) TW202032367A (ja)
WO (1) WO2020122171A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10108985A (ja) 1996-10-09 1998-04-28 Syst Watt:Kk 組立ブロック及び組立式玩具システム
WO2009011056A1 (ja) * 2007-07-19 2009-01-22 Fujitsu Limited アプリケーション改善支援プログラム、アプリケーション改善支援方法およびアプリケーション改善支援装置
JP2018010389A (ja) * 2016-07-12 2018-01-18 株式会社日立製作所 制御アプリケーション生成支援装置、及び制御アプリケーション生成支援方法
WO2018155483A1 (ja) * 2017-02-24 2018-08-30 Vivita株式会社 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869287B2 (en) * 2012-12-31 2014-10-21 International Business Machines Corporation Hybrid analysis of vulnerable information flows
KR101568224B1 (ko) * 2014-12-26 2015-11-11 고려대학교 산학협력단 소프트웨어 취약점 분석방법 및 분석장치
KR102304692B1 (ko) * 2018-09-21 2021-09-24 주식회사 럭스로보 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10108985A (ja) 1996-10-09 1998-04-28 Syst Watt:Kk 組立ブロック及び組立式玩具システム
WO2009011056A1 (ja) * 2007-07-19 2009-01-22 Fujitsu Limited アプリケーション改善支援プログラム、アプリケーション改善支援方法およびアプリケーション改善支援装置
JP2018010389A (ja) * 2016-07-12 2018-01-18 株式会社日立製作所 制御アプリケーション生成支援装置、及び制御アプリケーション生成支援方法
WO2018155483A1 (ja) * 2017-02-24 2018-08-30 Vivita株式会社 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
CN113474066A (zh) 2021-10-01
TW202032367A (zh) 2020-09-01
KR20210093959A (ko) 2021-07-28
SG11202106286UA (en) 2021-07-29
EP3895771A1 (en) 2021-10-20
JP2020095532A (ja) 2020-06-18
US20220026868A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
WO2020220184A1 (zh) 可视化编程控制装置、可编程控制的设备及其控制方法、计算机可读存储介质以及编程控制系统
KR102286283B1 (ko) 제어 장치, 제어 방법, 정보 처리 장치, 정보 처리 방법 및 프로그램
KR102175316B1 (ko) 코딩교육장치
CN103489347A (zh) 一种智能教学电子积木
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
KR102655584B1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
US20190227776A1 (en) System for co-ordination of logical sequence of instructions across electronic devices using visual programming and wireless communication
WO2020122171A1 (ja) 情報処理システム
JP6748038B2 (ja) 情報処理装置
KR102186719B1 (ko) 블록형 무선 코딩 명령어 입력 장치 및 방법
KR20210119709A (ko) 모듈형 로봇 제어 시스템
WO2013162104A1 (ko) 인터렉티브 전시환경을 위한 통합 미디어 프레임워크
JP2022100572A (ja) プログラム実行システム、制御装置及び制御プログラム
JP2023032976A (ja) 情報処理システム
JP6100224B2 (ja) 遊技機
Srividhya et al. IoT Based Vigilance Robot using Gesture Control
JP2019087927A (ja) 赤外線操作システム
WO2004068891A1 (en) Remote controller for transmitting display messages to display panel
KR102203829B1 (ko) 코딩용 카드를 이용하여 코딩로봇의 제어를 위한 알고리즘을 생성하는 코딩보드장치 및 방법
CN112584207B (zh) 一种视频信号的处理方法、系统、设备和存储介质
JP2023032977A (ja) 情報処理システム
JP2023032975A (ja) 情報処理装置
KR101816374B1 (ko) 다수의 간략화된 통신 장치들을 갖는 시스템
JP4162146B2 (ja) 画像表示装置、画像表示方法及びプログラム
JP5681006B2 (ja) Kvmスイッチ及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19896940

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20217018437

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019896940

Country of ref document: EP

Effective date: 20210713