Method for modeling, information processor, and program

The modeling support method enhances the operability of programming tools by allowing users to intuitively add control structures through a simple line-based interface, addressing the complexity of branching and iteration operations in conventional tools.

JP2025090844AActive Publication Date: 2025-06-17CASIO COMPUTER CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025046164
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-06-17
Estimated Expiration
2040-12-18

AI Technical Summary

Technical Problem

Conventional programming tools, including visual programming languages, face challenges in providing intuitive operations for implementing branching and iteration, which can lead to complex GUI operations and interruptions in the thinking process, especially for beginners.

Method used

A modeling support method that displays a line for arranging elements indicating control structures, detects input operations, and adds new elements for branching or iteration when the input operation intersects the line, thereby simplifying the process of adding control structures.

Benefits of technology

This approach improves the operability of modeling tools by allowing users to add control structures intuitively, reducing cognitive load and making it easier for beginners to learn programming without getting overwhelmed by complex operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025090844000001_ABST
    Figure 2025090844000001_ABST
Patent Text Reader

Abstract

To improve the operability of a modeling tool.SOLUTION: A computer performs the processing of: causing a display device to display a line in which at least one element can be arranged, each of the at least one element showing a control structure classified as sequence, branch or repetition (S1); detecting the line displayed in the display device or an input operation done on an element on the line (S2); and causing the display device to display a new element that shows a control structure classified as branch or repetition on the line if the detected input operation includes an operation of a direction perpendicular to the line (S5, S7, S9).SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosure of this specification relates to a modeling support method, an information processing apparatus, and a program.

Background Art

[0002] The importance of programming education that can cultivate logical thinking and problem-solving abilities is currently recognized worldwide. In recent years, in Japan as well, programming education has been made compulsory in elementary schools, and the spread of programming education among the younger generation has been promoted.

[0003] On the other hand, conventional programming languages used in programming require writing program codes, and it is too difficult for beginners including elementary school students to learn programming for the first time.

[0004] For this reason, various programming languages for education based on GUI (Graphical User Interface) that can be easily learned by beginners have been developed. Such programming languages for education are generally called visual programming languages. In visual programming, since algorithms are graphically represented, there is no need to write codes in text, and programming can be performed only by operating the GUI. Technologies related to visual programming are described in, for example, Patent Document 1.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] Incidentally, branching and iteration are fundamental control structures of a program, just like sequential execution. When representing control structures graphically, the graphical representations of branching and iteration become more complex than that of sequential execution. Therefore, even in visual programming, GUI operations for implementing branching and iteration tend to be more complicated than those for sequential execution.

[0007] Complicated operations tend to draw attention to the operations themselves and easily cause interruptions in the thinking process of considering the algorithm. For this reason, in visual programming, there is a need for technical improvements that enable programming with intuitive operations without causing interruptions in the thinking process, particularly for branching and iteration.

[0008] In the above description, the explanation was made assuming a programming tool for visual programming. However, similar problems can occur not only in the program implementation process but also in the design process. Therefore, the above problems are common problems in all modeling tools including programming tools. Further, the above problems in modeling tools can occur not only in the design of programs operating on a computer but also in the design of overall processing flows including, for example, business processes.

[0009] Based on the above circumstances, an object according to one aspect of the present invention is to provide a technique for improving the operability of a modeling tool used for designing a processing flow or programming.

Means for Solving the Problem

[0010] A modeling support method according to one embodiment of the present invention includes a process of causing a display device to display a line on which one or more elements indicating control structures each classified as sequential, branched, or iterative can be arranged, which is performed by a computer; a process of detecting an input operation on the line or an element on the line displayed on the display device; and a process of causing the display device to display a new element indicating a control structure classified as the branch or the iteration on the line when the detected input operation includes an operation in a direction intersecting the line.

[0011] An information processing apparatus according to an aspect of the present invention includes one or more non-transitory computer-readable media including instructions, and one or more processors that execute the instructions. The instructions are configured to cause the one or more processors to perform operations, and the operations include causing a display device to display a line on which one or more elements indicating a control structure classified as sequential, branched, or iterative can be arranged, detecting an input operation on the line or an element on the line displayed on the display device, and when the detected input operation is an input operation in a direction intersecting the line, causing the display device to display a new element indicating a control structure classified as the branch or the iteration on the line.

