WO2005020071A1 - プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール - Google Patents

プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール Download PDF

Info

Publication number
WO2005020071A1
WO2005020071A1 PCT/JP2004/011779 JP2004011779W WO2005020071A1 WO 2005020071 A1 WO2005020071 A1 WO 2005020071A1 JP 2004011779 W JP2004011779 W JP 2004011779W WO 2005020071 A1 WO2005020071 A1 WO 2005020071A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
unit
parameters
input
screen information
Prior art date
Application number
PCT/JP2004/011779
Other languages
English (en)
French (fr)
Inventor
Norikazu Takashima
Ayumu Oikawa
Original Assignee
Japan Tobacco Inc.
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 Japan Tobacco Inc. filed Critical Japan Tobacco Inc.
Priority to JP2005513283A priority Critical patent/JP4220520B2/ja
Priority to EP04771740A priority patent/EP1657637A4/en
Priority to US10/568,504 priority patent/US7784023B2/en
Publication of WO2005020071A1 publication Critical patent/WO2005020071A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Definitions

  • Program generation system Program generation program and program generation module
  • the present invention relates to a technique for generating a program, and particularly to a technique for generating a program without a user directly inputting a source code.
  • Computers are now becoming indispensable in daily life.
  • the computer is mounted on various devices such as, for example, a terminal device, a mobile phone, and a home appliance, and appropriately controls hardware included in the devices to realize predetermined functions.
  • terminal devices are used for business management in corporations, for analysis of experimental results at research institutions, and at the individual level for sending and receiving e-mails and browsing web pages.
  • it is necessary to execute the program on the computer.
  • Patent Document 1 JP 2003-208307 A
  • An object of the present invention is a technique for shortening a program development period, which is necessary for program development. It is an object of the present invention to provide a technology for reducing labor and a technology for easily creating a program.
  • One embodiment of the present invention is a system for generating a program.
  • This system provides a screen information storage unit that stores screen information that forms an input screen for parameters for creating a first program that implements predetermined processing, and provides screen information to a setting device that is connected via a network.
  • a receiving unit that receives parameters input on an input screen displayed based on screen information from a setting device via a network, and outputs a source code of the first program based on the parameters.
  • a generation unit that dynamically generates a source code; a compilation unit that compiles a source code to generate a first program that can be executed on a predetermined terminal device; An instructing unit for instructing the compiling unit to compile the code.
  • the source code can be generated based on the parameters received via the network.
  • the first program can be automatically created by compiling when the source code is completed. That is, if the user inputs parameters using a web browser, a source program can be automatically generated and compiled to create a predetermined program. Also, parameters can be received via a network, so that a plurality of users can use the parameters, and further, remote users can also use the parameters.
  • This system checks that the data size of the first program is smaller than a predetermined size, and when the data size of the first program is smaller than the predetermined size, makes the first program available to the terminal device.
  • An inspection unit may be further provided.
  • the program generation system can provide the terminal device with a program smaller than a predetermined size. it can.
  • the system may further include a notifying unit for notifying the setting device that the number of parameters is reduced when the data size of the first program is larger than the predetermined size. This allows the user to know that the data size of the first program is larger than the predetermined size. After recognizing that the data size is large, the programmer changes the number of parameters so that the program data size becomes smaller than the predetermined size. System.
  • the predetermined size may be set for each terminal device that uses the first program.
  • a program can be generated in accordance with the execution condition of the program for each terminal device.
  • the system further includes a first program storage unit that stores the first program inspected by the inspection unit, and a providing unit that provides the terminal device with the first program stored in the storage unit.
  • a first program storage unit that stores the first program inspected by the inspection unit
  • a providing unit that provides the terminal device with the first program stored in the storage unit.
  • the system further includes a second program storage unit that holds a second program that causes the setting device to form a limiting unit that limits the number of parameters so that the size of the first program is smaller than a predetermined size.
  • the providing unit may provide the setting device with the second program together with the screen information. Thus, the number of parameters can be adjusted on the setting device side, so that an efficient program can be generated.
  • Another embodiment of the present invention is a system for generating a program.
  • This system obtains, via a network, screen information that forms an input screen for parameters for generating a program that implements a predetermined process, and displays the input screen on a display unit based on the screen information.
  • a display processing unit that receives an input of a parameter corresponding to an input screen, and a management unit that manages the parameter, and a transmission that outputs the parameter managed by the management unit to a generation device that generates a program via a network. Unit. This allows the generator to be used by multiple devices connected to the network.
  • the system further includes a restriction unit that restricts the number of parameters so that the size of the program is smaller than a predetermined size, and the transmission unit outputs the parameters within the restriction by the restriction unit to the generation device. Is also good. Thus, the number of parameters can be adjusted before transmitting the parameters to the generation device, so that an efficient program can be generated.
  • the system may further include a notifying unit that issues a notification that prompts to reduce the number of parameters when it is necessary to limit the number of parameters.
  • the program includes a component as an input interface, and the management unit manages a plurality of parameters for forming the component as a gnole and controls the parameter.
  • the limiter may limit the number of parameters on a group basis.
  • the restriction unit predicts the data size of the program generated by the generation device according to the parameters managed by the management unit, and determines whether or not it is necessary to reduce the number of parameters. Is also good.
  • the limiting unit may determine that it is necessary to reduce the number of parameters.
  • the limiting unit compares the number of parameters managed by the management unit with a preset number.
  • the limiting unit may determine that it is necessary to reduce the number of parameters.
  • any combination of the above-described components and any conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, a module, and the like are also effective as embodiments of the present invention. is there.
  • the present invention also includes the following aspects.
  • a providing unit that provides the screen information to a setting device connected via a network; and a reception unit that receives a parameter input to an input screen displayed based on the screen information from the setting device via the network.
  • a generation unit that dynamically generates a source code of the first program based on the parameter
  • a compiling unit that compiles the source code to generate the first program executable on a predetermined terminal device
  • An instruction unit that detects that the source code has been generated, and instructs the compiling unit to compile the source code
  • a screen information storage unit for holding screen information forming an input screen for parameters for creating a first program for realizing a predetermined process
  • a providing unit that provides the screen information to a setting device connected via a network
  • a receiving unit that receives a parameter input on the input screen displayed based on the screen information from the setting device via the network;
  • a generation unit that dynamically generates a source code of the first program based on the parameter
  • a compiling unit that compiles the source code to generate the first program executable on a predetermined terminal device
  • An instruction unit that detects that the source code has been generated, and instructs the compiling unit to compile the source code
  • a program generation module for causing a computer to realize the above.
  • an acquisition unit that acquires, via a network, screen information that forms an input screen for parameters for generating a program for realizing a predetermined process
  • a display processing unit that displays the input screen on a display unit based on the screen information; a management unit that receives an input of a parameter corresponding to the input screen and manages the parameter;
  • a transmitting unit that outputs the parameters managed by the management unit to a generation device that generates the program via the network;
  • an acquisition unit that acquires, via a network, screen information that forms an input screen for parameters for generating a program that implements a predetermined process
  • a display processing unit that displays the input screen on a display unit based on the screen information; a management unit that receives an input of a parameter corresponding to the input screen and manages the parameter;
  • a transmitting unit that outputs the parameters managed by the management unit to a generation device that generates the program via the network;
  • a program generation module for causing a computer to realize the above.
  • a predetermined program can be generated without a user directly inputting the source code.
  • FIG. 1 is a configuration diagram of an adjustment system according to the present embodiment.
  • FIG. 2 is a diagram showing an example of transition of a work screen displayed on a display unit in FIG. 1.
  • FIG. 3 is an internal configuration diagram of the program generation device of FIG. 1.
  • FIG. 4 is an internal configuration diagram of the setting device of FIG. 1.
  • FIG. 5 is a diagram showing an example of an input screen displayed on the display unit in FIG.
  • FIG. 6 is a diagram illustrating an example of a data structure of a parameter file output from a parameter management unit in FIG. 4 to a restriction unit.
  • FIG. 7 is an internal configuration diagram of the program providing device of FIG. 1.
  • FIG. 8 is an internal configuration diagram of the analyzer of FIG. 1.
  • FIG. 9 is an example of a flowchart of a research program generation process by the program generation device of FIG. 3 and the setting device of FIG. 4.
  • FIG. 1 is a configuration diagram of an adjustment system 10 according to the present embodiment.
  • the first terminal device 50a, the second terminal device 50b, the third terminal device 50c, and the fourth terminal device 50d are, for example, mobile phones and PDAs (Personal Digital Assistants). It is a portable terminal.
  • the terminal device 50 has an upper limit on the data size of the program as a condition for executing the program, and may have a smaller memory size than a general terminal.
  • the terminal device 50 includes, for example, a GPS (Global Positioning System) unit that receives a GPS signal from the GPS satellite 16 and acquires position information, a CCD camera, a microphone, and the like.
  • Each terminal device 50 has a function of connecting to the network 12 via the base station 14 and communicating with the program providing device 200 and the analyzing device 300.
  • the program generation device 100 displays the contents of the investigation on the display unit 52 of the terminal device 50, generates a program for receiving the result of the evaluation, and stores the generated program in the program providing device 200.
  • the first setting device 500a and the second setting device 500b (hereinafter, simply referred to as “setting device 500”) are connected to the program generation device 100 via the network 12.
  • Setting device 500 The program generation device 100 receives various information necessary for generating a program from a user, and outputs each parameter to the program generation device 100.
  • the program generation device 100 generates a program based on the parameters, and outputs the generated program to the program providing device 200.
  • the program generation device 100 provides the setting device 500 with information for forming an input screen for inputting parameters required for generating a program (hereinafter, simply referred to as “input screen information”). I do.
  • the setting device 500 forms an input screen based on the input screen information, and receives each parameter from the user via the screen.
  • the program providing device 200 provides the program to the terminal device 50 via the network 12. That is, the program generation device 100 is provided so as to provide a program creation function as an ASP (Application Service Provider) and to be usable from the setting device 500 connected to the network 12.
  • ASP Application Service Provider
  • the investigator conducts an investigation based on the adjustment content displayed on the display unit 52 by executing the program. For example, an investigator carries the terminal device 50 to a designated investigation point and conducts an investigation on the spot.
  • the terminal device 50 acquires the position information of the moving point (hereinafter, simply referred to as “survey position information”) using the GPS unit.
  • the acquisition instruction may be performed based on the instruction of the researcher, may be automatically performed by a program in the terminal device 50, or may be performed based on other external signals. Good.
  • the investigator uses the CCD camera of the terminal device 50 to take an image of the specified target, and inputs items according to the adjustment contents to the terminal device 50 using the operation unit 54 such as a key button. Or
  • the information obtained by the terminal device 50 other than the survey position information, the image, and other information directly input to the surveyor may not only be used as the survey result, but also enhance the reliability of the survey result. It is used as information for judgment. In other words, data obtained from the GPS, CCD camera, microphone, etc. of the terminal device 50 cannot generally be arbitrarily rewritten by an investigator, and thus is used as information for guaranteeing the reliability of the survey results. Available.
  • the terminal device 50 transmits, to the analysis device 300, the items input to the researcher, the images obtained by the devices, the research position information, and the like as the research results.
  • the analyzer 300 collects the survey results, determines the reliability of each survey result, and performs a predetermined analysis. Do. As described above, the analysis device 300 collects the survey results associated with the survey location information from the plurality of terminal devices 50.
  • FIG. 2 is a diagram showing an example of transition of the work screen 400 displayed on the display unit 52 of FIG.
  • the first work screen 400a is first displayed on the display section 52 of FIG. 1, and the second work screen 400b, the third work screen 400c, the fourth work screen 400d, the fifth work screen 400e, And the sixth work screen 400f.
  • the first work screen 400a has a title area 402, an input start button 404, and a data transmission button 406.
  • the title area 402 is an area for displaying, for example, a signature name and the like, and is displayed at the top of the work screen 400.
  • Work screen 400 includes an adjustment item instruction area 440 for displaying information indicating the content of the adjustment, and a search result input area 442 for the researcher to input a search result for the search content.
  • the survey item designating area 440 includes, for example, a survey content character string 434 representing the survey content, a product appearance related to the survey content, for example, An image 420 is included to explain the terminology included in the survey.
  • the survey result input area 442 includes components such as text boxes, radio buttons, and check boxes, which will be described later. In order to make answers efficiently and accurately, for example, it is possible to select answers from options. Is done.
  • Input start button 404 is a button for receiving an instruction to start a survey. By selecting the input start button 404, the survey item is displayed on the display section 52. Here, the survey content is composed of a plurality of survey items.
  • the data transmission button 406 is a button for transmitting the answer to the analyzer 300 of FIG. 1 as a survey result after completing the answer to each survey item. By pressing or selecting the data transmission button 406, the investigation result is transmitted to the analyzer 300.
  • the second work screen 400b is displayed when the input start button 404 is pressed.
  • a page is provided for each adjustment item, and components for answer input suitable for the adjustment item are arranged.
  • the page number area 408 is an area for displaying the page number.
  • the answer content character string 410 is an area for displaying a character string indicating the answer content to be input to a text input area 412 described later.
  • Text input area 412 is used to enter an answer This is a text box for entering an arbitrary character string.
  • a radio button group 422 on the fourth work screen 400d is a component for selecting one answer from options prepared in advance.
  • a check box power S for selecting an arbitrary number of answers of options prepared in advance and a survey result input area 442 may be provided.
  • next screen display button 414a is a button for proceeding to the next adjustment item. Pressing this button switches the work screen 400.
  • a third work screen 400c is displayed.
  • the terminal device 50 has acquired the position information using the GPS unit.
  • the fourth work screen 400d is displayed.
  • the fifth work screen 400e is displayed. While sequentially switching the work screen 400 in this way, the staff member inputs answers to a series of survey items.
  • the shooting start button 430 on the fifth work screen 400e is a button for performing shooting using the CCD camera of the terminal device 50 in FIG. By pressing the shooting start button 430, the CCD camera is activated and shooting is possible.
  • the program provided by the program providing device 200 shown in FIG. 1 is designed so that data obtained by using hardware such as the GPS unit and the CCD camera of the terminal device 50 can be used as a survey result. Coded.
  • the sixth work screen 400f that becomes the last work screen 400 has a save button 432.
  • the save button 432 is a button for saving the answer entered on each work screen 400.
  • the result is stored in the storage area of the terminal device 50 as a survey result.
  • the terminal device 50 transmits the stored research result to the analysis device 300 in FIG.
  • the survey can be performed in a place where radio waves do not reach, and the survey result can be transmitted in a place where radio waves reach.
  • these control items and the input interface for answers are programmed. By realizing it with a ram, it is possible to provide an input interface suitable for the survey item, so that human errors such as input mistakes can be prevented and a quick survey can be performed.
  • the number of accesses to the server is significantly reduced as compared with the case where the survey items are provided on a web page, so that the load on the server can be reduced.
  • a program for displaying such a work screen 400 is, for example, a program created in a programming language such as JAVA (registered trademark). If this program was created by the programmer every time the program was run, it may not be possible to make a quick run, such as not being able to run the necessary run at the required time due to development time issues. In addition, due to a human error, an incorrect adjustment item or option may be included. Also, due to the problem of program development costs, it is possible that the cost will be lost.
  • JAVA registered trademark
  • the present inventor assumed various investigations and examined the input interface. As a result, by unifying the input interface for each adjustment item and creating a template, the combination processing of the template and the template were performed. I realized that it is possible to automatically generate source code by replacing a character string in a shape with another character string.
  • the program generation device 100 in FIG. 1 generates a source code according to this method, and automatically generates a program by compiling the source code.
  • FIG. 3 is an internal configuration diagram of the program generation device 100 of FIG.
  • the components of the program generation device 100 include a CPU, a memory of an arbitrary computer, a program loaded into the memory to realize the components of the drawing, a storage unit such as a hard disk for storing the program, and a network connection interface. It is realized by an arbitrary combination of hardware and software, and it is understood by those skilled in the art that there are various modified examples of the method and the device. Each figure described below shows a functional unit block which is not a hardware unit configuration.
  • the screen information providing unit 602 provides input screen information to the setting device 500.
  • the screen information storage unit 610 holds various screen information such as a template of input screen information.
  • the inspection program storage unit 612 holds an inspection program for realizing a function described later in the terminal device 50 of FIG.
  • the screen information generation unit 600 generates input screen information based on the data held in the screen information storage unit 610 and the inspection program storage unit 612, and supplies the input screen information to the screen information providing unit 602. Then, screen information providing section 602 transmits the input screen information to setting device 500.
  • screen information generation section 600 uses HTML (Hyper Text Markup).
  • the detection program is created by an arbitrary program method such as JAVA (registered trademark) or ActiveX, and is a program that can be executed on the setting device 500 side. Although the details will be described later, the detection program uses the size of the program executable by the terminal device 50 in FIG. 1 (hereinafter, simply referred to as “maximum program size”) in executing the processing. Therefore, the screen information generation unit 600 reads the maximum program size from the program condition storage unit 132 and adds it to the input screen information. That is, the screen information providing unit 602 transmits the input screen information including the inspection program, the maximum program size, and the screen information for forming the input screen to the setting device 500.
  • maximum program size the program executable by the terminal device 50 in FIG. 1
  • the screen information providing unit 602 requests the authentication unit 604 to authenticate the setting device 500.
  • the user information storage unit 606 holds various information related to the user, such as a user ID and a password.
  • the authentication unit 604 receives, for example, authentication information used for authentication, such as a user ID and a password of a user operating the setting device 500, and refers to the user information storage unit 606 based on the authentication information. Perform authentication.
  • the authentication unit 604 When the authentication is successful, the authentication unit 604 notifies the screen information providing unit 602 of the success.
  • the screen information providing unit 602 requests the screen information generating unit 600 to generate input screen information. Then, the screen information providing unit 602 transmits the generated input screen information to the setting device 500.
  • Receiving section 110 receives a parameter for generating an adjustment program from setting device 500. And outputs it to the generation unit 112.
  • the parameters are supplied as a file in the XML (extensible Markup Language) format (hereinafter, simply referred to as “parameter file”).
  • the generation unit 112 generates a source code of the investigation program based on the parameter file.
  • the model storage unit 128 holds a plurality of types of models for generating a source code.
  • the generation unit 112 combines the templates, inserts the parameters included in the parameter file at predetermined positions of each template, or replaces a predetermined character string in the template with the parameters to obtain the source code.
  • the model storage unit 128 holds a model and information specifying a function realized by the model, an input interface, and the like in association with each other.
  • the template storage unit 128 holds, as a template, program codes for realizing those components in the terminal device 50 in association with type information that specifies the type of component for inputting an answer. I do.
  • API Application Specification
  • a function for realizing a predetermined process is prepared in advance as a program interface.
  • Source code is created by combining those APIs according to the grammar of each programming language.
  • the template may be, for example, a program code obtained by combining a plurality of functions, or may be a program code composed of one function.
  • the model storage unit 128 may hold the component type and the model in association with each other.
  • the algorithm for generating the source code based on the parameter file is considered various.
  • the model stored in the model storage unit 128 is appropriately prepared according to the algorithm.
  • the template for generating the test content display screen 400 having a text box as the survey result input area 442 in Fig. 2 displays a character string display function for displaying a character string and a text box. Includes a text box function and for.
  • a predetermined variable name is assigned to the argument so that each information such as a character string, a number, and an image included in the parameter file can be set to the argument of the function.
  • the generation unit 112 may generate a source code by substituting a parameter corresponding to the variable, or may generate a source code by replacing the variable with a parameter. Good.
  • the templates for generating the survey content display screen 400 having a radio box and a check box as the survey result input area 442 in Fig. 2 each include a character display function and a radio box function for displaying a radio box.
  • at least one of a checkbox function for displaying a checkbox is included.
  • the program code included in such a template may be appropriately described according to an algorithm for generating a source code based on a parameter file.
  • the generation unit 112 may specify a function or a model for forming the component based on the type information included in the parameter file, and set the parameter in the argument.
  • the generation unit 112 reads the corresponding image content from the content storage unit 126 and outputs it to the compiling unit 114 together with the source code at a predetermined timing.
  • the timing may be when a compiling unit 114 described later performs a compiling process.
  • the generation unit 112 When the generation unit 112 finishes generating the source code, the generation unit 112 outputs a notification to that effect to the instruction unit 120 as a source code completion notification. For example, the generation unit 112 sequentially performs a process of converting into a source code in units of the page configuration information column 160 of the parameter file. Then, when the conversion is completed for all the page configuration information columns 160, the source code is completed. At this time, that is, when the conversion is completed for all the page configuration information fields 160, the generation unit 112 may output a message to that effect to the instruction unit 120.
  • the generation unit 112 performs a process of sequentially converting the source code based on each parameter from the parameter start tag 151a to the parameter end tag 151b of the parameter file, and performs conversion when the parameter end tag 15 lb is reached. The processing may be terminated, and a source code completion notification may be output to the instruction unit 120.
  • the instruction unit 120 instructs the compilation unit 114 to compile the source code, triggered by the notification.
  • the basic function thread internal 130 holds various files necessary for compilation.
  • the compiling unit 114 converts a source code into an object code by using a file stored in the basic function storage unit 130, and generates a tuning program.
  • the checking unit 116 checks that the checking program generated by the compiling unit 114 can be executed in the terminal device 50 of FIG.
  • the terminal device 50 in FIG. 1 has a smaller memory capacity and lower CPU performance than, for example, a desktop computer or the like, so the maximum program size of an executable program is determined.
  • the detecting unit 116 determines that the executable program is executable, and outputs the tuning program to the storage processing unit 118. Then, the storage processing unit 118 outputs the adjustment program to the program providing device 200, and makes the distribution program available.
  • the billing unit 608 uses the program generation device 100 and manages the usage fee in association with the user who has created the deliverable program.
  • the detection unit 116 outputs to the notification unit 106 information indicating that the program cannot be executed in the terminal device 50 because the program size is large. .
  • the notifying unit 106 notifies the screen information generating unit 600 that the program size exceeds the maximum program size and cannot be executed on the terminal device 50 based on the information, and also prompts the screen information generating unit 600 to reduce the number of investigation items. Output. Accordingly, screen information generating section 600 generates screen information for transmitting the message to setting device 500, and outputs the screen information to screen information providing section 602. Screen information providing unit 602 transmits the screen information to setting device 500. As a result, the setting device 500 displays a message notifying that the program size exceeds the maximum program size and that the number of survey items needs to be reduced in order to complete the program.
  • the program condition storage unit 132 holds the maximum program size of the terminal device 50 in association with the information (hereinafter, simply referred to as “terminal information”) specifying the terminal device 50 in FIG.
  • the detection unit 116 refers to the program condition storage unit 132, specifies the maximum program size, and performs the above-described detection.
  • the terminal information may be included in a parameter file.
  • FIG. 4 is an internal configuration diagram of the setting device 500 of FIG.
  • the screen information acquisition unit 502 displays an input screen for inputting various information necessary for forming the above-described adjustment program (hereinafter simply referred to as an “adjustment program”) from the program generation device 100.
  • the input screen information to be formed in the section 102 is acquired.
  • the screen information acquisition unit 502 stores the maximum program size included in the input screen information in the execution condition storage unit 504, and activates the inspection program. By starting the detection program, a restriction unit 122 and a notification unit 508 described below are formed.
  • the screen information generation unit 124 generates screen information based on input screen information or a notification from a notification unit 508 described later, and outputs the screen information to the display processing unit 104.
  • the display processing unit 104 causes the display unit 102 to display an input screen based on the screen information.
  • the operation unit 108 is, for example, an input device such as a keyboard and a mouse.
  • the operation unit 108 receives an operation from a user and outputs various information on the input screen to the parameter management unit 109.
  • the parameter management unit 109 manages the input information as a parameter in association with a parameter name or the like.
  • the screen information generation unit 124 reads the parameters managed by the parameter management unit 109, and reflects the newly input parameters on the input screen. Further, the parameter management unit 109 outputs the parameter being managed at a predetermined timing to the program generation device 100 as a parameter file.
  • Restriction unit 122 restricts the number of adjustment items included in the survey program based on the parameters included in the parameter file. That is, the detection unit 116 of FIG. 3 determines whether or not the terminal device 50 can use the program based on the program size of the finally generated control program. Before the generation device 100 generates the source code, it is predicted whether the source code can be used in the terminal device 50. Then, when the predicted program size exceeds the maximum program size, limiting section 122 instructs notifying section 508 to notify that the adjustment items are to be reduced. The notification unit 508 predicts that the program size will exceed the maximum program size according to the instruction, A message prompting the user to reduce the number of survey items is displayed on the display unit 102. As a result, useless generation and compilation of source code can be avoided. Further, since the processing in the restriction unit 122 is performed on the setting device 500 side, the load is not applied to the program generation device 100.
  • the restriction unit 122 reads the maximum program size corresponding to the terminal device 50 in FIG. 1 from the execution condition storage unit 504. Then, the limiting unit 122 predicts the program size of the control program based on, for example, parameters included in the parameter file. For this purpose, the restriction unit 122 holds a table in which each parameter name, that is, the type of parameter, is associated with the program size. Then, limiting section 122 may specify the program size with reference to the table for each parameter included in the parameter file, and may estimate the size of the adjustment program by, for example, adding.
  • limiting section 122 determines whether it is necessary to reduce the number of surveyed items based on the parameter file. Then, when there is no need to reduce the number of survey items, limiting section 122 outputs a parameter file to transmitting section 506. Then, transmitting section 506 outputs the parameter file to program generation device 100.
  • FIG. 5 is a diagram showing an example of the input screen 450 displayed on the display unit 102 in FIG.
  • the various information input area 460 is an area for inputting various information necessary for the survey program to realize the above-described functions.
  • “Survey ID” is information for identifying a survey program. For example, when a survey result is transmitted to the analyzer 300 in FIG. 1, it is transmitted in association with the survey result.
  • “Survey name” is a name for each survey and is displayed in the title area 402 of FIG.
  • the “data transmission URL” is an area for inputting information for specifying the analysis device 300 shown in FIG. 1 as the transmission destination of the survey result on the network 12. For example, the URL (Uniform Resource Locator) of the analysis device 300 is used. Is set.
  • the component addition operation button group 462 is used when adding an adjustment item.
  • the type selection component 470 is a component for specifying the type of component to be used for inputting the answer of the adjustment item to be added.
  • Type selection component 4 As a component type that can be selected in 70, for example, one out of multiple options Radio button (shown as "SA” in the figure) that allows you to select any answer, check box (shown as "MA” in the figure) that allows you to select any number of answers from multiple choices, and text input There is a text box (noted as "Text” in the figure) for performing By selecting an arbitrary type as the type selection component 470 and pressing the component addition button 472, a component setting area 464 corresponding to the selected type is added.
  • Each component setting area 464 can be used to input information necessary for forming the adjustment item designation area 440 in Fig. 2 and information necessary for forming the survey result input area 442 in Fig. 2. In addition, it is composed of components such as text boxes and check boxes.
  • the first component setting area 464a is added when “text box” is selected as the component type.
  • the type display area 476 the type of the component is displayed.
  • a question sentence input area 480 and an image selection component 486 are provided to form the adjustment item indicating area 440 of FIG.
  • an answer input area 482 a maximum character number specification area 488, and an input character type specification box 490 are provided.
  • the question sentence input area 480 is an area for inputting, for example, a document for instructing the investigator to investigate.
  • the character string entered here is displayed as the survey content character string 434 in FIG.
  • the image selection component 486 is a component for selecting an image content to be displayed as the image 420 in FIG. 2, and is formed, for example, so that any image content in the list can be selected.
  • the content storage unit 126 in FIG. 3 stores image content, and when an image selection component 486 is selected, the screen information acquisition unit 502 sends a list of image content stored in the content storage unit 126 from the program generation device 100. To get. Then, the screen information generation unit 124 may form the image selection component 486 using the list.
  • the answer input area 482 is an area for inputting a character string displayed around the text box. This string is placed above, below, on the left, or on the right side of the text box for entering the answer.
  • the maximum number of characters specification area 488 is This is an area for setting the upper limit of the number of characters that can be input to a letter.
  • the input character type specification box 490 is a check box for specifying a character type that can be input to the text box. In this embodiment, by checking, only numbers can be input, and by removing the check, any character type such as hiragana, katakana, kanji, alphabets, and numbers can be input. Note that the answer input area 482, the maximum character number specification area 488, and the input character type specification box 490 are associated with each other.
  • a response addition button 478 adds a response input area 482. That is, when providing a plurality of text boxes as the survey result input area 442 in FIG. 2, the answer addition button 478 is pressed a desired number of times. As a result, in the first component setting area 464a, the number of answer input areas 482 for which the answer addition button 478 is pressed is newly added. In each of the added answer input areas 482, a character string can be set individually. Of course, the maximum character number specification area 488 and the input character type specification box 490 associated with each response input area 482 can be set individually.
  • the answer addition button 478 in the second component setting area 464b and the third component setting area 464c which will be described later, add a radio button and a check box answer input area 482, respectively.
  • the answer deletion component 494 is a component for deleting the answer input area 482. By pressing the answer deletion component 494, the corresponding answer input area 482 is deleted.
  • Radio button 474 is a component for specifying whether or not to associate position information with the survey result, that is, whether or not to use the GPS unit of terminal device 50 in FIG.
  • the location information is associated with the survey result.
  • the radio button in one of the component setting areas 464 If the check box 474 is checked, the location information is acquired at any timing after executing the survey program.
  • the survey item deletion component 496 is a component for deleting a survey item. By pressing the adjustment item deletion component 496, the component setting area 464 of the corresponding adjustment item is deleted.
  • the second component setting area 464b is added when "radio button" is selected as the component type.
  • the character string input in the answer input area 482 of the second component setting area 464b is displayed in association with each radio button. That is, each option is entered in each answer input area 482.
  • the link specification area 492 is a component for specifying whether to display other input items designated as a link destination instead of displaying input items in order when the answer is selected. .
  • the link designation area 492 is formed so that an arbitrary adjustment item can be selected from a list of adjustment items. Then, when the radio button is selected, a screen of the survey item specified as the link destination is displayed.
  • the third component setting area 464c is added when "check box" is selected as the component type.
  • the character string entered in the answer input area 482 of the third component setting area 464c is displayed in association with each check box. That is, each option is entered in each answer input area 482.
  • Such display processing is realized by the screen information generation unit 124 rewriting information for forming the input screen 450 as needed based on parameters updated in response to a user operation on the operation unit 108 in FIG. I do.
  • Generate button 452 is a button for instructing to generate a source code using various information input to input screen 450.
  • a cancel button 454 is a button for canceling the input to the input screen 450.
  • the parameter management unit 109 in FIG. 4 outputs the parameter being managed to the restriction unit 122.
  • the parameter management unit 109 restricts each parameter as an XML (extensible Markup Language) format file (hereinafter, simply referred to as “parameter file”).
  • Parameter file Extensible Markup Language
  • FIG. 6 is a diagram showing an example of a data structure of a parameter file output from parameter management section 109 of FIG. 4 to restriction section 122.
  • All parameters for generating one survey program are held between a parameter start tag 151a indicating the start of the parameter and a parameter end tag: L51b indicating the end of the parameter.
  • Each parameter is held by being surrounded by tags indicating the name of the parameter.
  • the registration ID column 152, the name column 154, and the URL column 156 respectively store the “partition ID”, the “partition name”, and the “data transmission URL” input in the various information input areas 460 in FIG.
  • Various information input to the component setting area 464 in FIG. 5 is held in the page configuration information column 160 by being surrounded by tags.
  • information for forming one page that is, one work screen 400 in FIG. 2 is included in one page configuration information column 160.
  • the page number column 162 holds page identification information for identifying a page, for example, the display order. That is, the generation unit 112 in FIG. 3 described later determines the order in which to display each page based on the page identification information, and generates a source code so as to display each page in that order.
  • this page identification information is assigned to each component setting area 464 in, for example, an ascending order by the parameter management unit 109 in FIG.
  • the component column 174 holds various information for forming the survey result input area 442 in FIG.
  • the data name column 164 holds a data name that specifies the answer input or selected by the component.
  • the terminal device 50 in FIG. 1 transmits a response in association with the data name.
  • the data name need not be set.
  • the type field 166 indicates the type of component such as a text (described as "Text” in the figure), a radio box (described as “SA” in the figure), and a check box (described as "MA” in the figure). Holds type information to be specified. Similarly, information for identifying components for controlling the hardware of the terminal device 50, such as a GPS component for acquiring position information and a photographing component for photographing an image using a CCD camera, is also stored in the type column 166 as type information. Is done. [0087]
  • the character string field 168 holds the character string input to the answer input area 482 in FIG.
  • the character type column 170 holds information for specifying the type of characters that can be input.
  • the component column 174 When text is held in the type column 166, the component column 174 includes a character type column 170 and a character number column 172 to form a text box.
  • a character string field for the number of branches of an option is required to form a radio box or a check box. 168 are included.
  • the question text box 180 holds the character string input to the question text input area 480 in FIG.
  • the image file name column 182 holds the file name of the image file selected by the image selection component 486 in FIG.
  • the image file name field 182 may hold a path or URL indicating the storage location of the image file.
  • the parameter management unit 109 in FIG. 4 holds the parameters for forming the work screen 400 in FIG. 2 in groups for each survey item, that is, for each page configuration information column 160.
  • the parameter file to be output is output to the restriction unit 122 in FIG.
  • the limiting unit 122 determines the number of the page configuration information fields 160 in Fig. 6 included in the parameter file and the preset upper limit of the number of survey items (hereinafter simply referred to as "maximum number of items"). By comparing with, the number of survey items may be limited. For example, when the number of the page configuration information fields 160 in FIG. 6 included in the nominal file is larger than the maximum number of items, the limiting unit 122 may notify the notifying unit 106 that the adjustment items are to be reduced.
  • FIG. 7 is an internal configuration diagram of the program providing device 200 of FIG.
  • the registration unit 202 receives the adjustment program from the program generation device 100. Then, registration section 202 stores the received tuning program in program storage section 204.
  • the program providing unit 206 provides the adjustment program stored in the program storage unit 204 in response to a request from the terminal device 50.
  • the program providing unit 206 authenticates the researcher based on, for example, identification information uniquely assigned to the terminal device 50. When the authentication is successful, the investigation program may be provided to the terminal device 50.
  • FIG. 8 is an internal configuration diagram of the analyzer 300 of FIG.
  • the collection unit 302 receives the investigation result from the terminal device 50.
  • the collection unit 302 collects the survey result from the terminal device 50 in, for example, a CSV format or a format associated with a parameter name indicating a survey item.
  • the collection unit 302 stores the survey result in the survey result storage unit 304.
  • the analysis unit 306 performs a predetermined analysis such as, for example, statistical tallying, based on the survey results stored in the survey result storage unit 304, and outputs the analysis results.
  • FIG. 9 is an example of a flowchart of an adjustment program generation process by the program generation device 100 of FIG. 3 and the setting device 500 of FIG.
  • the restriction unit 122 in FIG. 4 receives the parameter file from the parameter management unit 109 (S10), and predicts the program size of the tuning program based on the parameters included in the parameter file (S12).
  • the restriction unit 122 in FIG. 4 determines whether the predicted program size is smaller than a preset maximum program size (S14). When the predicted program size is larger than the maximum program size (N in S14), the notification unit 508 in FIG. 4 notifies that the number of survey items is reduced (S28).
  • the transmission unit 506 in FIG. 4 transmits the parameter file to the program generation device 100 (S15).
  • the generation unit 112 in FIG. 3 selects a model from the model storage unit 128 in FIG. 3 based on the parameters included in the parameter file (S16), and converts a predetermined argument in the model into a parameter in the parameter file. Replace with parameters (S18).
  • the generation unit 112 determines whether the source code is completed (S20). If the source code is not completed (N in S20), return to step 16. When the source code is completed (Y in S20), the generation unit 112 outputs the fact to the instruction unit 120 in FIG. Then, the instruction unit 120 instructs the compiling unit 114 of FIG. 3 to compile the source code. Thereby, the compiling section 114 executes the compiling (S22).
  • the compiling section 114 outputs the adjustment program to the detection section 116 in FIG.
  • the detection unit 116 determines whether the program size of the control program is smaller than the maximum program size (S24). Program with the largest program size When the size is larger than the size (N in S24), the notification unit 106 notifies that the number of survey items is to be reduced (S28). When the program size is smaller than the maximum program size (Y in S24), the inspection unit 116 outputs the inspection program to the storage processing unit 118 in FIG. 3, and the storage processing unit 118 executes the inspection program in FIG. To the terminal device 50 of FIG. 1 (S26).
  • the function of the program generation device 100 is described by taking the adjustment program as an example.
  • the program generation device 100 may generate not only the adjustment program but also various programs such as questionnaires and quizzes.

Abstract

  受付部(110)は、プログラムを生成するために必要な種々のパラメータをネットワークを介して設定装置(500)から受け付ける。生成部(112)は、そのパラメータに基づいて、ひな形格納部(128)からプログラムコードのひな形を読み込むとともに、そのプログラムコードの一部をパラメータに置き換えることにより、ソースコードを生成する。指示部(120)は、生成部(112)がソースコードを生成したことを検出し、コンパイル部(114)を起動する。コンパイル部(114)は、生成部(112)が生成したソースコードをコンパイルして調査プログラムを生成する。これにより、高度な知識を必要とせずに、自動的に調査プログラムを生成できる。

Description

明 細 書
プログラム生成システム、プログラム生成プログラムおよびプログラム生成 モシユール 技術分野
[0001] 本発明は、プログラムを生成する技術に関し、とくにユーザが直接的にソースコード を入力することなくプログラムを生成する技術に関する。
背景技術
[0002] コンピュータは、今や日常生活に欠かすことのできなレ、ものになっている。コンビュ ータは、例えば端末装置、携帯電話、家庭電化製品など種々の装置に搭載され、そ れらの装置が有するハードウェアを適切に制御し、所定の機能を実現する。例えば、 端末装置は、企業では業務管理のために利用され、研究機関では実験結果の解析 のために利用され、個人レベルでは電子メールの送受信やウェブページの閲覧のた めに利用される。一般に、コンピュータを利用して所定の機能を実現するためには、 プログラムをコンピュータで実行する必要がある。
[0003] そうしたプログラムを作成するためには、高い専門知識が必要である。例えば C言 語、 C + +言語、 JAVA (登録商標)などのプログラミング言語でソースプログラムを作 成し、それをコンパイラでコンパイルすることで、コンピュータで実行可能なマシン語 のプログラムが作られる。こうしたソースプログラムを、表形式のプログラム仕様書に基 づいて自動的に生成する技術がある(特許文献 1参照)。
特許文献 1:特開 2003 - 208307号公報
[0004] 発明の開示
[0005] コンピュータの普及や、コンピュータの利用分野の多様化にともない、プログラムの 必要数は年々増加している。さらに、そうしたプログラムの開発期間も短縮される傾向 にある。し力 ながら、慢性的なプログラマーの不足、プログラム技術の急速な発達、 プログラムを実行する装置の急速な発達などにより、必要な時にプログラムの供給を 受けることができないことが多々生じる。
[0006] 本発明の目的は、プログラムの開発期間を短くする技術、プログラムの開発に必要 な労力を減らす技術、プログラムを容易に作成する技術を提供することにある。
[0007] 本発明のある態様は、プログラムを生成するシステムである。このシステムは、所定 の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を形成する 画面情報を保持する画面情報格納部と、ネットワークを介して接続された設定装置に 画面情報を提供する提供部と、画面情報に基づいて表示された入力画面に入力さ れたパラメータを、設定装置からネットワークを介して受け付ける受付部と、そのパラメ ータに基づいて、第 1プログラムのソースコードを動的に生成する生成部と、ソースコ ードをコンパイルして、所定の端末装置で実行可能な第 1プログラムを生成するコン パイル部と、ソースコードが生成されたことを検出して、そのソースコードをコンパイル することをコンパイル部に指示する指示部とを備える。
[0008] これにより、ネットワークを介して受け付けたパラメータに基づいて、ソースコードを 生成できる。そして、そのソースコードが完成したことを契機にコンパイルすることによ り自動的に第 1プログラムを作成できる。つまり、ユーザがウェブブラウザを利用して、 パラメータを入力すれば、自動的にソースの生成、およびコンパイルを行い所定のプ ログラムを作成できる。また、ネットワークを介して、パラメータを受け付けることができ るので、複数のユーザが利用することができ、更に遠隔のユーザも同様に利用するこ とができる。
[0009] このシステムは、第 1プログラムのデータサイズが所定のサイズより小さいことを検査 し、第 1プログラムのデータサイズが所定のサイズより小さい場合、その第 1プログラム を端末装置に提供可能にする検査部を更に備えてもよい。これにより、プログラム生 成システムは、所定のサイズより小さいプログラムを端末装置に提供でき、例えば実 行できるプログラムのサイズに制限が設定されている端末装置に対しても、その制限 を満たすプログラムを提供できる。
[0010] このシステムは、第 1プログラムのデータサイズが所定のサイズより大きい場合、パラ メータの数を減らすことを促す通知を設定装置に行う通知部を更に備えてもよい。こ れにより、ユーザが第 1プログラムのデータサイズが所定のサイズより大きいことを把 握できる。そして、データサイズが大きいことを認識したうえで、パラメータの数を変更 することにより、プログラムのデータサイズが所定のサイズより小さくなるようにプロダラ ムを生成できる。
[0011] 所定のサイズは、第 1プログラムを利用する端末装置毎に設定されてよい。これによ り、端末装置ごとのプログラムの実行条件に合わせてプログラムを生成できる。
[0012] このシステムは、検查部により検査された第 1プログラムを格納する第 1プログラム格 納部と、格納部に格納されている第 1プログラムを端末装置に提供する提供部とを更 に備え、検查部は、生成部が生成した第 1プログラムのデータサイズが所定のサイズ より小さい場合、その第 1プログラムを格納部に格納してもよい。これにより、生成した プログラムを端末装置に提供できる状態になる。
[0013] このシステムは、設定装置に、第 1プログラムのサイズが所定のサイズより小さくなる ように、パラメータの数を制限する制限部を形成させる第 2プログラムを保持する第 2 プログラム格納部を更に備え、提供部は、画面情報とともに第 2プログラムを設定装 置に提供してもよい。これにより、設定装置側でパラメータの数を調整できるので、効 率的なプログラムの生成が可能になる。
[0014] 本発明の別の態様は、プログラムを生成するシステムである。このシステムは、所定 の処理を実現するプログラムを生成するためのパラメータの入力画面を形成する画 面情報を、ネットワークを介して取得する取得部と、画面情報に基づいて入力画面を 表示部に表示する表示処理部と、入力画面に応じたパラメータの入力を受け付け、 そのパラメータを管理する管理部と、管理部が管理しているパラメータを、プログラム を生成する生成装置にネットワークを介して出力する送信部とを備える。これにより、 生成装置をネットワークに接続された複数の装置力 利用できる。
[0015] このシステムは、プログラムのサイズが所定のサイズより小さくなるように、パラメータ の数を制限する制限部を更に備え、送信部は、制限部による制限内のパラメータを 生成装置に出力してもよい。これにより、生成装置にパラメータを送信する前に、パラ メータの数を調整できるので、効率的なプログラムの生成ができる。
[0016] このシステムは、パラメータの数を制限する必要がある場合、ノ ラメータの数を減ら すことを促す通知を行う通知部を更に備えてもよい。
[0017] プログラムは、入力インターフェースとしてのコンポーネントを含むものであり、管理 部は、コンポーネントを形成するための複数のパラメータをグノレープとして管理し、制 限部は、グループ単位でパラメータの数を制限してもよレ、。
[0018] 制限部は、管理部が管理しているパラメータに応じて、生成装置により生成される プログラムのデータサイズを予測して、パラメータの数を減らす必要があるか否力を判 定してもよい。
[0019] 予測したプログラムのデータサイズが、所定のサイズより大きい場合、制限部は、パ ラメータの数を減らす必要があると判定してもよい。
[0020] 制限部は、管理部が管理しているパラメータの数と予め設定された数とを比較して
、パラメータの数を減らす必要があるか否力、を判定してもよレ、。
[0021] 管理部が管理しているパラメータの数が、予め設定された数より多い場合、制限部 は、ノ ラメータの数を減らす必要があると判定してもよレ、。
[0022] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、 記録媒体、コンピュータプログラム、モジュールなどの間で変換したものもまた、本発 明の態様として有効である。たとえば、本発明は以下の態様をも含む。
(0 所定の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を 形成する画面情報を保持する画面情報格納部と、
ネットワークを介して接続された設定装置に前記画面情報を提供する提供部と、 前記画面情報に基づいて表示された入力画面に入力されたパラメータを、前記設 定装置から前記ネットワークを介して受け付ける受付部と、
前記パラメータに基づいて、前記第 1プログラムのソースコードを動的に生成する生 成部と、
前記ソースコードをコンパイルして、所定の端末装置で実行可能な前記第 1プログ ラムを生成するコンパイル部と、
前記ソースコードが生成されたことを検出して、そのソースコードをコンパイルするこ とを前記コンパイル部に指示する指示部と、
をコンピュータに実現させるためのプログラム生成プログラム。
(ii) 所定の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を 形成する画面情報を保持する画面情報格納部と、
ネットワークを介して接続された設定装置に前記画面情報を提供する提供部と、 前記画面情報に基づいて表示された入力画面に入力されたパラメータを、前記設 定装置から前記ネットワークを介して受け付ける受付部と、
前記パラメータに基づいて、前記第 1プログラムのソースコードを動的に生成する生 成部と、
前記ソースコードをコンパイルして、所定の端末装置で実行可能な前記第 1プログ ラムを生成するコンパイル部と、
前記ソースコードが生成されたことを検出して、そのソースコードをコンパイルするこ とを前記コンパイル部に指示する指示部と、
をコンピュータに実現させるためのプログラム生成モジュール。
(iii) 所定の処理を実現するプログラムを生成するためのパラメータの入力画面を形 成する画面情報を、ネットワークを介して取得する取得部と、
前記画面情報に基づいて前記入力画面を表示部に表示する表示処理部と、 前記入力画面に応じたパラメータの入力を受け付け、そのパラメータを管理する管 理部と、
前記管理部が管理してレ、るパラメータを、前記プログラムを生成する生成装置に前 記ネットワークを介して出力する送信部と、
をコンピュータに実現させるためのプログラム生成プログラム。
(iv) 所定の処理を実現するプログラムを生成するためのパラメータの入力画面を形 成する画面情報を、ネットワークを介して取得する取得部と、
前記画面情報に基づいて前記入力画面を表示部に表示する表示処理部と、 前記入力画面に応じたパラメータの入力を受け付け、そのパラメータを管理する管 理部と、
前記管理部が管理してレ、るパラメータを、前記プログラムを生成する生成装置に前 記ネットワークを介して出力する送信部と、
をコンピュータに実現させるためのプログラム生成モジュール。
以上、本発明によれば、パラメータに基づいてソースコードを生成し、そのソースコ ードをコンパイルすることにより所定のプログラムを生成することにより、ユーザが直接 ソースコードを入力しなくても所定のプログラムを生成する技術を提供できる。 図面の簡単な説明
[0024] 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実 施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
[0025] [図 1]本実施の形態に係る調查システムの構成図である。
[図 2]図 1の表示部に表示される作業画面の遷移の一例を示す図である。
[図 3]図 1のプログラム生成装置の内部構成図である。
[図 4]図 1の設定装置の内部構成図である。
[図 5]図 4の表示部に表示される入力画面の一例を示す図である。
[図 6]図 4のパラメータ管理部が制限部に出力するパラメータファイルのデータ構造の 一例を示す図である。
[図 7]図 1のプログラム提供装置の内部構成図である。
[図 8]図 1の解析装置の内部構成図である。
[図 9]図 3のプログラム生成装置と図 4の設定装置とによる調査プログラム生成処理の フローチャートの一例である。
発明を実施するための最良の形態
[0026] 図 1は、本実施の形態に係る調查システム 10の構成図である。第 1端末装置 50a、 第 2端末装置 50b、第 3端末装置 50c、および第 4端末装置 50d (以下、単に「端末 装置 50」という)は、例えば、携帯電話や PDA (Personal Digital Assistants)などの携 帯可能な端末である。また端末装置 50は、プログラムの実行条件としてプログラムの データサイズに上限が定められており、メモリサイズが一般的な端末と比較して小さ い装置であってよレ、。端末装置 50は、例えば GPS衛星 16から GPS信号を受信して 位置情報を取得する GPS (Global Positioning System)ユニット、 CCDカメラ、マイク などを有する。また、それぞれの端末装置 50は、基地局 14を介してネットワーク 12に 接続し、プログラム提供装置 200および解析装置 300と通信を行う機能を有する。
[0027] プログラム生成装置 100は、調査内容を端末装置 50の表示部 52に表示させ、調 查結果を受け付けるためのプログラムを生成し、プログラム提供装置 200に格納する 。第 1設定装置 500aおよび第 2設定装置 500b (以下、単に「設定装置 500」という) は、ネットワーク 12を介してプログラム生成装置 100と接続する。設定装置 500は、プ ログラム生成装置 100がプログラムを生成するために必要な種々の情報をユーザか ら受け付け、各パラメータをプログラム生成装置 100に出力する。プログラム生成装 置 100は、そのパラメータに基づいてプログラムを生成し、プログラム提供装置 200に 出力する。具体的には、プログラム生成装置 100は、プログラムを生成するために必 要なパラメータを入力する入力画面を形成するための情報 (以下、単に「入力画面情 報」という)を設定装置 500に提供する。設定装置 500は、その入力画面情報に基づ いて入力画面を形成し、その画面を介してユーザから各パラメータを受け付ける。
[0028] そして、プログラム提供装置 200は、ネットワーク 12を介して、そのプログラムを端末 装置 50に提供する。つまり、プログラム生成装置 100は、 ASP (Application Service Provider)としてプログラム作成機能を提供し、ネットワーク 12に接続された設定装置 500から利用できるように形成されている。
[0029] 調査員は、そのプログラムを実行することにより表示部 52に表示された調查内容に 基づいて調査を行う。例えば、調査員は、指定された調査地点まで端末装置 50を所 持して移動し、その場で調査を行う。端末装置 50は、その移動地点の位置情報 (以 下、単に「調査位置情報」という)を、 GPSユニットを利用して取得する。その取得指 示は、調査員の指示に基づいて行われてもよいし、端末装置 50内部のプログラムに より自動的に行われてもよいし、その他外部からの信号に基づいて行われてもよい。 調査員は、端末装置 50の CCDカメラを利用して指定された対象物を撮影したり、調 查内容に沿った事項を、例えばキーボタンなどの操作部 54を利用して端末装置 50 に入力したりする。
[0030] これらの調査位置情報、画像、およびその他の調査員に直接的に入力された情報 以外の端末装置 50が取得する情報は、調査結果として利用されるだけでなぐ調査 結果の信頼性を判断するための情報として利用される。つまり、端末装置 50が有す る GPS、 CCDカメラ、マイクなどから得られるデータは、一般的には調査員が任意に 書き換えることが出来ないので、調査結果の信頼性を保証するための情報として利 用できる。端末装置 50は、調査員に入力された事項、および各デバイスで得られた 画像、調査位置情報などを調査結果として解析装置 300に送信する。解析装置 300 は、調査結果を収集し、それぞれの調査結果の信頼性を判断した後、所定の解析を 行う。このように、解析装置 300は、複数の端末装置 50から調査位置情報の対応付 けられた調査結果を収集する。
[0031] 図 2は、図 1の表示部 52に表示される作業画面 400の遷移の一例を示す図である 。プログラムを実行することにより、図 1の表示部 52には、まず第 1作業画面 400aが 表示され、第 2作業画面 400b、第 3作業画面 400c、第 4作業画面 400d、第 5作業 画面 400e、および第 6作業画面 400fの順に表示される。第 1作業画面 400aは、タ ィトル領域 402、入力開始ボタン 404、およびデータ送信ボタン 406を有する。タイト ノレ領域 402は、例えば調查名などを表示するための領域であり、作業画面 400の上 部に表示される。
[0032] 作業画面 400は、調查内容を示す情報を表示するための調查項目指示領域 440 と、その調査内容に対する調査結果を調査員が入力するための調査結果入力領域 442とを含む。詳細は後述するが、調查内容を明確に調査員に伝えるために、調查 項目指示領域 440には、例えば調査内容を表す調査内容文字列 434や、その調査 内容に関連する例えば商品の外観や、調査内容に含まれる専門用語の説明のため の画像 420が含まれる。また調査結果入力領域 442には、後述するテキストボックス 、ラジオボタン、チェックボックスなどのコンポーネントが含まれ、回答を効率的かつ正 確に行うために、例えば選択肢の中から回答を選択できるように形成される。
[0033] 入力開始ボタン 404は、調査を開始するための指示を受け付けるボタンである。入 力開始ボタン 404を選択することにより、調査項目が表示部 52に表示される。ここで 、調査内容は、複数の調査項目により構成されている。データ送信ボタン 406は、各 調査項目に対する回答を完了した後、その回答を調査結果として図 1の解析装置 30 0に送信するためのボタンである。データ送信ボタン 406を押下すなわち選択するこ とにより、調査結果が解析装置 300に送信される。
[0034] 第 2作業画面 400bは、入力開始ボタン 404を押下すると表示される。本実施の形 態では、調查項目毎にページが設けられ、その調查項目に適した回答入力用のコン ポーネントが配置される。ページ番号領域 408は、そのページ番号を表示する領域 である。回答内容文字列 410は、後述のテキスト入力領域 412に入力する回答内容 を示す文字列を表示する領域である。テキスト入力領域 412は、回答を入力するた めのテキストボックスであり、任意の文字列を入力することができる。また、第 4作業画 面 400dのラジオボタン群 422は、予め用意された選択肢からひとつ回答を選択する ためのコンポーネントである。また、図示していないが、予め用意された選択肢の中 力 任意の数の回答を選択するためのチヱックボックス力 S、調査結果入力領域 442に 設けられてもよい。
[0035] 第 2作業画面 400bに戻り、次画面表示ボタン 414aは、次の調查項目に進むため のボタンであり、このボタンを押下することにより作業画面 400が切り替わる。第 2作業 画面 400bの次画面表示ボタン 414aを押下すると、第 3作業画面 400cが表示される 。このとき端末装置 50は、 GPSユニットを利用して位置情報を取得している。位置情 報の取得が完了すると、第 4作業画面 400dが表示される。第 4作業画面 400dの調 查項目に回答し、第 4作業画面 400dの次画面表示ボタン 414bを押下すると、第 5 作業画面 400eが表示される。このように作業画面 400を順次切り替えながら、調查 員は一連の調査項目に回答を入力する。
[0036] 第 5作業画面 400eの撮影開始ボタン 430は、図 1の端末装置 50が有する CCD力 メラを利用して撮影を行うためのボタンである。撮影開始ボタン 430を押下することに より、 CCDカメラがアクティブになり、撮影可能となる。このように、図 1のプログラム提 供装置 200が提供するプログラムは、端末装置 50が有する GPSユニットや CCDカメ ラなどのハードウェアを利用して得たデータを調査結果とすることができるようにコー デイングされている。
[0037] 本図では最後の作業画面 400になる第 6作業画面 400fは、保存ボタン 432を有す る。保存ボタン 432は、各作業画面 400で入力した回答を保存するためのボタンであ る。保存ボタン 432を押下することにより、端末装置 50の記憶領域に調査結果として 保存される。そして、調査員が第 1作業画面 400aのデータ送信ボタン 406を選択す ると、端末装置 50は、保存中の調査結果を図 1の解析装置 300に送信する。
[0038] このように、調査結果を保存した後、送信する形態にすることにより、例えば電波が 届かない場所で調査を行い、電波の届く場所で調査結果を送信することができる。 つまり、電波状態を気にせず、調查を行うことができるので、様々な場所での調査が 可能になる。また、こうした調查項目と、回答のための入力インターフェースをプログ ラムにより実現することにより、調査項目に適した入力インターフェースを設けることが できるので、入力ミスなど人為的なミスを防止できるとともに、迅速な調査が可能にな る。また、例えば調査項目をウェブページで提供する場合と比べて、サーバへのァク セス数が大幅に減少するので、サーバの負荷を下げることができる。
[0039] このような作業画面 400を表示するためのプログラムは、例えば JAVA (登録商標) などのプログラミング言語で作成されたプログラムであってょレ、。このプログラムを調 查毎に毎回プログラマーが作成していたのでは、開発期間の問題により必要なタイミ ングで必要な調查を実施できないなど、迅速な調查を行うことができないこともある。 また、人為的なミスにより、誤った調查項目や選択肢が含まれる場合もある。また、プ ログラムの開発コストの問題により、調查をひかえるということもあり得る。
[0040] そのため、こうしたプログラムを自動的に生成することが、図 1の調查システム 10を 運用するためには必要になる。一般に、プログラムは、ソースコードをコンパイルする ことにより生成される。プログラマ一は、各種の開発ツールを利用してソースコードを 作成するが、その作業には高い知識が必要となるため、一般の人は容易にソースコ ードを作成できない。
[0041] 本発明者は、様々な調査を想定し、その入力インターフェースを検討した結果、調 查項目毎の入力インターフェースを統一し、ひな形を作ることにより、ひな形の組合 せ処理と、ひな形中の文字列を他の文字列に置換する処理とにより自動的にソース コードを生成することが可能であるということに想到した。図 1のプログラム生成装置 1 00は、この手法に準じてソースコードを生成し、コンパイルすることによりプログラムを 自動的に生成する。
[0042] 図 3は、図 1のプログラム生成装置 100の内部構成図である。プログラム生成装置 1 00の各構成要素は、任意のコンピュータの CPU、メモリ、メモリにロードされた本図の 構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶 ユニット、ネットワーク接続用インターフェースを中心にハードウェアとソフトウェアの 任意の組合せによって実現されるが、その実現方法、装置にはいろいろな変形例が あることは、当業者には理解されるところである。以下説明する各図は、ハードウェア 単位の構成ではなぐ機能単位のブロックを示している。 [0043] 画面情報提供部 602は、設定装置 500に入力画面情報を提供する。画面情報格 納部 610は、例えば入力画面情報のひな形など、各種の画面情報を保持する。検査 プログラム格納部 612は、図 1の端末装置 50に後述する機能を実現するための検査 プログラムを保持する。画面情報生成部 600は、画面情報格納部 610および検查プ ログラム格納部 612に保持されているデータに基づいて入力画面情報を生成し、画 面情報提供部 602に供給する。そして、画面情報提供部 602は、その入力画面情報 を設定装置 500に送信する。
[0044] 本実施の形態では、画面情報生成部 600は、 HTML (Hyper Text Markup
Language)形式のファイルを入力画面情報として生成する。また、検查プログラムは、 例えば、 JAVA (登録商標)、 ActiveXなどの任意のプログラム手法により作られてお り、設定装置 500側で実行可能なプログラムである。詳細は後述するが、検查プログ ラムは、処理を実行するにあたり、図 1の端末装置 50で実行可能なプログラムのサイ ズ (以下、単に「最大プログラムサイズ」という)を利用する。このため、画面情報生成 部 600は、プログラム条件格納部 132から最大プログラムサイズを読み込み、入力画 面情報に付加する。つまり、画面情報提供部 602は、検査プログラムと最大プロダラ ムサイズと入力画面を形成するための画面情報とを含む入力画面情報を設定装置 5 00に送信する。
[0045] 設定装置 500から入力画面情報を要求された場合、画面情報提供部 602は、認証 部 604に設定装置 500の認証を要求する。ユーザ情報格納部 606は、ユーザ ID、 パスワードなどユーザに関係する種々の情報を保持する。認証部 604は、例えば設 定装置 500を操作しているユーザのユーザ IDやパスワードなどの認証に利用する認 証情報を受け付け、認証情報に基づいてユーザ情報格納部 606を参照することによ り認証を行う。
[0046] 認証に成功した場合、認証部 604は、その旨を画面情報提供部 602に通知する。
この通知を契機として、画面情報提供部 602は、画面情報生成部 600に入力画面情 報の生成を要求する。そして、画面情報提供部 602は、生成された入力画面情報を 設定装置 500に送信する。
[0047] 受付部 110は、設定装置 500から調查プログラムを生成するためのパラメータを受 け付け、生成部 112に出力する。例えば、そのパラメータは、 XML (extensible Markup Language)形式のファイル(以下、単に「パラメータファイル」という)として供給 される。生成部 112は、パラメータファイルに基づいて調査プログラムのソースコード を生成する。ひな形格納部 128は、ソースコードを生成するための複数種類のひな 形を保持する。生成部 112は、そのひな形を組合せ、各ひな形の所定の箇所にパラ メータファイルに含まれているパラメータを揷入、もしくはひな形中の所定の文字列を パラメータに置換することによりソースコードを生成する。
[0048] ひな形格納部 128は、ひな形と、そのひな形により実現する機能や入力インターフ エースなどを特定する情報とを対応付けて保持する。例えば、ひな形格納部 128は、 回答を入力するためのコンポーネントの種類を特定するタイプ情報に対応付けて、そ れらのコンポーネントを端末装置 50で実現するためのプログラムコードをひな形とし て保持する。
[0049] 一般に、各種のプログラム言語には、 API (Application
Program Interface)として予め所定の処理を実現するための関数が用意されている。 ソースコードは、それらの APIをプログラム言語毎の文法に準じて組み合わせて作ら れている。ひな形は、例えば複数の関数を組み合わせたプログラムコードであっても ょレ、し、ひとつの関数から成るプログラムコードであってもよい。要は、ひな形格納部 128は、コンポーネントタイプとそのひな形とを対応付けて保持すればよい。
[0050] パラメータファイルに基づいて、ソースコードを生成するためのアルゴリズムは、いろ レ、ろと考えられる。ひな形格納部 128が保持するひな形は、そのアルゴリズムに応じ て適宜用意される。
[0051] 例えば、図 2の調査結果入力領域 442としてテキストボックスを有する調查内容表 示画面 400を生成するためのひな形は、文字列を表示するための文字列表示関数 とテキストボックスを表示するためのテキストボックス関数とを含んでいる。そして、そ れらの関数の引数に、パラメータファイルに含まれている、文字列、数字、画像等の 各情報を設定できるように、例えば引数に所定の変数名が割り当てられている。例え ば、生成部 112は、その変数に対応するパラメータを代入することにより、ソースコー ドを生成してもよいし、その変数をパラメータに置き換えて、ソースコードを生成しても よい。
[0052] また、図 2の調査結果入力領域 442としてラジオボックスやチェックボックスを有する 調査内容表示画面 400を生成するためのひな形は、それぞれ文字表示関数を含み 、ラジオボックスを表示するラジオボックス関数またはチェックボックスを表示するチヱ ックボックス関数の少なくとも一方を含む。こうしたひな形に含まれるプログラムコード は、パラメータファイルに基づいてソースコードを生成するためのアルゴリズムに応じ て適切に記述すればよい。要は、生成部 112は、パラメータファイルに含まれるタイ プ情報に基づいて、そのコンポーネントを形成するための関数もしくはひな形を特定 し、その引数にパラメータを設定すればよい。
[0053] パラメータファイルに図 6の画像ファイル名欄 182が含まれている場合、生成部 112 は、コンテンツ格納部 126から該当する画像コンテンツを読み込み、所定のタイミング でソースコードとともにコンパイル部 114に出力する。例えばそのタイミングは、後述 するコンパイル部 114がコンパイル処理を行うときであってもよい。
[0054] 生成部 112は、ソースコードを生成し終えると、その旨をソースコード完成通知とし て指示部 120に出力する。例えば、生成部 112は、パラメータファイルのページ構成 情報欄 160を単位としてソースコードに変換する処理を順次行う。そして、全てのぺ ージ構成情報欄 160について変換を終了した時点でソースコードが完成する。生成 部 112は、このとき、すなわち全てのページ構成情報欄 160について変換を終了し た時点で、その旨を指示部 120に出力してもよい。また、生成部 112は、ノ ラメ一タフ アイルのパラメータ開始タグ 151aからパラメータ終了タグ 151bまで、各パラメータに 基づいて順次ソースコードに変換する処理を行レ、、パラメータ終了タグ 15 lbに到達 すると変換処理を終了するとともに、ソースコード完成通知を指示部 120に出力して あよい。
[0055] 指示部 120は、生成部 112からソースコード完成通知を受け付けると、その通知を 契機として、コンパイル部 114にソースコードのコンパイルを指示する。基本関数格 糸内部 130は、コンパイルに必要な種々のファイルを保持する。コンパイル部 114は、 基本関数格納部 130に保持されているファイルを利用して、ソースコードをオブジェ タトコードに変換して、調查プログラムを生成する。 [0056] 検査部 116は、コンパイル部 114が生成した調査プログラムを図 1の端末装置 50に おいて実行可能であることを検査する。一般に、図 1の端末装置 50は、例えばデスク トップコンピュータなどと比べるとメモリ容量が小さぐ CPUの性能も劣るため、実行可 能なプログラムの最大プログラムサイズが決められている。検查部 116は、生成した 調查プログラムのサイズが最大プログラムサイズより小さい場合に、実行可能であると 判定し、その調查プログラムを格納処理部 118に出力する。そして、格納処理部 118 は、調查プログラムをプログラム提供装置 200に出力し、配信可能にさせる。
[0057] 課金部 608は、プログラム生成装置 100を利用し、配信可能となったプログラムを 作成したユーザに対応付けて、使用料金を管理する。
[0058] 一方、生成した調查プログラムのサイズが最大プログラムサイズより大きレ、場合、検 查部 116は、プログラムサイズが大きいため、端末装置 50において実行できないこと を示す情報を通知部 106に出力する。通知部 106は、その情報に基づいて、プログ ラムサイズが最大プログラムサイズを超えるため、端末装置 50において実行できない ことを通知するとともに、調査項目を減らすことを促すメッセージを画面情報生成部 6 00に出力する。これにより、画面情報生成部 600は、そのメッセージを設定装置 500 に伝えるための画面情報を生成し、画面情報提供部 602に出力する。画面情報提 供部 602は、その画面情報を設定装置 500に送信する。これにより、設定装置 500 には、プログラムサイズが最大プログラムサイズを超えていることと、プログラムを完成 するためには調査項目を減らす必要があることとを伝達するためのメッセージが表示 される。
[0059] このように、調査プログラムのプログラムサイズを検査することにより、調査プログラム のプログラムサイズが、その調查プログラムを利用する図 1の端末装置 50の最大プロ グラムサイズより大きいために実行できないという事態を回避できる。
[0060] プログラム条件格納部 132は、図 1の端末装置 50を特定する情報(以下、単に「端 末情報」という)に対応付けて、その端末装置 50の最大プログラムサイズを保持する。 検查部 116は、プログラム条件格納部 132を参照して、最大プログラムサイズを特定 して上述した検查を行う。例えば、その端末情報はパラメータファイルに含まれてい てもよい。 [0061] このプログラム生成装置 100により、ユーザが設定装置 500に表示された入力画面 に単に調査項目を入力することにより、ソースコードを生成し、自動的にコンパイルし て調査プログラムを生成することができる。
[0062] 図 4は、図 1の設定装置 500の内部構成図である。画面情報取得部 502は、プログ ラム生成装置 100から前述した調查用のプログラム(以下、単に「調查プログラム」と いう)を形成するために必要な種々の情報を入力するための入力画面を、表示部 10 2に形成するための入力画面情報を取得する。画面情報取得部 502は、入力画面 情報に含まれる最大プログラムサイズを実行条件格納部 504に格納し、検查プロダラ ムを起動する。検查プログラムを起動することにより、後述の制限部 122および通知 部 508が形成される。
[0063] 画面情報生成部 124は、入力画面情報または後述する通知部 508からの通知に 基づいて画面情報を生成し、表示処理部 104に出力する。表示処理部 104は、画面 情報に基づいて入力画面を表示部 102に表示させる。
[0064] 操作部 108は、例えばキーボードやマウスなどの入力デバイスであり、ユーザから 操作を受け付け、入力画面に対する種々の情報をパラメータ管理部 109に出力する 。パラメータ管理部 109は、入力された情報をパラメータとして、パラメータ名などに 対応付けて管理する。そして、画面情報生成部 124は、パラメータ管理部 109に管 理されているパラメータを読み込み、新たに入力されたパラメータを入力画面に反映 する。また、パラメータ管理部 109は、所定のタイミングで管理中のパラメータをパラメ ータファイルとしてプログラム生成装置 100に出力する。
[0065] 制限部 122は、パラメータファイルに含まれるパラメータに基づいて、調査プロダラ ムが含む調查項目の数を制限する。つまり、図 3の検查部 116が最終的に生成した 調查プログラムのプログラムサイズに基づいて、端末装置 50において利用可能か否 かを判定するのに対して、制限部 122は、図 3のプログラム生成装置 100がソースコ ードを生成する前に、端末装置 50において利用可能か否かを予測する。そして、予 測したプログラムサイズが最大プログラムサイズを超える場合、制限部 122は、調查 項目を減らすことを通知するように通知部 508に指示する。通知部 508は、その指示 に応じて、プログラムサイズが最大プログラムサイズを超えることが予測されるため、 調査項目を減らすことを促すメッセージを表示部 102に表示させる。これにより、無駄 なソースコードの生成やコンパイルを避けることができる。また、制限部 122における 処理は、設定装置 500側で行われるので、プログラム生成装置 100に負荷をかけな レ、。
[0066] 制限部 122は、実行条件格納部 504から図 1の端末装置 50に応じた最大プロダラ ムサイズを読み込む。そして、制限部 122は、例えばパラメータファイルに含まれるパ ラメータに基づいて、調查プログラムのプログラムサイズを予測する。このために、制 限部 122は、各パラメータ名すなわちパラメータの種類と、プログラムサイズとを対応 付けたテーブルを保持する。そして、制限部 122は、ノ ラメータファイルに含まれるパ ラメータ毎に、そのテーブルを参照してプログラムサイズを特定し、例えば加算するこ とにより調查プログラムのサイズを推定してもよい。
[0067] 制限部 122は、パラメータ管理部 109からパラメータファイルを受け付けると、その パラメータファイルに基づいて、調査項目を減らす必要があるか否かを判定する。そ して、調査項目を減らす必要がない場合、制限部 122は送信部 506にパラメータファ ィルを出力する。そして、送信部 506は、パラメータファイルをプログラム生成装置 10 0に出力する。
[0068] 図 5は、図 4の表示部 102に表示される入力画面 450の一例を示す図である。諸情 報入力領域 460は、調査プログラムが前述した機能を実現するために必要な種々の 情報を入力するための領域である。「調査 ID」は、調査プログラムを識別するための 情報であり、例えば調査結果を図 1の解析装置 300に送信する際に、調査結果に対 応付けて送信される。 「調査名称」は、調査毎の名称であり、図 2のタイトル領域 402 に表示される。 「データ送信 URL」は、調査結果の送信先である図 1の解析装置 300 をネットワーク 12上で特定するための情報を入力するための領域であり、例えば解析 装置 300の URL (Uniform Resource Locator)が設定される。
[0069] コンポーネント追加操作ボタン群 462は、調查項目を追加する場合に利用する。タ ィプ選択コンポーネント 470は、追加する調查項目の回答の入力に利用するコンポ 一ネントのタイプを指定するためのコンポーネントである。タイプ選択コンポーネント 4 70で選択可能なコンポーネントのタイプとして、例えば複数の選択肢の中からひとつ の回答を選択可能なラジオボタン(図中では「SA」と表記)、複数の選択肢の中から 任意の数の回答を選択可能なチェックボックス(図中では「MA」と表記)、テキスト入 力をするためのテキストボックス(図中では「Text」と表記)がある。任意のタイプをタイ プ選択コンポーネント 470力 選択し、コンポーネント追加ボタン 472を押下すること により、選択したタイプに応じたコンポーネント設定領域 464が追加される。
[0070] 各コンポーネント設定領域 464は、図 2の調查項目指示領域 440を形成するため に必要な情報と、図 2の調査結果入力領域 442を形成するために必要な情報とを入 力できるように、例えばテキストボックスやチェックボックスなどのコンポーネントにより 構成されている。
[0071] 第 1コンポーネント設定領域 464aは、コンポーネントタイプとして「テキストボックス」 を選択した場合に追加される。タイプ表示領域 476には、コンポーネントのタイプが 表示される。第 1コンポーネント設定領域 464aには、図 2の調查項目指示領域 440 を形成するために、質問文入力領域 480および画像選択コンポーネント 486が設け られている。また、図 2の調査結果入力領域 442を形成するために、回答入力領域 4 82、最大文字数指定領域 488、および入力文字タイプ指定ボックス 490が設けられ ている。
[0072] 質問文入力領域 480は、例えば、調査員に調査させる事柄を指示するための文書 を入力するための領域である。ここに入力した文字列が、図 2の調査内容文字列 434 として表示される。画像選択コンポーネント 486は、図 2の画像 420として表示する画 像コンテンツを選択するためのコンポーネントであり、例えばリストの中力 任意の画 像コンテンツを選択できるように形成される。図 3のコンテンツ格納部 126は、画像コ ンテンッを格納しており、画像選択コンポーネント 486を選択すると、画面情報取得 部 502は、プログラム生成装置 100からコンテンツ格納部 126が保持する画像コンテ ンッのリストを取得する。そして、画面情報生成部 124は、そのリストを利用して画像 選択コンポーネント 486を形成してもよい。
[0073] 回答入力領域 482は、テキストボックスの周辺に表示される文字列を入力するため の領域である。この文字列が、回答を入力するためのテキストボックスの上方、下方、 左側、または右側のいずれかに配置される。最大文字数指定領域 488は、テキストボ ッタスに入力可能な文字数の上限を設定するための領域である。入力文字タイプ指 定ボックス 490は、テキストボックスに入力可能な文字タイプを指定するためのチェッ クボックスである。本実施の形態では、チェックすることにより数字の入力だけが可能 になり、チェックをはずすことにより、例えばひらがな、カタカナ、漢字、アルファベット 、数字など任意の文字タイプの入力が可能になる。なお、回答入力領域 482、最大 文字数指定領域 488、および入力文字タイプ指定ボックス 490は対応付けられてレ、 る。
[0074] 本図では、回答入力領域 482に「自販機 IDを入力」が記入され、最大文字数指定 領域 488に「4」が記入され、入力文字タイプ指定ボックス 490がチヱックされている。 これにより、図 2の第 2作業画面 400bが形成される。すなわち、テキスト入力領域 41 2の上方の回答内容文字列 410に「自販機 IDを入力」と表示される。また、そのテキ スト入力領域 412は、数字のみ入力可能であり、その最大数は 4文字になっている。
[0075] 図 5に戻り、回答追加ボタン 478は、回答入力領域 482を追加する。すなわち、図 2 の調査結果入力領域 442としてテキストボックスを複数設ける場合、回答追加ボタン 478を所望の回数押下する。これにより、第 1コンポーネント設定領域 464aには、回 答追加ボタン 478を押下した数の回答入力領域 482が新たに追加される。追加した それぞれの回答入力領域 482は、個別に文字列を設定可能である。もちろん、各回 答入力領域 482に対応付けられた最大文字数指定領域 488および入力文字タイプ 指定ボックス 490を個別に設定できる。また、後述する第 2コンポーネント設定領域 4 64b、および第 3コンポーネント設定領域 464cの回答追加ボタン 478は、それぞれラ ジォボタンならびにチェックボックス用の回答入力領域 482を追加する。
[0076] 回答削除コンポーネント 494は、回答入力領域 482を削除するためのコンポーネン トである。回答削除コンポーネント 494を押下することにより、対応する回答入力領域 482が削除される。
[0077] ラジオボタン 474は、調査結果に位置情報を対応付けるか否か、すなわち図 1の端 末装置 50が有する GPSユニットを利用するか否かを指定するためのコンポーネント である。ラジオボタン 474がチェックされている場合、調査結果に位置情報が対応付 けられる。本実施の形態では、いずれかのコンポーネント設定領域 464のラジオボタ ン 474がチェックされている場合、調査プログラムを実行したのち、いずれかのタイミ ングで位置情報が取得される。
[0078] 調査項目削除コンポーネント 496は、調査項目を削除するためのコンポーネントで ある。調查項目削除コンポーネント 496を押下することにより、対応する調查項目のコ ンポーネント設定領域 464が削除される。
[0079] 第 2コンポーネント設定領域 464bは、コンポーネントタイプとして「ラジオボタン」を 選択した場合に追加される。第 2コンポーネント設定領域 464bの回答入力領域 482 に入力した文字列は、ラジオボタン毎に対応付けられて表示される。つまり、各回答 入力領域 482には各選択肢を入力する。リンク指定領域 492は、その回答を選択し た場合に、順番に調查項目を表示するのではなぐリンク先として指定された他の調 查項目を表示するか否かを指定するためのコンポーネントである。例えば、リンク指 定領域 492は、調查項目のリストの中から任意の調查項目を選択できるように形成さ れている。そして、ラジオボタンが選択された場合に、リンク先として指定された調査 項目の画面が表示される。
[0080] 第 3コンポーネント設定領域 464cは、コンポーネントタイプとして「チェックボックス」 を選択した場合に追加される。第 3コンポーネント設定領域 464cの回答入力領域 48 2に入力した文字列は、チェックボックス毎に対応付けて表示される。つまり、各回答 入力領域 482には各選択肢を入力する。
[0081] こうした表示処理は、図 3の操作部 108におけるユーザの操作に応じて更新された パラメータに基づいて、画面情報生成部 124が入力画面 450を形成するための情報 を随時書き換えることにより実現する。
[0082] 生成ボタン 452は、入力画面 450に入力された種々の情報を利用してソースコード を生成することを指示するためのボタンである。キャンセルボタン 454は、入力画面 4 50への入力をキャンセルするためのボタンである。生成ボタン 452を押下した場合、 図 4のパラメータ管理部 109は、管理中のパラメータを制限部 122に出力する。ノ ラメ ータの出力形態はいろいろとあるが、本実施の形態では、パラメータ管理部 109は、 XML (extensible Markup Language)形式のファイル(以下、単に「パラメータファイル 」という)として、各パラメータを制限部 122に出力する。 [0083] 図 6は、図 4のパラメータ管理部 109が制限部 122に出力するパラメータファイルの データ構造の一例を示す図である。ひとつの調査プログラムを生成するための全て のパラメータは、パラメータの開始を示すパラメータ開始タグ 151aと、ノ メータの終 了を示すパラメータ終了タグ: L 51bとに囲まれて保持される。そして、各パラメータは、 パラメータの名称を示すタグに囲まれて保持される。調查 ID欄 152、名称欄 154、お よび URL欄 156は、図 5の諸情報入力領域 460に入力した、「調查 ID」、「調查名称 」ならびに「データ送信 URL」をそれぞれ保持する。また、図 5のコンポーネント設定 領域 464に入力した種々の情報は、ページ構成情報欄 160にそれぞれタグに囲ま れて保持される。本実施の形態では、ひとつのページ、すなわち図 2のひとつの作業 画面 400を形成するための情報力 ひとつのページ構成情報欄 160に含まれている
[0084] ページ No欄 162は、ページを識別するページ識別情報を保持し、例えば表示する 順番を保持してもよい。すなわち、後述する図 3の生成部 112は、ページ識別情報に 基づいて各ページを表示する順番を決め、その順番で各ページを表示するようにソ ースコードを生成する。このページ識別情報は、図 5のコンポーネント追加ボタン 472 を操作して、コンポーネント設定領域 464を追加した際に、図 4のパラメータ管理部 1 09により各コンポーネント設定領域 464に例えば昇順で割り当てられる。
[0085] コンポーネント欄 174は、図 2の調査結果入力領域 442を形成するための種々の情 報を保持する。データ名欄 164は、そのコンポーネントにより入力もしくは選択された 回答を特定するデータ名を保持する。図 1の端末装置 50は、調査結果を解析装置 3 00に送信する際、そのデータ名に対応付けて回答を送信する。また、他の例で、調 查結果を CSV形式で送信する場合には、データ名を設定しなくてもよい。
[0086] タイプ欄 166は、例えば、テキスト(図中「Text」と表記)、ラジオボックス(図中「SA」と 表記)、チェックボックス(図中「MA」と表記)などのコンポーネントのタイプを特定する タイプ情報を保持する。また、位置情報を取得する GPSコンポーネント、 CCDカメラを 利用して画像を撮影する撮影コンポーネントなど端末装置 50のハードウェアを制御 するためのコンポーネントを識別する情報も同様にタイプ情報としてタイプ欄 166に 保持される。 [0087] 文字列欄 168は、図 5の回答入力領域 482に入力された文字列を保持する。文字 種欄 170は、入力可能な文字の種類を特定する情報を保持する。本実施の形態で は、図 5の入力文字タイプ指定ボックス 490がチェックされている場合に、「数字」が設 定され、チェックされていない場合に任意の文字の種類を示す情報が設定される。文 字数欄 172は、図 5の最大文字数指定領域 488に入力された数字を保持する。
[0088] タイプ欄 166にテキストが保持されている場合、コンポーネント欄 174には、テキスト ボックスを形成するために文字種欄 170および文字数欄 172が含まれる。また、タイ プ欄 166にラジオボックスを示す「SA」またはチェックボックスを示す「MA」が保持さ れている場合、ラジオボックスまたはチェックボックスを形成するために、選択肢の枝 数分の文字列欄 168が含まれる。
[0089] 質問文欄 180は、図 5の質問文入力領域 480に入力された文字列を保持する。画 像ファイル名欄 182は、図 5の画像選択コンポーネント 486で選択された画像フアイ ルのファイル名を保持する。他の例では、画像ファイル名欄 182は、画像ファイルの 格納場所を示すパスや URLを保持してもよレ、。
[0090] 図 4のパラメータ管理部 109は、このように図 2の作業画面 400を形成するための各 パラメータを、調査項目毎にグループに分けて、すなわちページ構成情報欄 160毎 に分けて保持するパラメータファイルを図 4の制限部 122に出力する。
[0091] また、制限部 122は、パラメータファイルに含まれる図 6のページ構成情報欄 160の 数と、予め設定された調査項目数の上限 (以下、単に「最大項目数」とレ、う)とを比較 することにより、調査項目数を制限してもよい。例えば、制限部 122は、ノ メータファ ィルに含まれる図 6のページ構成情報欄 160の数が、最大項目数より大きい場合に 、調查項目を減らすことを通知部 106に通知させてもよい。
[0092] 図 7は、図 1のプログラム提供装置 200の内部構成図である。登録部 202は、プログ ラム生成装置 100から調查プログラムを受け付ける。そして、登録部 202は、受け付 けた調查プログラムをプログラム格納部 204に格納する。プログラム提供部 206は、 端末装置 50からの要求に応じて、プログラム格納部 204に格納されている調查プロ グラムを提供する。プログラム提供部 206は、調查プログラムを提供する際に、例えば 端末装置 50に固有に割り当てられている識別情報などにより、調査員の認証を行い 、認証に成功した場合に、調査プログラムを端末装置 50に提供してもよい。
[0093] 図 8は、図 1の解析装置 300の内部構成図である。収集部 302は、端末装置 50か ら調査結果を受け付ける。収集部 302は、その調査結果を、例えば CSV形式や調査 項目を示すパラメータ名に対応付けた形式で端末装置 50から収集する。収集部 30 2は、調査結果を調査結果格納部 304に格納する。解析部 306は、調査結果格納部 304に格納されている調査結果に基づいて、例えば統計的な集計等の所定の解析 を行い、解析結果を出力する。
[0094] 図 9は、図 3のプログラム生成装置 100と図 4の設定装置 500とによる調查プロダラ ム生成処理のフローチャートの一例である。図 4の制限部 122は、パラメータ管理部 1 09からパラメータファイルを受け付け(S10)、パラメータファイルに含まれるパラメ一 タに基づいて、調查プログラムのプログラムサイズを予測する(S 12)。図 4の制限部 1 22は、予測したプログラムサイズが予め設定されてレ、る最大プログラムサイズより小さ いか否力を判定する(S14)。予測したプログラムサイズ力 最大プログラムサイズより 大きい場合(S14の N)、図 4の通知部 508は、調査項目を減らすことを通知する(S2 8)。
[0095] S14で、予測したプログラムサイズが最大プログラムサイズより小さい場合(S 14の Y )、図 4の送信部 506は、そのパラメータファイルをプログラム生成装置 100に送信す る(S15)。図 3の生成部 112は、パラメータファイルに含まれるパラメータに基づいて 、図 3のひな形格納部 128からひな形を選択し(S16)、そのひな形中の所定の引数 を、パラメータファイル中のパラメータに置き換える(S18)。
[0096] 生成部 112は、ソースコードが完成したか否かを判定する(S20)。ソースコードが 完成していない場合(S20の N)、ステップ 16に戻る。ソースコードが完成した場合(S 20の Y)、生成部 112は、その旨を図 3の指示部 120に出力する。そして、指示部 12 0は、そのソースコードをコンパイルすることを図 3のコンパイル部 114に指示する。こ れにより、コンパイル部 114はコンパイルを実行する(S22)。
[0097] 調查プログラムが完成した後、コンパイル部 114は、その調查プログラムを図 3の検 查部 116に出力する。検查部 116は、調查プログラムのプログラムサイズが最大プロ グラムサイズより小さいか否力、を判定する(S24)。プログラムサイズが最大プログラム サイズより大きい場合(S24の N)、通知部 106は、調査項目を減らすことを通知する( S28)。また、プログラムサイズが最大プログラムサイズより小さい場合(S24の Y)、検 查部 116は、図 3の格納処理部 118にその調査プログラムを出力し、格納処理部 11 8はその調查プログラムを図 1のプログラム提供装置 200に出力し、図 1の端末装置 5 0に提供可能な状態にさせる(S26)。
[0098] 調查プログラムを例に、プログラム生成装置 100の機能を説明した力 プログラム生 成装置 100は、調查プログラムだけでなぐ例えばアンケートやクイズなど種々のプロ グラムを生成してもよい。
[0099] 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの 各構成要素や各処理プロセスの組合せにレ、ろレ、ろな変形例が可能なこと、またそうし た変形例も本発明の範囲にあることは当業者に理解されるところである。

Claims

請求の範囲
[1] 所定の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を形 成する画面情報を保持する画面情報格納部と、
ネットワークを介して接続された設定装置に前記画面情報を提供する提供部と、 前記画面情報に基づいて表示された入力画面に入力されたパラメータを、前記設 定装置から前記ネットワークを介して受け付ける受付部と、
前記パラメータに基づいて、前記第 1プログラムのソースコードを動的に生成する生 成部と、
前記ソースコードをコンパイルして、所定の端末装置で実行可能な前記第 1プログ ラムを生成するコンパイル部と、
前記ソースコードが生成されたことを検出して、そのソースコードをコンパイルするこ とを前記コンパイル部に指示する指示部と、
を備えることを特徴とするプログラム生成システム。
[2] 前記第 1プログラムのデータサイズが所定のサイズより小さいことを検査し、前記第 1 プログラムのデータサイズが所定のサイズより小さい場合、その第 1プログラムを前記 端末装置に提供可能にする検査部を更に備えることを特徴とする請求の範囲第 1項 に記載のプログラム生成システム。
[3] 前記第 1プログラムのデータサイズが前記所定のサイズより大きい場合、前記パラメ 一タの数を減らすことを促す通知を前記設定装置に行う通知部を更に備えることを特 徴とする請求の範囲第 2項に記載のプログラム生成システム。
[4] 前記所定のサイズは、前記第 1プログラムを利用する端末装置毎に設定されること を特徴とする請求の範囲第 2項に記載のプログラム生成システム。
[5] 前記検查部により検査された第 1プログラムを格納する第 1プログラム格納部と、 前記格納部に格納されている第 1プログラムを前記端末装置に提供する提供部と、 を更に備え、
前記検査部は、前記生成部が生成した第 1プログラムのデータサイズが所定のサイ ズより小さい場合、その第 1プログラムを前記格納部に格納することを特徴とする請求 の範囲第 2項に記載のプログラム生成システム。
[6] 前記設定装置に、前記第 1プログラムのサイズが前記所定のサイズより小さくなるよ うに、前記パラメータの数を制限する制限部を形成させる第 2プログラムを保持する第
2プログラム格納部を更に備え、
前記提供部は、前記画面情報とともに前記第 2プログラムを前記設定装置に提供 することを特徴とする請求の範囲第 1項に記載のプログラム生成システム。
[7] 所定の処理を実現するプログラムを生成するためのパラメータの入力画面を形成す る画面情報を、ネットワークを介して取得する取得部と、
前記画面情報に基づいて前記入力画面を表示部に表示する表示処理部と、 前記入力画面に応じたパラメータの入力を受け付け、そのパラメータを管理する管 理部と、
前記管理部が管理してレ、るパラメータを、前記プログラムを生成する生成装置に前 記ネットワークを介して出力する送信部と、
を備えることを特徴とするプログラム生成システム。
[8] 前記プログラムのサイズが所定のサイズより小さくなるように、前記パラメータの数を 制限する制限部を更に備え、
前記送信部は、前記制限部による制限内のパラメータを前記生成装置に出力する ことを特徴とする請求の範囲第 7項に記載のプログラム生成システム。
[9] 前記パラメータの数を制限する必要がある場合、前記パラメータの数を減らすことを 促す通知を行う通知部を更に備えることを特徴とする請求の範囲第 8項に記載のプ ログラム生成システム。
[10] 前記プログラムは、入力インターフェースとしてのコンポーネントを含むものであり、 前記管理部は、前記コンポーネントを形成するための複数のパラメータをグノレープ として管理し、
前記制限部は、グループ単位で前記パラメータの数を制限することを特徴とする請 求の範囲第 8項に記載のプログラム生成システム。
[11] 前記制限部は、前記管理部が管理しているパラメータに応じて、前記生成装置によ り生成されるプログラムのデータサイズを予測して、前記パラメータの数を減らす必要 力 Sあるか否力 ^判定することを特徴とする請求の範囲第 9項に記載のプログラム生成
[12] 予測したプログラムのデータサイズが、前記所定のサイズより大きい場合、前記制 限部は、前記パラメータの数を減らす必要があると判定することを特徴とする請求の 範囲第 11項に記載のプログラム生成システム。
[13] 前記制限部は、前記管理部が管理しているパラメータの数と予め設定された数とを 比較して、前記パラメータの数を減らす必要があるか否力、を判定することを特徴とす る請求の範囲第 9項に記載のプログラム生成システム。
[14] 前記管理部が管理しているパラメータの数が、前記予め設定された数より多い場合 、前記制限部は、前記パラメータの数を減らす必要があると判定することを特徴とす る請求の範囲第 13項に記載のプログラム生成システム。
[15] 前記端末装置が携帯端末であることを特徴とする請求の範囲第 1項に記載のプロ グラム生成システム。
[16] 前記端末装置が携帯端末であることを特徴とする請求の範囲第 7項に記載のプロ グラム生成システム。
[17] 所定の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を形 成する画面情報を保持する画面情報格納部と、
ネットワークを介して接続された設定装置に前記画面情報を提供する提供部と、 前記画面情報に基づいて表示された入力画面に入力されたパラメータを、前記設 定装置から前記ネットワークを介して受け付ける受付部と、
前記パラメータに基づいて、前記第 1プログラムのソースコードを動的に生成する生 成部と、
前記ソースコードをコンパイルして、所定の端末装置で実行可能な前記第 1プログ ラムを生成するコンパイル部と、
前記ソースコードが生成されたことを検出して、そのソースコードをコンパイルするこ とを前記コンパイル部に指示する指示部と、
をコンピュータに実現させるためのプログラム生成プログラム。
[18] 所定の処理を実現する第 1プログラムを作成するためのパラメータの入力画面を形 成する画面情報を保持する画面情報格納部と、 ネットワークを介して接続された設定装置に前記画面情報を提供する提供部と、 前記画面情報に基づいて表示された入力画面に入力されたパラメータを、前記設 定装置から前記ネットワークを介して受け付ける受付部と、
前記パラメータに基づいて、前記第 1プログラムのソースコードを動的に生成する生 成部と、
前記ソースコードをコンパイルして、所定の端末装置で実行可能な前記第 1プログ ラムを生成するコンパイル部と、
前記ソースコードが生成されたことを検出して、そのソースコードをコンパイルするこ とを前記コンパイル部に指示する指示部と、
をコンピュータに実現させるためのプログラム生成モジュール。
[19] 所定の処理を実現するプログラムを生成するためのパラメータの入力画面を形成す る画面情報を、ネットワークを介して取得する取得部と、
前記画面情報に基づいて前記入力画面を表示部に表示する表示処理部と、 前記入力画面に応じたパラメータの入力を受け付け、そのパラメータを管理する管 理部と、
前記管理部が管理してレ、るパラメータを、前記プログラムを生成する生成装置に前 記ネットワークを介して出力する送信部と、
をコンピュータに実現させるためのプログラム生成プログラム。
[20] 所定の処理を実現するプログラムを生成するためのパラメータの入力画面を形成す る画面情報を、ネットワークを介して取得する取得部と、
前記画面情報に基づいて前記入力画面を表示部に表示する表示処理部と、 前記入力画面に応じたパラメータの入力を受け付け、そのパラメータを管理する管 理部と、
前記管理部が管理してレ、るパラメータを、前記プログラムを生成する生成装置に前 記ネットワークを介して出力する送信部と、
をコンピュータに実現させるためのプログラム生成モジュール。
PCT/JP2004/011779 2003-08-20 2004-08-17 プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール WO2005020071A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005513283A JP4220520B2 (ja) 2003-08-20 2004-08-17 プログラム生成システムおよびプログラム生成プログラム
EP04771740A EP1657637A4 (en) 2003-08-20 2004-08-17 PROGRAMMING SYSTEM, PROGRAMMING PROGRAM AND PROGRAMMING MODULE
US10/568,504 US7784023B2 (en) 2003-08-20 2004-08-17 Program creating system, program creating program, and program creating module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003296762 2003-08-20
JP2003-296762 2003-08-20

Publications (1)

Publication Number Publication Date
WO2005020071A1 true WO2005020071A1 (ja) 2005-03-03

Family

ID=34213596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/011779 WO2005020071A1 (ja) 2003-08-20 2004-08-17 プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール

Country Status (7)

Country Link
US (1) US7784023B2 (ja)
EP (1) EP1657637A4 (ja)
JP (1) JP4220520B2 (ja)
KR (1) KR100855252B1 (ja)
CN (1) CN1864132A (ja)
TW (1) TW200513875A (ja)
WO (1) WO2005020071A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007084265A1 (en) * 2006-01-23 2007-07-26 Microsoft Corporation Techniques for generating and executing browser-hosted applications
JP2008242873A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ソフトウェア自動構成装置及び方法
JPWO2020202331A1 (ja) * 2019-03-29 2020-10-08

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864133A (zh) * 2003-08-20 2006-11-15 日本烟草产业株式会社 程序生成系统、程序生成程序和程序生成模块
US20090083732A1 (en) * 2007-09-26 2009-03-26 Microsoft Corporation Creation and deployment of distributed, extensible applications
ITTO20070915A1 (it) * 2007-12-19 2009-06-20 Antonio Remollino Procedimento per la verifica di codici per elaboratore e relativo sistema di verifica
CN102226916B (zh) * 2011-05-30 2015-07-29 华为技术有限公司 管理应用程序的平台、方法及设备
CN103186381B (zh) * 2012-12-30 2017-04-26 网易(杭州)网络有限公司 一种用于实现目标定点飞行的方法和装置
CN103176801B (zh) * 2013-03-18 2016-11-23 北京首开世纪科技有限公司 一种表项操作接口函数的生成方法及装置
CN104317604A (zh) * 2014-11-13 2015-01-28 中国建设银行股份有限公司 一种程序代码生成方法及装置
TWI638276B (zh) * 2017-04-28 2018-10-11 如如研創股份有限公司 物料表形式之結構化設計規格書產生方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108634A (ja) * 2000-10-02 2002-04-12 Seiko Epson Corp 情報処理方法、情報処理装置および情報処理プログラムを記録した記録媒体
US20020078168A1 (en) * 2000-09-06 2002-06-20 Jacob Christfort Developing applications online
JP2002182910A (ja) * 2000-12-11 2002-06-28 Sharp Corp アプリケーション開発方法及びアプリケーション開発環境システム
JP2003044432A (ja) * 2001-07-31 2003-02-14 Faruma Minami Osaka:Kk プログラム開発システム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63278145A (ja) * 1987-05-11 1988-11-15 Nec Corp パラメ−タ対応検査方式
US5937188A (en) * 1994-05-16 1999-08-10 British Telecommunications Public Limited Company Instruction creation device
JPH09212352A (ja) * 1996-01-31 1997-08-15 Hitachi Software Eng Co Ltd プログラム開発支援システム
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
JPH11237980A (ja) * 1998-02-20 1999-08-31 Hitachi Ltd オブジェクト指向最適化コード生成装置及び方法
US7016864B1 (en) 1999-04-09 2006-03-21 Dell Usa, L.P. Interactive upsell advisor method and apparatus for internet applications
WO2001059569A2 (en) * 2000-02-09 2001-08-16 Apriva, Inc. Communication systems, components, and methods with programmable wireless devices
US6681386B1 (en) 2000-05-22 2004-01-20 International Business Machines Corporation Method, system, and program for parameter expansion, generation, and execution of scripts in a networked environment
US7155381B2 (en) * 2001-03-12 2006-12-26 Sun Microsystems, Inc. Module for developing wireless device applications using an integrated emulator
CA2381832A1 (en) * 2001-04-17 2002-10-17 Accelio Corporation Method and system for cross-platform form creation and deployment
US20040205706A1 (en) * 2001-05-31 2004-10-14 Portwood Michael T. Method for the automatic generation of computer programs which interact with existing objects
US7043716B2 (en) 2001-06-13 2006-05-09 Arius Software Corporation System and method for multiple level architecture by use of abstract application notation
JP2003022184A (ja) 2001-07-06 2003-01-24 Ntt Docomo Kansai Inc アプリケーションプログラム生成システム、データ処理装置、アプリケーションプログラム提供装置、コンピュータプログラム、及び記録媒体
JP2003076544A (ja) * 2001-08-30 2003-03-14 Nippon Yunishisu Kk ウェブアプリケーション開発方法及び装置
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US20030140333A1 (en) * 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
US20030135842A1 (en) * 2002-01-16 2003-07-17 Jan-Erik Frey Software development tool for embedded computer systems
JP2003208307A (ja) 2002-01-16 2003-07-25 Hitachi Software Eng Co Ltd ソースプログラム生成システム
US7152229B2 (en) * 2002-01-18 2006-12-19 Symbol Technologies, Inc Workflow code generator
US20030149958A1 (en) * 2002-02-06 2003-08-07 Shumeet Baluja Automatic code generation for applications which run on common platforms
JP2003337644A (ja) * 2002-03-14 2003-11-28 Sony Corp 電子機器装置、プログラム、プログラム提供装置及び記録媒体
CA2418670A1 (en) * 2003-02-11 2004-08-11 Ibm Canada Limited - Ibm Canada Limitee Method and system for generating executable code for formatiing and printing complex data structures
US20040181777A1 (en) * 2003-03-14 2004-09-16 Swee-Koon Fam Method and device for programming electronic devices using a uniform parameter format
CN1864133A (zh) * 2003-08-20 2006-11-15 日本烟草产业株式会社 程序生成系统、程序生成程序和程序生成模块

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078168A1 (en) * 2000-09-06 2002-06-20 Jacob Christfort Developing applications online
JP2002108634A (ja) * 2000-10-02 2002-04-12 Seiko Epson Corp 情報処理方法、情報処理装置および情報処理プログラムを記録した記録媒体
JP2002182910A (ja) * 2000-12-11 2002-06-28 Sharp Corp アプリケーション開発方法及びアプリケーション開発環境システム
JP2003044432A (ja) * 2001-07-31 2003-02-14 Faruma Minami Osaka:Kk プログラム開発システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1657637A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007084265A1 (en) * 2006-01-23 2007-07-26 Microsoft Corporation Techniques for generating and executing browser-hosted applications
JP2008242873A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ソフトウェア自動構成装置及び方法
JPWO2020202331A1 (ja) * 2019-03-29 2020-10-08
WO2020202331A1 (ja) * 2019-03-29 2020-10-08 武蔵精密工業株式会社 検査システム及び検査方法
JP7233521B2 (ja) 2019-03-29 2023-03-06 Musashi AI株式会社 検査システム及び検査方法

Also Published As

Publication number Publication date
US7784023B2 (en) 2010-08-24
JPWO2005020071A1 (ja) 2007-11-01
EP1657637A4 (en) 2010-01-13
EP1657637A1 (en) 2006-05-17
CN1864132A (zh) 2006-11-15
KR20060033929A (ko) 2006-04-20
TWI319150B (ja) 2010-01-01
KR100855252B1 (ko) 2008-09-01
TW200513875A (en) 2005-04-16
JP4220520B2 (ja) 2009-02-04
US20070168911A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
US10664651B2 (en) Forms conversion and deployment system for mobile devices
US7313564B2 (en) Web-interactive software testing management method and computer system including an integrated test case authoring tool
KR101033017B1 (ko) 변경 요청 폼 주석
CA2684822C (en) Data transformation based on a technical design document
CN111832236B (zh) 一种芯片回归测试方法、系统、电子设备及存储介质
US20130254139A1 (en) Systems and methods for building a universal intelligent assistant with learning capabilities
JP4568262B2 (ja) データ収集システム
CN111459495B (zh) 单元测试代码文件生成方法、电子装置及存储介质
CN103377127A (zh) 网页产品的开发测试系统、测试方法及装置
WO2005020070A1 (ja) プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール
CN110955600B (zh) 接口测试方法及装置
JP4220520B2 (ja) プログラム生成システムおよびプログラム生成プログラム
US11846972B2 (en) Method and apparatus for generating software test reports
CN111866158B (zh) 路由方法、装置、计算机设备和存储介质
JP6919420B2 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
CN112667202A (zh) Mda与bpmn相结合的软件设计方法和装置
CN112015429A (zh) 一种代码生成方法、装置及设备
CN111124815A (zh) 一种日志查看方法、装置、设备及存储介质
Bodhuin et al. A search-based approach for dynamically re-packaging downloadable applications
CN113687965B (zh) 数据交互方法、装置、设备及存储介质
KR100727083B1 (ko) 웹 기반 프로그램 관리 방법 및 시스템
CN114265847A (zh) 数据库表信息记录方法及装置
CN114610292A (zh) 应用开发方法、装置及计算机设备
CN111158695A (zh) 接口定位方法、装置、计算机设备和存储介质
KR20010025674A (ko) 서버 사이드 스크립트의 자동 생성을 통한 동적인홈페이지 자동 구축 시스템 및 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480029022.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005513283

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020067003414

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004771740

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067003414

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004771740

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007168911

Country of ref document: US

Ref document number: 10568504

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10568504

Country of ref document: US