[0012] A program according to an aspect of the present invention causes a computer to display, on a display device, a line on which one or more elements indicating a control structure classified as sequential, branched, or iterative can be arranged, detect an input operation on the line or an element on the line displayed on the display device, and when the detected input operation is an input operation in a direction intersecting the line, execute a process of causing the display device to display a new element indicating a control structure classified as the branch or the iteration on the line.

Advantages of the Invention

[0013] According to the above aspect, the operability of the modeling tool can be improved.

Brief Description of the Drawings

[0014]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Mode for Carrying Out the Invention

[0015] Hereinafter, a modeling support method, an information processing apparatus, and a program according to an embodiment of the present invention will be described while specifically exemplifying a GUI provided by a modeling tool. In this specification, the modeling tool means an application program that supports a modeling operation performed by a user and / or a computer on which the program operates. That is, the modeling tool is at least one of software, hardware, or a combination thereof that supports a modeling operation.

[0016] In this specification, a case where the modeling tool is a desktop application program or an information processing apparatus (hereinafter also referred to as a user terminal) directly operated by a user on which the desktop application program is installed will be described as an example. However, the modeling tool may be a web application program, or may be an information processing apparatus different from the user terminal on which the web application program is deployed. That is, the modeling tool may provide a GUI on the web browser of the user terminal.

[0017] Further, in this specification, a case where the modeling tool is a visual programming tool that converts a program graphically represented using elements (objects) such as figures into a program code (source code) in text form and executes it will be described as an example. However, the modeling tool is not limited to a programming tool that creates and executes source code, and may be, for example, a drawing tool that draws a flowchart of a process executed by a computer. Further, the modeling tool may be used as a drawing tool for drawing a business process.

[0018] [First Embodiment] FIG. 1 is an external view of the information processing apparatus 10 according to the present embodiment. FIG. 2 is a hardware configuration diagram of the information processing apparatus 10 according to the present embodiment. As shown in FIG. 1, the information processing apparatus 10 is, for example, a tablet terminal provided with a touch panel display, and is a computer installed with a program for visual programming.

[0019] The information processing apparatus 10 only needs to be a touch device having a touch panel display, and is not limited to a tablet terminal. The information processing apparatus 10 may be, for example, a laptop computer, a smartphone, an electronic dictionary, or the like. Further, it is not limited to a mobile terminal, and may be, for example, a table-type computer in which a touch panel display is embedded in a table.

[0020] As shown in FIG. 2, the information processing apparatus 10 includes one or more processors 1, one or more storage devices 2, an input device 3, a display device 4, and a communication device 5. In the information processing apparatus 10, they are connected through a bus 6. The input device 3 and the display device 4 constitute a touch panel display, and as shown in FIG. 1, they are arranged overlapping each other.

[0021] Each of the one or more processors 1 is hardware including, for example, a CPU (Central Processing Unit), and executes a program 2a stored in the storage device 2. Note that the CPU includes a control device, an arithmetic device, a register, a cache memory, etc., and further includes an interface with other devices. The one or more processors 1 may include a GPU (Graphics processing unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), a DSP (Digital Signal Processor), or the like.

[0022] Each of the one or more storage devices 2 is a non-transitory computer-readable medium, for example, any semiconductor memory. The one or more storage devices 2 include volatile memories such as RAM (Random Access Memory), ROM (Read Only Memory), and non-volatile memories such as flash memory. Further, the storage device 2 may include a magnetic storage device, an optical storage device, and other types of storage devices.

[0023] At least one of the one or more storage devices 2 includes a program 2a. The program 2a is a visual programming tool and includes instructions for programming support processing described later. Further, the instructions included in the program 2a are configured to cause one or more processors 1 to execute a predetermined operation.

[0024] The input device 3 is a device directly operated by the user. Specifically, the input device 3 is a touch sensor that constitutes a touch panel display. The detection method of the touch sensor is not particularly limited. For example, any detection method such as a resistive film method, a capacitance method, an electromagnetic induction method, a surface acoustic wave method, or an infrared method can be adopted.

[0025] The display device 4 is, for example, a liquid crystal display, an organic EL display, etc., but may be other types of displays. The communication device 5 is a device for communicating with an external device. The communication device 5 is, for example, a wireless communication device such as a Wi-Fi module.

[0026] Visual programming performed by the user using the information processing apparatus 10 configured as described above is to create a program by arranging elements indicating the control structure of the programming on the screen. And the programming support processing performed by the information processing apparatus 10 is to control the screen display according to the input operation of the user when visual programming is being performed.

[0027] FIG. 3 is a flowchart showing an example of programming support processing performed by the information processing apparatus 10. FIG. 4 is a diagram showing a configuration example of a screen displayed on the information processing apparatus 10. Hereinafter, a programming support method implemented using the information processing apparatus 10 will be outlined with reference to FIGS. 3 and 4. Note that the programming support processing shown in FIG. 3 is an example of modeling support processing, and is started by executing instructions included in a program 2a stored in the storage device 2 by one or more processors 1.

[0028] First, the processor 1 causes the display device 4 to display a line on which one or more elements indicating control structures each classified into sequential, branched, or iterative can be arranged (step S1). In step S1, for example, when the user taps a software button described as “New” in the area 12, the processor 1 displays a line L in the area 12 of the display device 4 shown in FIG. 4. The area 12 is a programming area in which a program designed by the user is represented using graphics. The line L displayed in the area 12 indicates the flow of processing of the program from one end of the line L described as “START” to the other end of the line L described as “END”. On the line L, elements indicating the control structures displayed in the area 11 can be selectively arranged according to the user's operation. Hereinafter, elements indicating control structures classified into sequential, branched, or iterative will also be simply referred to as control elements.

[0029] Thereafter, the processor 1 monitors input operations to the input device 3. When an input operation is performed, the processor 1 detects the input operation based on the output from the input device 3 (step S2). In step S2, the processor 1 detects the user's input operation based on an operation signal output by the input device 3 (touch sensor) according to the user's input operation on the touch panel display.

[0030] If it is determined in step S3 that the input operation detected in step S2 is (1) an operation on line L or a control element on line L and (2) includes an operation in a direction intersecting line L, the processor 1 causes the display device 4 to display a new control element classified as a branch or iteration on line L (steps S4 to S7, step S9). In other words, the processor 1 detects an input operation on line L or an element on line L, and when the detected input operation includes an operation in a direction intersecting line L, causes the display device 4 to display a new control element classified as a branch or iteration on line L.

[0031] Specifically, when the input operation detected in step S2 is a one-way operation in a direction intersecting line L on line L or an element on the line (step S4: one-way), the processor 1 causes the display device 4 to display a new control element (branch element) classified as a branch on line L. More specifically, the processor 1 branches line L (step S5), adds a branch element to the branch point (step S6), and updates the screen display (step S9). Note that the one-way operation is, for example, a flick, a swipe, a slide, or the like.

[0032] Also, when the input operation detected in step S2 is a two-way operation in a direction intersecting line L on line L or an element on the line (step S4: two-way), the processor 1 causes the display device 4 to display a new control element (iteration element) classified as an iteration on line L. That is, the processor 1 adds an iteration element (step S7) and updates the screen display (step S9). Note that the two-way operation is, for example, a pair of flicks in opposite directions, a pair of swipes in opposite directions, a slide that draws a trajectory that turns back and forth in the middle, or the like.

[0033] Further, when the locus of the input operation detected in step S2 draws an arc that crosses line L (step S4: arc crossing the line), the processor 1 causes the display device 4 to display a new control element (repetitive element) that is repeatedly classified on line L. That is, the processor 1 adds a repetitive element (step S7) and updates the screen display (step S9).

[0034] On the other hand, when it is determined in step S3 that the input operation detected in step S2 does not satisfy (1) and (2) described later, the processor 1 performs processing according to the input operation (step S8), and then updates the screen display of the display device 4 (step S9). Note that the input operation targeted in step S8 is not particularly limited, and for example, operations such as tap, double-tap, long-tap, pinch-in, pinch-out, flick, swipe, and slide on region 11 or region 12 may be included. The processing according to these input operations may include, for example, processing for displaying a new control element that is sequentially classified on line L.

[0035] When the display is updated, the processor 1 determines whether an end instruction has been input (step S10). If it is determined that an end instruction has been input, the processor 1 ends the programming support process shown in FIG. 3. On the other hand, if it is determined that an end instruction has not been input, the processor 1 repeats the processing from step S2 to step S9 until an end instruction is input.

[0036] By executing the programming support process shown in FIG. 3 described above, the information processing apparatus 10 A control structure classified into branching and iteration can be added to a program with an intuitive and simple operation. As a result, the operability of the programming tool is improved compared to the prior art. Therefore, the user of the programming tool can concentrate on programming without causing interruption of thinking, and can efficiently perform programming learning. In addition, even a beginner who is not familiar with programming or a programming tool can operate it intuitively. Therefore, compared to conventional programming tools, the user is less likely to be confused about how to use the programming tool. For this reason, it is possible to avoid a situation where the user gives up programming learning itself at an initial stage due to the difficulty of mastering the programming tool. As described above, according to the information processing apparatus 10, it is possible to lower the hurdle for programming learning.

[0037] Hereinafter, with reference to FIGS. 5 to 19, a programming support method implemented using the information processing apparatus 10 will be described more specifically. FIG. 5 is a diagram for explaining an example of a method for adding an element indicating a control structure. FIG. 6 is a diagram for explaining an example of a method for setting parameters of an element. FIG. 7 is a diagram for explaining an example of a method for changing the order of elements indicating a control structure. First, with reference to FIGS. 5 to 7, a method for adding a control element to the area 12 will be described.

[0038] When adding a control element, the user may long-tap on the line L as shown in FIG. 5, and the new control element 21 is added at the long-tapped position. Further, the type of the control element can be freely switched from any of the control elements displayed in the area 11 by flicking the control element 21 added on the line L to the left or right.

[0039] By repeating the process of adding control elements, as shown in FIG. 6, a plurality of control elements can be arranged and displayed on line L. Thereby, the overall program framework can be created. For example, in the case of the program shown in FIG. 6, processing flows such as input processing (“Input”), display processing (“Disp”), movement processing (“Move”), standby processing (“Wait”), movement processing (“Move”), standby processing (“Wait”), and movement processing (“Move”) are represented.

[0040] Note that the method of adding control elements is not limited to this method. For example, a control element displayed in area 11 can be dragged onto line L and dropped at the desired position to add a control element.

[0041] Parameter settings for each control element can be performed, as shown in FIG. 6, by long-tapping the control element added on line L. When the control element is long-tapped, a setting window 23 for parameter settings is displayed. By inputting or selecting information in the items within the setting window 23, parameters can be set for the control element.

[0042] Also, the order of the control elements added on line L can be changed later. For example, as shown in FIG. 7, tap control element 25 to select it as the movement target. Then, by dragging the control element 25 selected as the movement target and dropping it at the desired position, the control element 25 can be moved to the desired position. Note that, for example, if the control elements are set to be aligned at regular intervals, the other control elements may also move in accordance with the movement of control element 25 to maintain the interval between the control elements. In the example shown in FIG. 7, the movement of control element 25 backward shows the state where each of control elements 26 to 29 has moved forward.

[0043] FIG. 8 is a diagram for explaining an example of a method for adding an element indicating a branch. FIG. 9 is a diagram for explaining an example of a method for setting parameters of an element indicating a branch. FIG. 10 is a diagram for explaining an example of an operation method for a branch. FIG. 11 is a diagram for explaining another example of an operation method for a branch. Above, the method for adding an arbitrary control element has been described. Hereinafter, with reference to FIGS. 8 to 11, a method peculiar to the case of adding a control element (branch element) classified as a branch will be described.

[0044] When adding a branch element, as shown in FIG. 8, the user first taps and selects the control element 31 corresponding to the process to be executed only under specific conditions. Then, it is sufficient to drag & drop or flick the selected control element 31 in a direction intersecting the line L. Note that the operation on the control element 31 is not limited to drag & drop and flick, and any one-way operation in a direction intersecting the line L may be sufficient. Specifically, for example, it may be a swipe, a slide, or the like.

[0045] When the processor 1 detects a one-way operation in a direction intersecting the line L for the control element 31, as shown in FIG. 8, it adds a new line L1 branched from the line L and displays the control element 31 on the line L1. At the branch point where the line L branches to the line L1, a branch element 32 is added as a new control element.

[0046] The parameter setting for the branch element can be performed by long-tapping the branch element 32 added on the line L, as shown in FIG. 9. This is the same as the case of setting parameters for an arbitrary control element, as described above with reference to FIG. 6. Note that within the setting window 33, the branch condition can be set.

[0047] Also, when there is other processing that needs to be executed only under specific conditions, as shown in Fig. 10, drag the control element 34 corresponding to that processing and drop it at a desired position on the branched lines (line L, line L1). In this case, the positions of other control elements (such as control element 35) may be automatically adjusted by moving the control element 34.

[0048] Also, when there is insufficient space to place the processing that needs to be executed only under specific conditions, as shown in Fig. 10, you may move the confluence point where the branched lines (line L, line L1) merge by drag & drop to secure space. Fig. 10 shows an example of adding a new control element 36 to the space secured by such an operation.

[0049] Also, by flicking the confluence point toward the end of line L labeled "END", it may be possible to adjust the confluence position of the branched lines. For example, as shown in Fig. 11, it may be programmed so that the branches merge at the end of the processing flow by flicking, or the confluence position may move backward by one control element for each flick. Also, by flicking the confluence point toward the start of line L labeled "START", the confluence position may move forward by one control element for each flick.

[0050] Fig. 12 is a diagram for explaining another example of a method for adding an element indicating a branch. Fig. 13 is a diagram for explaining an example of a method for adding elements indicating branches in a nested manner. Above, the method of selecting a control element to branch the processing has been explained. Hereinafter, with reference to Figs. 12 and 13, a method for adding a control element (branch element) classified as a branch without selecting a control element will be explained.

[0051] When adding a branch element without selecting a control element, as shown in Fig. 12, the user first taps and selects line L. Then, the user can drag & drop or flick line L in a direction intersecting line L. Note that the operation on line L is not limited to drag & drop or flick, and any one-way operation in a direction intersecting line L is acceptable. Specifically, for example, it may be a swipe, a slide, or the like. Also, the operation on line L may be a one-way operation performed after selecting line L as described above, or a one-way operation performed across line L (for example, a swipe operation from the area above line L to the area below line L).

[0052] When the processor 1 detects a one-way operation in a direction intersecting line L on line L, as shown in Fig. 12, it adds a new line L2 branched from line L and adds a branch element 38 as a new control element to the branch point where the branch occurs from line L to line L2.

[0053] When further branching the process from line L2, the user can drag & drop or flick line L2 in a direction intersecting line L2. As a result, as shown in Fig. 13, a new line L3 branched from line L2 is added, and a branch element 39 is added as a new control element to the branch point where the branch occurs from line L2 to line L3. In this way, by repeating the branching of lines, a complex conditional branch can be programmed with a simple operation.

[0054] In this way, in the information processing apparatus 10, the user can add a branch element only by performing a one-way operation in a direction intersecting the line. The one-way operation in a direction intersecting the line is an operation that is easy to recall when imagining a branch from a series of processes, and is an operation that even a beginner can intuitively understand and is easy to remember as an operation for branching the process. Therefore, according to the information processing apparatus 10, a more complex program using the branch element can be easily assembled by an intuitive operation without interrupting thinking.

[0055] FIG. 14 is a diagram for explaining an example of a method for adding an element indicating iteration. FIG. 15 is a diagram for explaining an example of a method for setting parameters of an element indicating iteration. FIG. 16 is a diagram for explaining another example of a method for adding an element indicating iteration. Hereinafter, with reference to FIGS. 14 to 16, a method specific to the case of adding a control element (iteration element) classified as iteration will be described.

[0056] When adding an iteration element, as shown in FIG. 14, the user may draw an arc so as to surround the control element 40 corresponding to the process to be repeatedly executed. As a result, an arc that crosses the line L at least once will be drawn.

[0057] When the processor 1 detects that the trajectory of the input operation performed by the user draws an arc that crosses the line L, as shown in FIG. 14, the iteration elements 41 and 42 are added on the line L as new control elements. The iteration element 41 and the iteration element 42 are added in front of and behind the control element 40, respectively, so as to sandwich the control element 40 indicating the process to be repeated.

[0058] Parameter setting for the iteration element can be performed by tapping or long-tapping the iteration element 41 added on the line L, as shown in FIG. 15. This is the same as the case of setting parameters for any control element, as described above with reference to FIG. 6. In the setting window 43, the number of iterations can be set. Also, by setting the parameter “Block” to ON, as shown in FIG. 15, the iteration elements (iteration element 41, iteration element 42) and the control element 40 corresponding to the process to be repeatedly executed can be blocked into one element.

[0059] Note that the positions of the start and end points of the arc are not particularly limited. For example, as shown in FIG. 14, an arc may be drawn from the area above the line L to the area below the line L, or as shown in FIG. 16, an arc may be drawn from the area below the line L through the area above the line L to the area below the line L. Although not shown, an arc may be drawn from the area above the line L through the area below the line L to the area above the line L.

[0060] In this way, in the information processing apparatus 10, the user can add a repetitive element only by performing an input operation such that the locus of the input operation draws an arc that crosses a line. The operation of drawing an arc whose locus crosses a line is an operation that is easy to recall when imagining a repetition in which processing is repeatedly performed, and even a beginner can intuitively understand it as an operation for repetitive processing and it is easy to remain in memory. Therefore, according to the information processing apparatus 10, a more complex program using repetitive elements can be easily assembled by an intuitive operation without interrupting thinking.

[0061] FIGS. 17 and 18 are diagrams for explaining still another example of a method for adding an element indicating repetition. Above, an example in which a repetitive element is added when the detected locus of the input operation draws an arc that crosses the line L has been shown. Hereinafter, an example in which a repetitive element is added when the detected input operation is a bidirectional operation in a direction intersecting the line L with respect to the line L or an element on the line L will be described with reference to FIGS. 17 and 18.

[0062] When adding a repetitive element, as shown in FIG. 17, the user may flick up and down on the left and right sides of the control element 40 corresponding to the process to be repeatedly executed. Also, as shown in FIG. 18, the user may flick up and down at the same position with respect to the line L. When flicking up and down at the same position, as shown in FIG. 18, since there is no control element between the added repetitive elements (repetitive element 41, repetitive element 42), after the repetitive elements are added, a desired control element (control element 46) may be moved between the repetitive elements by drag and drop. Note that one set of flicks may be performed in the order of up and down or in the order of down and up.

[0063] In this way, in the information processing apparatus 10, the user can add iterative elements only by performing a bidirectional operation in the direction intersecting the line. The bidirectional operation in the direction intersecting the line is an operation that is easy to recall when imagining an iteration in which processing is repeatedly performed, and even a beginner can intuitively understand it as an operation for iterative processing and it is easy to remain in memory. Therefore, according to the information processing apparatus 10, a more complex program using iterative elements can be easily assembled by an intuitive operation without interrupting thinking.

[0064] FIG. 19 is a diagram for explaining an example of an operation method for an element showing an iteration created in a nested manner. In FIG. 15, an example of blocking an iterative element and a control element corresponding to a process to be repeatedly executed into one element was shown. However, as shown in FIG. 19, the object to be blocked together with the iterative element may be a control element (control element 52), or may include a block of a control element and an iterative element (element 56). Further, an arbitrary name can be assigned and displayed to the element 56 formed by blocking the elements 51 to 53, and similarly, an arbitrary name can be assigned and displayed to the element 57 formed by blocking the elements 49 to 55. By changing the name of the blocked element to an appropriate name indicating the processing content, the processing content performed by the element can be recognized at a glance.

[0065] In the present embodiment, the information processing apparatus 10 incorporating a touch panel display is exemplified. However, an information processing apparatus that executes a program to realize the above-described modeling support may be, for example, a desktop computer that is connected to the touch panel display by wire or wirelessly. By using a touch panel display, even a user who is not accustomed to keyboard operations can easily perform programming.

[0066] [Second Embodiment] In the first embodiment, the case where the input device 3 is a touch sensor constituting a touch panel has been described as an example. However, the input device 3 does not necessarily have to be a touch sensor. In this embodiment, an information processing apparatus including a keyboard as an input device will be described.

[0067] FIG. 20 is an external view of an information processing apparatus 60 according to this embodiment. As shown in FIG. 20, the information processing apparatus 60 is, for example, a laptop computer, and a program for visual programming is installed therein.

[0068] The information processing apparatus 60 includes a display device 61 and an input device 62. The information processing apparatus 60 is different from the information processing apparatus 10 in that the display device 61 is not a touch panel display and the input device 62 is a keyboard. That is, in the information processing apparatus 60, visual programming is performed by keyboard operation, which is different from the information processing apparatus 10. However, other configurations are the same as those of the information processing apparatus 10, for example, including one or more processors and one or more storage devices 2.

[0069] FIG. 21 is a diagram for explaining an example of a method for adding an element indicating a branch. FIG. 22 is a diagram for explaining an example of a method for adding an element indicating iteration. Also in the information processing apparatus 60, similar to the information processing apparatus 10, any control element including a branch and iteration can be added to the program with a simple operation. Hereinafter, a method for adding a branch element and an iteration element to the area 12 will be described with reference to FIGS. 21 and 22.

[0070] When adding a branch element, as shown in FIG. 21, the user first selects a control element corresponding to a process to be executed only under specific conditions using the cross keys 80 and the selection key 90. For example, if it is desired to execute the process corresponding to the control element 72 only under specific conditions, the cursor 70 is moved from the control element 71 to the control element 72 using the right key of the cross keys 80, and then the enter key of the selection key 90 is pressed to select the control element 72.

[0071] After that, with the control element 72 selected, use the cross key 80 to add a branching element. For example, press the down key of the cross key 80. As a result, as shown in FIG. 21, a new line L1 branching from the line L is added, the control element 72 is displayed on the line L1, and at the branch point where the line L branches to the line L1, a branching element 73 is added as a new control element.

[0072] Note that in FIG. 21, an example of adding a branching element with the down key is shown, but the branching element may be added by pressing the up key. That is, a one-way operation in a direction intersecting the line L may be performed.

[0073] On the other hand, when adding a repetition element, as shown in FIG. 22, the user first selects the control element corresponding to the process to be repeatedly executed using the cross key 80 and the selection key 90. For example, if it is desired to repeatedly execute the process corresponding to the control element 72, move the cursor 70 from the control element 71 to the control element 72 with the right key of the cross key 80, and then press the enter key of the selection key 90 to select the control element 72.

[0074] After that, with the control element 72 selected, use the cross key 80 to add a repetition element. For example, press the up and down keys of the cross key 80 in order. As a result, as shown in FIG. 22, repetition elements 74 and 75 are added as new control elements on the line L. The repetition element 74 and the repetition element 75 are added in front of and behind the control element 72, respectively, so as to sandwich the control element 72 indicating the process to be repeated.

[0075] Note that in FIG. 22, an example of pressing the up key and then the down key is shown, but the repetition element may be added by pressing the down key and then the up key. That is, a two-way operation in a direction intersecting the line L may be performed.

[0076] As described above, the information processing apparatus 60 can also add a control structure classified into branching and repetition to the program with an intuitive and simple operation.

[0077] The above-described embodiments are presented with specific examples for ease of understanding of the invention, and the present invention is not limited to these embodiments, but should be understood to include various modifications and alternative forms of the above-described embodiments. For example, it will be understood that each embodiment can be embodied by modifying the components without departing from the spirit and scope thereof. Also, it will be understood that various embodiments can be implemented by appropriately combining a plurality of components disclosed in the above-described embodiments. Furthermore, those skilled in the art will understand that various embodiments can be implemented by deleting some components from all the components shown in the embodiments or adding some components to the components shown in the embodiments. That is, the modeling support method, the information processing apparatus, and the program can be variously modified and changed without departing from the scope of the claims.

[0078] Hereinafter, the invention described in the claims at the time of the original filing of the present application will be appended. [Appendix 1] A process of causing a display device to display a line on which one or more elements indicating a control structure classified into sequential, branching, or iterative categories can be arranged, A process of detecting an input operation on the line or an element on the line displayed on the display device, When the detected input operation includes an operation in a direction intersecting the line, a process of causing the display device to display a new element indicating a control structure classified into the branching or the iteration on the line, A modeling support method, characterized in that a computer performs the above. [Appendix 2] In the modeling support method according to Appendix 1, The process of causing the display device to display the new element includes, when the detected input operation is a one-way operation in a direction intersecting the line or the element on the line with respect to the line, a process of causing the display device to display the new element indicating a control structure classified into the branching on the line. A modeling support method, characterized by the above. [Appendix 3] In the modeling support method according to Appendix 1 or Appendix 2, The process of causing the display device to display the new element includes, when the detected input operation is a bidirectional operation in a direction intersecting the line or the line with respect to the element on the line, the process of causing the display device to display the new element indicating the control structure classified as the iteration on the line. A modeling support method characterized by the above. [Appendix 4] In the modeling support method according to any one of Appendices 1 to 3, The computer detects the input operation based on the output from a touch sensor that detects the input operation to the display device. A modeling support method characterized by the above. [Appendix 5] In the modeling support method according to Appendix 4, The process of causing the display device to display the new element includes, when the locus of the detected input operation draws an arc crossing the line, the process of causing the display device to display the new element indicating the control structure classified as the iteration on the line. A modeling support method characterized by the above. [Appendix 6] One or more non-transitory computer-readable media including instructions, One or more processors that execute the instructions, and The instructions are configured to cause the one or more processors to execute operations, The operations include Causing a display device to display a line on which one or more elements indicating control structures respectively classified as sequential, branch, or iteration can be arranged, Detecting an input operation on the line or an element on the line displayed on the display device, and When the detected input operation is an input operation in a direction intersecting the line, causing the display device to display a new element indicating the control structure classified as the branch or the iteration on the line. An information processing apparatus characterized by the above. [Appendix 7] On the computer, displaying on a display device one or more lines on which elements can be placed, each of which represents a control structure classified as sequential, branching, or iterative; Detecting an input operation on the line or an element on the line displayed on the display device; When the detected input operation is an input operation in a direction intersecting the line, a new element indicating a control structure classified as the branch or the repetition is displayed on the line on the display device. A program characterized by executing a process. [Explanation of symbols]

[0079] 1 Processor, 2 Memory, 2a Program, 3, 62 Input device, 4, 61 Display device, 10, 60 Information processing device, 21, 22, 24-31, 34-36, 40, 45, 46, 52, 54, 71, 72 Control element, 32, 37-39, 73 Branch element, 41, 42, 47-49, 51, 53, 55, 74, 75 Repeat element, 44, 50, 56, 57 Element, L, L1-L3 Line

Claims

1. displaying on a display device one or more lines on which elements can be placed, each of which indicates a control structure classified as sequential, branching, or iterative; A process of detecting an input operation on the line or an element on the line displayed on the display device; a process of displaying, on the display device, a new element indicating a control structure classified as the branch or the iteration on the line when the detected input operation includes an operation in a direction intersecting the line; A modeling support method characterized in that the above steps are carried out by a computer.

2. 2. The modeling support method according to claim 1, the process of displaying the new element on the display device includes a process of displaying, on the display device, the new element indicating a control structure classified as the branch on the line when the detected input operation is a one-way operation on the line or the element on the line in a direction intersecting the line. A modeling support method comprising:

3. 3. The modeling support method according to claim 1, further comprising: The process of displaying the new element on the display device includes a process of displaying the new element on the line, which indicates a control structure classified into the repetition, on the line when the detected input operation is a bidirectional operation on the line or the element on the line in a direction intersecting the line. A modeling support method comprising:

4. 4. The modeling support method according to claim 1, further comprising: The computer detects the input operation based on an output from a touch sensor that detects the input operation to the display device. A modeling support method comprising:

5. 5. The modeling support method according to claim 4, The process of displaying the new element on the display device includes a process of displaying the new element indicating a control structure classified into the repetition on the line when the detected locus of the input operation draws an arc across the line on the display device. A modeling support method comprising:

6. one or more non-transitory computer readable media containing instructions; one or more processors for executing said instructions; the instructions are configured to cause the one or more processors to perform an operation; The operation includes: displaying on a display device one or more lines on which elements can be placed, each of which indicates a control structure classified as sequential, branching, or iterative; Detecting an input operation on the line or an element on the line displayed on the display device; When the detected input operation is an input operation in a direction intersecting the line, a new element indicating a control structure classified as the branch or the repetition on the line is displayed on the display device.

23. An information processing apparatus comprising:

7. On the computer, displaying on a display device lines on which one or more elements can be placed, each of which indicates a control structure classified as sequential, branching, or iterative; Detecting an input operation on the line or an element on the line displayed on the display device; When the detected input operation is an input operation in a direction intersecting the line, a new element indicating a control structure classified as the branch or the repetition is displayed on the line on the display device. A program characterized by executing a process.

Citation Information

Patent Citations

  • Device to support programming and storage medium

    JP1999039145A

  • Test support system and image processing controller

    JP2009123070A

  • Method and program for creating flow chart

    JP2016115017A

  • Object operation system, object operation control program and object operation control method

    JP2016115231A

  • Ultrasonograph, work flow edition system, and ultrasonograph control method

    WO2003043501A1