WO2011108193A1 - プログラム作成支援装置、プログラム、および、情報システム - Google Patents
プログラム作成支援装置、プログラム、および、情報システム Download PDFInfo
- Publication number
- WO2011108193A1 WO2011108193A1 PCT/JP2011/000672 JP2011000672W WO2011108193A1 WO 2011108193 A1 WO2011108193 A1 WO 2011108193A1 JP 2011000672 W JP2011000672 W JP 2011000672W WO 2011108193 A1 WO2011108193 A1 WO 2011108193A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- user
- management table
- individual
- basic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
Definitions
- the present invention relates to a program creation support device, a program, and an information system, and in particular, a program creation support device, a program, and a program that support creation of a program that meets the needs of different users based on a basic application program, and , Information systems.
- Patent Document 1 Japanese Patent Application Laid-Open No. 2008-117067.
- Annotation refers to information that means individual elements of a program, and unlike comments, it is not deleted at compile time.
- the system described in Patent Document 1 having such a configuration operates as follows. That is, the annotation detection unit identifies individual situations, the input interface conversion unit changes the input interface, the output interface conversion unit changes the output interface, and the new model generation unit generates a design model that calls the changed interface. The result is stored in the design model storage unit.
- Patent Document 2 Japanese Patent Laid-Open No. 2007-213487.
- the system described in Patent Document 2 includes a user interface management unit, a class information analysis unit, an advice analysis unit, and an aspect generation unit.
- an aspect refers to processing that is independent of application functional requirements such as log output.
- a process independent of the functional requirements of the application is implemented by incorporating the aspect into the application program when the program is deployed or executed.
- the definition of specific processing of an aspect is called advice.
- the position in the application program that incorporates the aspect is called a pointcut.
- the description of the aspect includes advice and pointcuts.
- the system described in Patent Document 2 having such a configuration operates as follows. That is, the class information analysis unit generates a class or method candidate defined in the aspect.
- the advice analysis unit generates data structure candidates to be included in the advice.
- the user interface management unit displays these candidates, and the user selects the candidates.
- the aspect generation unit generates an aspect based on the selection result.
- a customized program corresponding to individual user requirements can be created by using a multiple deployment program that branches to a different program sequence for each user by referring to a user identifier when the program is deployed or executed. it can.
- a framework program that represents the logic of branching to a different program sequence for each user with reference to the user identifier is automatically inserted into the application program. Even if it is not specified in the application program, a different program sequence is executed for each user.
- the above-described method for creating an aspect according to the aspect-oriented programming technique has a problem that it is difficult to grasp a custom program for each user (an effective program different for each user).
- the reason for this is that many individual user requirements are implemented together in one aspect, or individual requirements for one user are implemented separately in multiple aspects. It is necessary to grasp and becomes complicated.
- An object of the present invention is to provide a program creation support apparatus, a program, and an information system that solve the complexity of editing work at the time of program development, which is the problem described above.
- the program creation support device of the present invention is a program creation support device that creates the application program that realizes the individual requirements for each user together with the basic program.
- the program creation support apparatus includes: A basic program management table for managing a plurality of program sequences constituting a basic program common to users of application programs to be developed, and a program sequence for realizing individual requirements that can be defined for each user separately from the basic program A table storage device for storing an individual requirement management table and a user management table for managing the individual requirements in association with each user; A model storage device that stores a model for generating an aspect that realizes the individual requirements; Referencing the table storage device, presenting a program to be edited to a program developer, receiving an editing operation for inserting the individual requirements that can be defined for each user in the basic program, and according to the received editing operation, the program A program editing means for editing The individual requirements received by the program editing means are registered and managed in the user management table, the basic program management table, and the individual requirement management table in association with the target program sequence of the basic program for
- the information system of the present invention is A basic program management table for managing a plurality of program sequences constituting a basic program common to users of application programs to be developed, and a program sequence for realizing individual requirements that can be defined for each user separately from the basic program
- a table storage device for storing an individual requirement management table and a user management table for managing the individual requirements in association with each user
- a program storage device for storing a plurality of the program sequences of the basic program of the application program and the program sequences for realizing the individual requirements
- a model storage device that stores a model for generating an aspect that realizes the individual requirements
- Program editing means for referring to the table storage device, presenting a program to be edited to a program developer, accepting an editing operation for inserting the individual requirements that can be defined for each user in the basic program, and editing the program
- the individual requirements received by the program editing means are registered and managed in the user management table, the basic program management table, and the individual requirement management table in association with the target program sequence of the basic program for each target user.
- Individual requirement management means Referring to the table storage device and the template storage device, and combining the aspect using the template according to the user management table, the basic program management table, and the individual requirement management table; Program execution means for executing the application program that incorporates the aspect synthesized by the synthesis means and implements the individual requirements for each user together with the basic program.
- the program of the present invention A program for causing a computer to realize a program creation support device for creating an application program to be developed,
- the program creation support device A basic program management table for managing a plurality of program sequences constituting a basic program common to users of the application program, and an individual requirement for managing a program sequence for realizing individual requirements that can be defined for each user separately from the basic program
- a table storage device for storing a management table and a user management table for managing the individual requirements in association with each user
- a model storage device that stores a model for generating an aspect that realizes the individual requirements
- a display unit that displays and presents an operation screen to the program developer;
- An operation unit that receives an operation of the program developer,
- a plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.
- the data processing method and the computer program of the present invention describe a plurality of procedures in order, the described order does not limit the order in which the plurality of procedures are executed. For this reason, when implementing the data processing method and computer program of this invention, the order of the several procedure can be changed in the range which does not interfere in content.
- the data processing method and the plurality of procedures of the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.
- a program creation support apparatus for generating a program, a program, and an information system that solve the complexity of editing work during program development.
- the information system of this embodiment provides online services to many tenant companies by using developed application programs.
- a user is, for example, a tenant company, and refers to a user of an information system that provides an online service using a developed application program.
- Each user can make a contract for using the information system in advance, obtain a user account, log in to the system using a user ID and password, and use the service.
- the information system of this embodiment creates and executes a custom program in which processing is added to an application program that is a basic program in order to satisfy each user (tenant company) unique requirements, for example, different data and processing requirements.
- each user tenant company
- unique requirements for example, different data and processing requirements.
- processing independent of the functional requirements of the application is implemented by incorporating the aspect into the application program when the program is deployed or executed.
- the definition of specific processing of an aspect is called advice.
- a position in an application program that incorporates an aspect is called a point cut.
- the description of the aspect includes advice and pointcuts.
- FIG. 1 is a functional block diagram showing a configuration of a program creation support apparatus 100 according to an embodiment of the present invention.
- the program creation support apparatus 100 of this embodiment is an application program that realizes individual requirements for each user together with a basic program so that a program developer can easily develop and maintain a custom program for each tenant corresponding to the individual tenant requirements. It helps to create.
- the program developer and the user are different users, but the present invention is not limited to this.
- the user can customize the program using the program creation support apparatus 100.
- the program creation support apparatus 100 includes a basic program management table 112 that manages a plurality of program sequences that constitute a basic program common to users of application programs to be developed, and a user separately from the basic program.
- An individual requirement management table 114 that manages a program sequence that realizes individual requirements that can be defined for each user, a table storage unit 110 that stores a user management table 116 that manages individual programs in association with each other, and an aspect that realizes individual requirements Editing that refers to a template storage unit 122 that stores a template for generating a file and a table storage unit 110, presents the program to be edited to the program developer, and inserts individual requirements that can be defined for each user into the basic program Accept the operation, to the accepted editing operation
- the program creation support apparatus 100 includes, for example, a CPU (Central Processing Unit), a memory, a hard disk, and a communication device (not shown), and is connected to an input device such as a keyboard and a mouse and an output device such as a display and a printer. It can be realized by a server computer, a personal computer, or a device corresponding to them. Each function of each unit can be realized by the CPU reading the program stored in the hard disk into the memory and executing it.
- the configuration of parts not related to the essence of the present invention is omitted and is not shown.
- the application program customized for each user (tenant company) created by the program creation support device 100 of the present embodiment is executed by the information system 1 shown in FIG. 2, and a service is provided to the user terminal 20 of each user. .
- Each component of the information system is composed mainly of a CPU, a memory, a program for realizing the components of this figure loaded in the memory, a storage unit such as a hard disk for storing the program, and a network connection interface. It is realized by any combination of hardware and software. It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus. Each figure described below shows functional unit blocks, not hardware unit configurations.
- the information system 1 includes a provided program storage device 10, a program providing server 12, a program creation support device 100, and user terminals 20 (user terminals U1, U2,. , User terminals Un, (where n is a natural number), and these are connected via the network 3.
- the provided program storage device 10 has a basic program management table 112 registered in the table storage unit 110 of the program creation support apparatus 100, an individual requirement management, and a program sequence that satisfies the basic program and individual requirements so that a custom program can be executed.
- a table 114 and a user management table 116 are copied and stored.
- the program providing server 12 executes the basic program by incorporating aspects into the basic program based on the information stored in the basic program management table 112, the individual requirement management table 114, and the user management table 116.
- a service can be provided to the terminal 20.
- a custom program customized according to a request for each user developed by the program creation support device 100 may be stored in the provided program storage device 10 and executed by the program providing server 12 in response to a user request.
- the program providing server 12 may include a storage unit similar to the table storage unit 110 of the program creation support apparatus 100, or the table storage unit 110 may be configured to be shared from the program creation support apparatus 100 and the program provision server 12. . Further, the provided program storage device 10 and the development program storage unit 120 may be included in the same storage device.
- the program creation support apparatus 100 does not necessarily need to be connected to the network 3 and may have a configuration independent of the network 3.
- the customization program created by the program creation support device 100 may be stored in the provided program storage device 10 via a recording medium.
- the program provision server 12 is set as the structure which provides the service using an application program online to the user terminal 20 of a tenant company, it is not limited to this.
- the program providing server 12 creates a customized program according to each user's request based on the basic program, and provides it to the user terminal 20 of each tenant company offline or online.
- the system may be executable.
- the information system 1 stores the program creation support apparatus 100 of FIG. 1, a plurality of program sequences of the basic program of the application program, and a program sequence that realizes individual requirements.
- the program execution unit (program providing server) that executes the application program that incorporates the aspect synthesized by the development program storage unit 120 and the aspect synthesis unit 140 of the program creation support apparatus 100 and realizes individual requirements for each user together with the basic program 12 or a program creation support apparatus 100).
- the program creation support apparatus 100 includes a table storage unit 110, a table management unit 118, a development program storage unit 120, a model storage unit 122, an individual requirement management unit 128, and a program editing program.
- Unit 130, operation unit 132, display unit 134, aspect composition unit 140, and aspect storage unit 142 are included in the program creation support apparatus 100.
- the operation unit 132 includes an input device such as a keyboard and a mouse connected to a computer that implements the program creation support apparatus 100, and accepts an operation used by a program developer.
- the display unit 134 displays various screens on a display or the like connected to a computer that implements the program creation support apparatus 100 so that the program developer can refer to various information by presenting the various information.
- the development program storage unit 120 stores a basic program of an application program to be developed and a program including a program sequence that realizes individual requirements specific to each user.
- the table storage unit 110 stores a basic program management table 112, an individual requirement management table 114, and a user management table 116.
- the development program storage unit 120 is configured to be included in the program creation support apparatus 100, but is not necessarily included in the program creation support apparatus 100, and is not necessarily included in the program creation support apparatus 100. Any configuration can be used as long as the program stored in the program storage unit can be read from the unit.
- the table management unit 118 manages the basic program management table 112, the individual requirement management table 114, and the user management table 116 stored in the table storage unit 110.
- the management includes a mechanism for permanently holding these management tables in the table storage unit 110, and can access the table storage unit 110 and create, register, update, and reference each management table. It is.
- Each management table can be presented to a program developer by displaying a browsing screen of each management table on the display unit 134.
- the table management unit 118 determines whether or not the management information related to the application program to be developed in the program creation support apparatus 100 of the present embodiment exists in the table storage unit 110. In accordance with the application program, a necessary table is newly created and stored in the table storage unit 110 in association with the application program.
- the basic program management table 112 stores basic program management information of the application program to be developed in the program creation support apparatus 100 of the present embodiment.
- the basic program of this embodiment includes nine program sequences from program sequence A to program sequence I as shown in the basic program list 300 of FIG.
- the basic program is a program in which a plurality of program sequences described in a programming language such as Java (registered trademark) or C ++ are arranged.
- the table management unit 118 determines whether or not the basic program management table 112 of the application program to be developed exists in the table storage unit 110, and if not, based on the application program to be developed, A basic program management table 112 is newly created and stored in the table storage unit 110.
- the basic program management table 112 corresponds to the row numbers of a plurality of program sequences included in the basic program of the development target application program stored in the development program storage unit 120. A program sequence is associated and stored.
- the basic program management table 112 holds information on all program sequences of the basic program. In the present embodiment, it is assumed that the substance of the basic program, that is, the program code is stored in the development program storage unit 120.
- a basic program management table 112 is created with a line number assigned so that it can be pointed.
- the basic program management table 112 associates each program column with each row number, arranges them in order in one column, inserts a blank row between each program column, assigns a row number to each row, The number is managed using the position identifier of the program sequence. For example, the blank number between program column A and program column B is assigned row number # 2, the row number of program column A is # 1, and the row number of program column B is # 3.
- line-by-line management using line numbers as position identifiers for specifying positions in the basic program is the most basic, but in another example, a program sequence over a plurality of lines is defined as one block. It is also possible to manage by a set of program sequences corresponding to block numbers in units of blocks. Also in this case, it is assumed that there is a blank block (empty block) between two consecutive blocks, and the table management unit 118 assigns a block number to indicate the position between the blocks, and the basic program management table. 112 can also be created.
- the individual requirement management table 114 stores at least one pair of individual requirement identification information (individual requirement name) and a set of program sequences representing individual requirements. For example, it is stored as management information that the individual requirement 10 includes a program sequence A10 and a program sequence B10. In the present embodiment, it is assumed that the substance of each program sequence, that is, the program code is stored in the development program storage unit 120.
- the program sequence of the basic program and the program sequence of the individual requirements also store the entity of the program sequence, that is, the program code itself in the basic program management table 112 and the individual requirement management table 114, respectively.
- the development program storage unit 120 may be configured to be unnecessary.
- the user management table 116 stores user-specific individual requirements in association with each user (tenant).
- the user management table 116 includes identification information (user ID (TID)) of a user (tenant), a line number in a basic program that executes an individual requirement, and a user-specific individual that needs to be executed with that line number.
- TID user ID
- Multiple sets of requirement identification information are stored. For example, a user-specific individual requirement 10 and individual requirement 11 with user ID TID0001 are stored in association with row number # 6 and row number # 11, respectively.
- the model storage unit 122 stores at least one model used when an aspect composition unit 140 (to be described later) composes an aspect. As shown in FIGS. 14 and 15, the model storage unit 122 of the program creation support apparatus 100 of this embodiment stores the first aspect model 400 and the second aspect model 420 as models. These templates are basically prepared in advance, but may be newly created, registered, deleted, updated, etc. as necessary by the program editing unit 130 described later.
- the first aspect model 400 is used when an individual requirement is inserted at the position of the line number corresponding to the blank line of the basic program managed in the basic program management table 112.
- the template is a kind of template.
- the insertion part 402 of “Aspect ***” represents an aspect name (aspect ID) that is an identifier unique to an aspect, and may be an arbitrary character string as long as it does not overlap with other aspect names, for example, a serial number.
- the “Before *****” insertion unit 404 describes a program sequence corresponding to the line number next to the line number corresponding to the blank line in the basic program in which the insertion of the individual requirement is specified.
- program column D corresponding to row number # 7 of the next row is described in insertion portion 404.
- the tenant including the line number # 6 in which the individual requirement is inserted has two user IDs “TID0001” and “TID0002”.
- the user ID of TID0001 is described in the insertion unit 406, and the corresponding individual requirement name, “individual requirement 10” in this case, is described in the insertion unit 408 of the corresponding “do ***”.
- the second aspect template 420 is used when an individual requirement is inserted at the position of a line number corresponding to a program column that is not a blank line of the basic program managed in the basic program management table 112.
- a program string that is not a blank line is specified in the insertion part 424 of “Around *****”.
- the other inserts are handled in the same manner as the model shown in FIG. For example, when an individual requirement is inserted into a program column F that is not a blank row, “program column F” corresponding to that row is described in the insertion unit 424.
- the individual requirement management unit 128 manages a program sequence that realizes individual requirements specific to a user that can be defined for each user.
- the program sequence itself can be edited by the program editing unit 130, which will be described later, and may be performed individually or at the time of user application program creation.
- Individual requirements can be stored in the development program storage unit 120 with individual requirement identification information (individual requirement name, etc.).
- a new individual requirement can be registered by the individual requirement management unit 128.
- the individual requirement management unit 128 includes the basic program management table 112, the individual requirement management table 114, and the user management table. 116 is notified to the table management unit 118 to be updated.
- the program editor 130 provides an editor function for developers to edit programs based on basic programs.
- the function of the editor is general, and a program editor screen shown in FIGS. 10 to 13 (to be described later) is displayed on a display unit 134 such as a computer display that implements the program creation support apparatus 100 to be edited by the program developer.
- the target program is presented, and the operation unit 132 accepts an operation using an input device such as a keyboard and a mouse by a program developer, and can create, modify, or delete a program sequence.
- the program editing unit 130 notifies the table management unit 118 and the individual requirement management unit 128 to create and update the basic program management table 112, the individual requirement management table 114, and the user management table 116.
- the program editing unit 130 can designate a development target user (tenant) and display the editing screen as a user screen dedicated to the target user.
- the user information set for each user for example, by logging in to the system with the user ID and password, the authenticated user only It may be possible to use the user screen.
- the aspect compositing unit 140 is based on the basic program management table 112, the individual requirement management table 114, and the user management table 116 managed by the table management unit 118 according to the model stored in the model storage unit 122. Synthesize aspects that implement individual requirements.
- the aspect synthesized by the aspect synthesizing unit 140 is woven into the basic program and executed by the program providing server 12 of FIG. 2, and the service is provided to the user terminal 20 of the user via the network 3. It will be.
- the aspect synthesized by the program creation support device 100 and the basic program are stored in the provided program storage device 10 of FIG. 2 as a custom program for each user, and in response to a user request, the program providing server 12 receives the user's request. It is also possible to provide a service to the user terminal 20 by executing a custom program every time.
- the aspect synthesized by the aspect synthesis unit 140 can be stored in the aspect storage unit 142.
- the aspect may be stored in the development program storage unit 120.
- the program according to the present embodiment is a program for causing a computer to realize a program creation support apparatus that creates an application program to be developed. Refer to the table storage device for the computer for realizing the program creation support apparatus 100. Then, a procedure for displaying an editing screen (program editor screen 210 in FIG. 10) for editing the program to be edited to the program developer on the display unit 134 (FIG. 1) and an operation unit 132 ( 1), a procedure for accepting an editing operation for inserting an individual requirement that can be defined for each user into the basic program, a procedure for editing the program according to the accepted editing operation, and a basic program for each user who receives the accepted individual requirement.
- an editing screen program editor screen 210 in FIG. 10
- FIG. 1 an operation unit 132
- the computer program of this embodiment may be recorded on a computer-readable storage medium.
- the recording medium is not particularly limited, and various forms can be considered.
- the program may be loaded from a recording medium into a computer memory, or downloaded to a computer through a network and loaded into the memory.
- FIG. 6 is a flowchart showing an example of the operation of the program creation support apparatus 100 of this embodiment.
- the data processing method is an editing screen (the program editor screen in FIG. 10) that allows the program creation support apparatus 100 (FIG. 1) to refer to the table storage unit 110 and edit the program to be edited by the program developer. 210) is displayed and presented on the display unit 134 (FIG. 1), accepts an editing operation for inserting individual requirements that can be defined for each user into the basic program using the operation unit 132 (FIG. 1) by the program developer, The program is edited according to the received editing operation, and the received individual requirements are associated with the target program sequence of the basic program for each target user, and the user management table 116 (FIG. 1) and the basic program management table 112 (FIG. 1). And the individual requirement management table 114 (FIG.
- the program editing unit 130 starts from the development program storage unit 120 (FIG. 1).
- a program is read (step S101).
- a basic program management table 112 (FIG. 1), an individual requirement management table 114 (FIG. 1), and a user management table 116 (FIG. 1) corresponding to the basic program read by the program editing unit 130 are stored in the table storage unit 110 (FIG. 1).
- the table management unit 118 refers to the table storage unit 110 to determine whether each table exists.
- the table management unit 118 When the table is not registered (NO in step S103), the table management unit 118 newly adds the basic program management table 112, the individual requirement management table 114, and the user management table 116 for the read basic program. It is created and stored in the table storage unit 110 (step S121). Then, the process proceeds to step S105.
- the program editing unit 130 refers to the table storage unit 110, and stores the basic program management table 112, the individual requirement management table 114, and the user management table 116. Read from the table storage unit 110 (step S105).
- the program editor screen 210 of FIG. 10 is displayed by the program editing unit 130 on the display unit 134 (FIG. 1) of the program creation support apparatus 100.
- the user designation screen 200 of FIG. 8 may be displayed on the display unit 134 of the program creation support apparatus 100 before step S101 or step S107.
- the user designation screen 200 includes a user ID designation column 202 and an OK button 204.
- the program developer uses the operation unit 132 to input the user of the program to be edited, that is, the tenant ID, in the user ID designation field 202 or to select it by a pull-down menu or the like.
- the OK button 204 the user ID designated in the user ID designation column 202 is accepted.
- An example of a screen for editing the user's custom program designated on the user designation screen 200 in FIG. 8 is a program editor screen 210 in FIG.
- the program editor screen 210 displays the basic program list 300 of FIG. 9 as an editing target.
- a row number 212 is assigned to each program column of the basic program. As shown in FIG. 10, it is considered that there is a blank line between consecutive program sequences, and a line number 212 is also assigned to the blank line.
- the identification information of the user (tenant) to be edited designated on the user designation screen 200 of FIG. 8 described above, “TID0001” is displayed in FIG.
- the position of the cursor 216 is highlighted.
- the program developer can also use the operation unit 132 to move the pointer 218 and specify the editing position. In this way, the program developer can edit the character indicated by the cursor 216 and the position indicated by the mouse pointer 218 using a keyboard or the like. In this way, the program developer can edit and manage the individual requirements for each user.
- the program editing unit 130 receives a program sequence describing individual requirements for each user created by the program developer using the operation unit 132 on the program editor screen 210 (step S107).
- the program sequence received by the program editing unit 130 is registered in the development program storage unit 120 by the individual requirement management unit 128, and the table management unit 114 updates the individual requirement management table 114 and the user management table 116. 118 is notified.
- the program editing unit 130 presents a presentation unit (program editor screen 210 in FIG. 10) that presents a plurality of program sequences of the basic program to the program developer, and a presentation unit as an insertion position for inserting the individual requirements of the target user.
- the individual requirement management unit 128 associates the insertion position received by the program editing unit 130 with the individual requirements for each user, by accepting the program developer specifying the positions of a plurality of program sequences of the basic program presented in FIG. Then, 118 is notified to be registered and managed in the user management table 116 and the individual requirement management table 114.
- the program developer can edit the program by inserting individual requirements for each user while referring to a plurality of program sequences of the presented basic program.
- the table management unit 118 receives the notification from the individual requirement management unit 128 and updates the individual requirement management table 114 and the user management table 116 in the table storage unit 110 (step S109).
- the aspect composition unit 140 refers to the model storage unit 122 and the table storage unit 110, and reads the template, the basic program management table 112, the individual requirement management table 114, and the user management table 116 (step S111). Then, the aspect synthesis unit 140 synthesizes the description of the corresponding aspect for each point cut based on these pieces of information (step S113). The synthesized aspect is stored in the development program storage unit 120. Details of the aspect compositing process will be described later.
- the program providing server 12 (FIG. 2) as a program execution unit reads the aspect synthesized with the basic program, and executes the program while incorporating the aspect into the basic program according to the aspect-oriented programming technique (step S115). Accordingly, a service using an application program that satisfies different individual requirements for each user can be provided to the user terminal 20 of each user.
- FIG. 10 For example, as shown in FIG. 10, on the program editor screen 210, the program developer uses the operation unit 132 (FIG. 1) at the position of the sixth blank line between the program sequence C and the program sequence D of the basic program. The pointer 218 is moved and selected. Then, as shown in FIG. 11, the individual requirement editing column 220 is expanded, and the program string describing the individual requirements of the user of TID0001 can be edited. In the example of FIG. 11, the individual requirement editing column 220 is configured to be expanded on the program editor screen 210, but the present invention is not limited to this, and another window can be opened for editing. Also good.
- the program developer describes a program sequence corresponding to the individual requirement 10 of the user of TID0001 in the individual requirement editing column 220 using the operation unit 132.
- “individual requirement 10” is described.
- the individual requirement 10 is a plurality of program strings, for example, A10, B10,. . . It can be made the content.
- the program developer further sets the pointer 218 at the position of the program string F corresponding to the eleventh line by using the operation unit 132. Move and select.
- the individual requirement edit column 220 is expanded at the position of the eleventh row, and a program sequence corresponding to the individual requirement 11 of the user with TID0001 can be further described there.
- the individual requirement management table 114 in FIG. 4 the individual requirement 11 includes a plurality of program strings, for example, A11, B11,. . . It can be made the content.
- the individually edited individual requirement 10 is inserted into line number # 6 and presented on the program editor screen 210 as an edited individual requirement column 222.
- the program editing unit 130 reads the basic program from the development program storage unit 120, and a program editor screen 210 for the user of TID0002 is displayed on the display unit 134 as shown in FIG.
- the program can be edited in the same way as the user of TID0001.
- the program developer moves the pointer 218 to the position of the sixth blank line between the program sequence C and the program sequence D of the basic program using the operation unit 132, select.
- the individual requirement editing column 220 is expanded, and a program string describing the individual requirements of the user of TID0002 can be edited.
- the program developer describes the program sequence corresponding to the individual requirement 20 of the user of TID0002 in the individual requirement editing column 220 using the operation unit 132.
- the individual requirement 20 includes a plurality of program strings, for example, A20, B20,. . . It can be made the content.
- the program editing unit 130 accepts the editing contents of these programs.
- the individual requirement management unit 128 stores a program sequence describing each received individual requirement in the development program storage unit 120, and stores the individual requirement management table 114 of the table storage unit 110 in the table management unit 118 and the individual requirement management unit 128.
- the user management table 116 is notified to be updated. Note that the timing at which the program editing unit 130 instructs the table management unit 118 and the individual requirement management unit 128 to update each table is not limited to this. For example, an instruction from the program developer may be received and updated in the middle, or it may be updated periodically, or the definition for each user may be completed.
- the individual requirement management table 114 in the table storage unit 110 is updated as shown in FIG. 4, and the user management table 116 in the table storage unit 110 is updated as shown in FIG.
- the present invention is not limited to this.
- the individual requirement management of the table storage unit 110 has already been performed on the program editor screen 210. It is also possible to read out the individual requirements registered in the table 114, present them to the program developer, and insert the selected individual requirements at the designated line position of the basic program.
- the program sequence describing the already registered individual requirements can be changed on the individual requirement editing column 220 of the program editor screen 210.
- the aspect composition unit 140 reads the basic program management table 112, the individual requirement management table 114, and the user management table 116 from the table storage unit 110, and reads the template from the model storage unit 122. .
- the above-described two types of templates shown in FIGS. 14 and 15 are prepared in advance, and these are read out.
- FIG. 1 The process shown in this flowchart is the detailed process of step S113 in FIG.
- the aspect composition unit 140 (FIG. 1) performs the following processing. Referring to the user management table 116 in FIG. 5, it is detected from the user management table 116 that there are individual requirements to be inserted in the sixth and eleventh lines (step S201). Therefore, first, the aspect to be woven into the sixth line is synthesized. Thereafter, step S205 to step S225 are repeated for each row detected in step S201 (step S203). Note that when the process is completed for all the rows (step S227), the present process is terminated.
- step S205 it is determined whether or not the line in which the individual requirement is inserted is a blank line.
- the sixth line is a blank line (YES in step S205)
- the first aspect template 400 of FIG. 14 corresponding to the blank line is selected and used (step S207).
- the insertion part 402 of “Aspect ***” describes an aspect name (aspect ID), for example, “XXX” (step S211).
- the program sequence corresponding to the line number next to the line number corresponding to the blank line in the basic program in which the insertion of the individual requirement is designated,
- the “program column D” corresponding to the row number # 7 of the row next to # 6 of the blank row is acquired and described in the insertion section 404 of “Before ***” (step S215).
- a set of a user ID (TID) and individual requirements in which the individual requirements are described in the corresponding line, here, line number # 6 is acquired (step S219).
- TID0001 and individual requirement 10 two sets of TID0001 and individual requirement 10, and TID0002 and individual requirement 20 are acquired.
- step S223 is repeated for each user ID (step S221).
- the process is repeated until all the user IDs acquired in step S219 are completed (step S225).
- step S225 When all the user IDs are completed, the process proceeds to step S227.
- a program string (contents such as A10, B10,...) Representing the individual requirement 10 corresponding to the sixth line of the user ID TID0001 is described.
- step S201 the process is repeated for the line number # 11 that has not been processed among the lines detected in step S201. That is, returning to step S205, the aspect to be woven into the 11th row of the user management table 116 is synthesized.
- the line in which the individual requirement is inserted is a blank line. Since the 11th line is not a blank line (NO in step S205), the second aspect template 420 in FIG. Select and use (step S209).
- the insertion part 402 of “Aspect ***” describes an aspect name (aspect ID), for example, “YYY” (step S211).
- aspect ID aspect name
- the program sequence in the basic program in which the insertion of the individual requirement is designated in this case, “program sequence F” is acquired, and “Around * ** ”is described in the insertion portion 424 (step S217).
- a set of the user ID (TID) and the individual requirement in which the individual requirement is described in the corresponding line, here, the line number # 11 is acquired (step S219).
- one set of TID0001 and individual requirement 11 is acquired.
- the insertion part 408 of “do ***” a program sequence (contents such as A11, B11,...) Representing the individual requirement 11 corresponding to the 11th line of the user ID TID0001 is described (steps). S223).
- FIG. 17 shows the aspect 460 obtained as a result.
- this processing is terminated. In this way, the aspects to be woven into each user's program are combined and stored in the aspect storage unit 142.
- the program developed by the program creation support device 100 is copied and stored in the provided program storage device 10 from the development program storage unit 120 and the aspect storage unit 142.
- the program providing server 12 accesses the provided program storage device 10, reads the two aspects synthesized by the basic program and the program creation support apparatus 100, and executes the program while incorporating the aspects into the basic program according to the aspect-oriented programming technique.
- FIG. 18 shows an example of an effective program 310 that the program providing server 12 executes for the user of TID0001.
- the program providing server 12 executes the individual requirement 10 (reference numeral 312) in front of the program sequence D, and executes the individual requirement 11 (reference numeral 314) instead of the program sequence F.
- An example of an effective program 330 that the program providing server 12 executes for the user of TID0002 is shown in FIG. As described above, the program providing server 12 executes the individual requirement 20 (reference numeral 332) in front of the program sequence D.
- the program creation support apparatus 100 of the present embodiment it is possible to automatically synthesize the corresponding aspect simply by inserting the individual requirements into the basic program on the editing screen provided for each user.
- Program developers can edit data in units of users (tenants) without being aware of aspects.
- the program developer can easily develop and maintain a custom program for each user (tenant) corresponding to the user's individual requirements, improving work efficiency and the burden on the program developer when dealing with the user's individual requirements. be able to.
- program management can be performed in units of users (tenants) when program developers perform program development and bug analysis in program management in units of program implementation and execution. Therefore, it is possible to support the creation of a program suitable for editing and analysis from the viewpoint of the developer.
- the program creation support apparatus of the present invention is a basic program management table for managing a plurality of program sequences constituting a basic program common to users of an application program to be developed, separately from the basic program, for each user.
- a table storage device that stores an individual requirement management table that manages a program string that realizes individual requirements that can be defined, and a user management table that manages the individual requirements in association with each user;
- a model storage device that stores a model for generating an aspect that realizes the individual requirements; Referencing the table storage device, presenting a program to be edited to a program developer, receiving an editing operation for inserting the individual requirements that can be defined for each user in the basic program, and according to the received editing operation, the program A program editing means for editing The individual requirements received by the program editing means are registered and managed in the user management table, the basic program management table, and the individual requirement management table in association with the target program sequence of the basic program for each target user.
- the user comprising: a combining unit that refers to the table storage device and the template storage device, and combines the aspect using the template according to the user management table, the basic program management table, and the individual requirement management table Creating the application program for realizing the individual requirements for each together with the basic program;
- the basic program management table stores a location identifier indicating the location of the plurality of program sequences in the basic program and a corresponding program sequence in association with each other, further,
- the program creation support apparatus wherein the position identifier is a line number assigned to each program row of the basic program.
- the program creation support apparatus wherein the location identifier is a block number representing a plurality of program sequences of the basic program.
- the location identifier is a block number representing a plurality of program sequences of the basic program.
- the program sequence an empty block sequence is defined between two consecutive program sequences, and the block number is a number including the empty block sequence.
- the data processing method of the program creation support device of the present invention is: A data processing method of a program creation support device for creating an application program to be developed,
- the program creation support device A basic program management table for managing a plurality of program sequences constituting a basic program common to users of the application program, and an individual requirement for managing a program sequence for realizing individual requirements that can be defined for each user separately from the basic program
- a table storage device for storing a management table and a user management table for managing the individual requirements in association with each user;
- a model storage device that stores a model for generating an aspect that realizes the individual requirements;
- a display unit that displays and presents an operation screen to the program developer;
- An operation unit that receives an operation of the program developer,
- the program creation support device Referencing the table storage device, presenting an edit screen for editing the program to be edited to the program developer on the display unit, Using the operation unit by the program developer, accepting an editing operation for inserting the individual requirements that can be defined for each user into the basic program, Edit the
Abstract
Description
本発明のプログラム作成支援装置は、
開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集するプログラム編集手段と、
前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、を備える。
開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
アプリケーションプログラムの前記基本プログラムの複数の前記プログラム列および前記個別要件を実現する前記プログラム列を記憶するプログラム記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、前記プログラムを編集するプログラム編集手段と、
前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、
前記合成手段で合成された前記アスペクトを織り込んで、前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行するプログラム実行手段と、を備える。
コンピュータに、開発対象のアプリケーションプログラムを作成するプログラム作成支援装置を実現させるためのプログラムであって、
前記プログラム作成支援装置が、
前記アプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
プログラム開発者に操作画面を表示して提示する表示部と、
前記プログラム開発者の操作を受け付ける操作部と、を備え、
前記コンピュータに、
前記テーブル記憶装置を参照し、前記プログラム開発者に編集対象のプログラムを編集するための編集画面を前記表示部に表示して提示する手順、
前記プログラム開発者による前記操作部を利用した、前記ユーザ毎に定義できる前記個別要件を前記基本プログラムに挿入する編集操作を受け付ける手順、
受け付けた前記編集操作に従って前記プログラムを編集する手順、
受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する手順、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する手順、
前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行する手順を実行させるためのものである。
なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
たとえば、プログラム列Aとプログラム列Bの間の空白の行には、行番号♯2が振られ、プログラム列Aの行番号は♯1、プログラム列Bの行番号は♯3となる。
ひな型の中で記述されるプログラム列は、ユーザIDの取得のプログラム列とユーザIDごとにどの個別要件を実行すべきか振り分ける分岐のプログラム列である。
具体的には、図6に示すように、本実施形態のプログラム作成支援装置100(図1)において、まず、プログラム編集部130(図1)が、開発プログラム記憶部120(図1)から基本プログラムを読み込む(ステップS101)。プログラム編集部130が、読み込んだ基本プログラムに該当する基本プログラム管理テーブル112(図1)、個別要件管理テーブル114(図1)、およびユーザ管理テーブル116(図1)がテーブル記憶部110(図1)にそれぞれ登録されているかどうか、テーブル管理部118(図1)に問い合わせる。テーブル管理部118は、テーブル記憶部110を参照し、各テーブルが存在するか否かを判別する。
この構成により、プログラム開発者は、提示された基本プログラムの複数のプログラム列を参照しながらユーザ毎の個別要件を挿入してプログラムを編集できることとなる。
たとえば、図10に示すように、プログラムエディタ画面210において、基本プログラムのプログラム列Cとプログラム列Dの間の6行目の空白行の位置にプログラム開発者は操作部132(図1)を利用してポインタ218を移動し、選択する。すると、図11に示すように、個別要件編集欄220が展開され、TID0001のユーザの個別要件を記述するプログラム列を編集することができるようになる。なお、図11の例では、プログラムエディタ画面210に個別要件編集欄220が展開されるように構成されているが、これに限定されるものではなく、別のウインドウを開いて編集できるようにしてもよい。
ステップS223では、条件分岐の「if(TID==***)」の挿入部406に、ステップS219で取得したユーザIDであるTIDの0001が記載される。そして、「do ***」の挿入部408には、ユーザIDがTID0001の6行目に対応する個別要件10を表すプログラム列(A10、B10、...といった内容)が記載される。
このようにして各ユーザのプログラムに織り込む各アスペクトが合成され、アスペクト記憶部142に記憶される。
(i) 本発明のプログラム作成支援装置は、開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集するプログラム編集手段と、
前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、を備える前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを作成し、
前記基本プログラム管理テーブルは、前記基本プログラム中の複数の前記プログラム列の位置を示す位置識別子と、対応するプログラム列をそれぞれ関連付けて記憶し、
さらに、
前記位置識別子は、前記基本プログラムの各プログラム列に振られた行番号であるプログラム作成支援装置。
(ii) 上記(i)に記載のプログラム作成支援装置において、
前記位置識別子は、前記基本プログラムの複数のプログラム列を表すブロックの番号であるプログラム作成支援装置。
(iii) 上記(ii)に記載のプログラム作成支援装置において、
前記プログラム列は、連続する2つのプログラム列の間に空ブロック列が定義され、前記ブロックの番号は、前記空ブロック列を含めた番号であるプログラム作成支援装置。
(iv) 本発明のプログラム作成支援装置のデータ処理方法は、
開発対象のアプリケーションプログラムを作成するプログラム作成支援装置のデータ処理方法であって、
前記プログラム作成支援装置が、
前記アプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
プログラム開発者に操作画面を表示して提示する表示部と、
前記プログラム開発者の操作を受け付ける操作部と、を備え、
前記プログラム作成支援装置が、
前記テーブル記憶装置を参照し、前記プログラム開発者に編集対象のプログラムを編集するための編集画面を前記表示部に表示して提示し、
前記プログラム開発者による前記操作部を利用した、前記ユーザ毎に定義できる前記個別要件を前記基本プログラムに挿入する編集操作を受け付け、
受け付けた前記編集操作に従って前記プログラムを編集し、
受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成し、
前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行するプログラム作成支援装置のデータ処理方法である。
Claims (10)
- 開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集するプログラム編集手段と、
前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、を備える前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを作成するプログラム作成支援装置。 - 請求項1に記載のプログラム作成支援装置において、
前記プログラム編集手段は、
前記基本プログラムの複数の前記プログラム列を前記プログラム開発者に提示する提示部と、
対象の前記ユーザの前記個別要件を挿入する挿入位置として、前記提示部に提示された前記基本プログラムの複数の前記プログラム列の位置を前記プログラム開発者に指定させて受け付け、
前記個別要件管理手段は、前記ユーザ毎に、前記プログラム編集手段が受け付けた前記挿入位置と前記個別要件とを関連付けて、前記ユーザ管理テーブルおよび前記個別要件管理テーブルに登録し管理するプログラム作成支援装置。 - 請求項1または2に記載のプログラム作成支援装置において、
前記個別要件管理テーブルは、前記個別要件の識別情報と、前記個別要件を実現する少なくとも1つの前記プログラム列を関連付けて記憶するプログラム作成支援装置。 - 請求項1乃至3いずれかに記載のプログラム作成支援装置において、
前記ユーザ管理テーブルは、前記ユーザごとに、前記個別要件の識別情報と、前記個別要件を挿入する前記基本プログラム中の位置識別子の組を関連付けて記憶するプログラム作成支援装置。 - 請求項1乃至4いずれかに記載のプログラム作成支援装置において、
前記基本プログラム管理テーブルは、前記基本プログラム中の複数の前記プログラム列の位置を示す位置識別子と、対応するプログラム列をそれぞれ関連付けて記憶するプログラム作成支援装置。 - 請求項5に記載のプログラム作成支援装置において、
前記基本プログラム管理テーブルは、前記基本プログラムにおいて、連続する2つの前記プログラム列の間に空白があるとみなし、前記空白の位置を含む前記位置識別子と、対応する前記プログラム列をそれぞれ関連付けて記憶するプログラム作成支援装置。 - 請求項6に記載のプログラム作成支援装置において、
前記ひな型記憶装置は、前記個別要件を挿入する挿入位置に対応する前記位置識別子が指す空白の位置の次のプログラム列の前に挿入するアスペクトを合成するための第1のひな型を記憶し、
前記合成手段は、前記基本プログラム管理テーブルを参照し、前記個別要件を挿入する前記挿入位置が、前記基本プログラム中の空白の位置か否かを判別し、前記空白の位置が指定された場合には、前記第1のひな型を用いて前記挿入位置に対応する前記位置識別子が指す前記空白の位置の次の前記プログラム列の前に挿入するアスペクトを合成するプログラム作成支援装置。 - 請求項6または7に記載のプログラム作成支援装置において、
前記ひな型記憶装置は、前記個別要件を挿入する挿入位置に対応する前記位置識別子が指す位置のプログラム列を上書きして挿入するアスペクトを合成するための第2のひな型を記憶し、
前記合成手段は、前記基本プログラム管理テーブルを参照し、前記個別要件を挿入する前記挿入位置が、前記基本プログラム中の空白の位置か否かを判別し、前記空白の位置を指さない場合には、前記第2のひな型を用いて前記挿入位置に対応する前記位置識別子が指す位置の前記プログラム列を上書きして挿入するアスペクトを合成するプログラム作成支援装置。 - 開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
アプリケーションプログラムの前記基本プログラムの複数の前記プログラム列および前記個別要件を実現する前記プログラム列を記憶するプログラム記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、前記プログラムを編集するプログラム編集手段と、
前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、
前記合成手段で合成された前記アスペクトを織り込んで、前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行するプログラム実行手段と、を備える情報システム。 - コンピュータに、開発対象のアプリケーションプログラムを作成するプログラム作成支援装置を実現させるためのプログラムであって、
前記プログラム作成支援装置が、
前記アプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、
前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、
プログラム開発者に操作画面を表示して提示する表示部と、
前記プログラム開発者の操作を受け付ける操作部と、を備え、
前記コンピュータに、
前記テーブル記憶装置を参照し、前記プログラム開発者に編集対象のプログラムを編集するための編集画面を前記表示部に表示して提示する手順、
前記プログラム開発者による前記操作部を利用した、前記ユーザ毎に定義できる前記個別要件を前記基本プログラムに挿入する編集操作を受け付ける手順、
受け付けた前記編集操作に従って前記プログラムを編集する手順、
受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する手順、
前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する手順、
前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行する手順を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012502979A JP5626333B2 (ja) | 2010-03-05 | 2011-02-07 | プログラム作成支援装置、プログラム、および、情報システム |
US13/582,794 US9116708B2 (en) | 2010-03-05 | 2011-02-07 | Program creation support apparatus, program, and information system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-049333 | 2010-03-05 | ||
JP2010049333 | 2010-03-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011108193A1 true WO2011108193A1 (ja) | 2011-09-09 |
Family
ID=44541864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/000672 WO2011108193A1 (ja) | 2010-03-05 | 2011-02-07 | プログラム作成支援装置、プログラム、および、情報システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9116708B2 (ja) |
JP (1) | JP5626333B2 (ja) |
WO (1) | WO2011108193A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015225598A (ja) * | 2014-05-29 | 2015-12-14 | 富士通株式会社 | 処理プログラム、情報処理装置及び情報処理方法 |
DE112020006373T5 (de) | 2019-12-27 | 2022-10-27 | Omron Corporation | Programmausführungsvorrichtung, Programmausführungsverfahren und Programm |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6186498B2 (ja) * | 2014-03-25 | 2017-08-23 | 富士フイルム株式会社 | 撮像装置及び合焦制御方法 |
KR20160075085A (ko) * | 2014-12-19 | 2016-06-29 | 삼성전기주식회사 | 렌즈 조립체 및 이를 포함하는 카메라 모듈 |
JP6602109B2 (ja) * | 2015-08-28 | 2019-11-06 | キヤノン株式会社 | 制御装置、撮像装置、制御方法、プログラム、および、記憶媒体 |
KR101866826B1 (ko) * | 2015-12-16 | 2018-07-23 | 유환수 | 게임 서버의 운용 에스펙트 호출 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002157117A (ja) * | 2000-11-21 | 2002-05-31 | Mitsubishi Electric Corp | フレームワーク開発支援装置及びフレームワーク開発支援方法 |
JP2002202885A (ja) * | 2000-01-25 | 2002-07-19 | Fujitsu Ltd | データ構造解決ユニットを用いたプログラム自動生成方式 |
JP2004362442A (ja) * | 2003-06-06 | 2004-12-24 | Nippon Steel Corp | プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体 |
JP2009512014A (ja) * | 2005-10-06 | 2009-03-19 | マイクロソフト コーポレーション | オブジェクト合成に対する拡張可能メカニズム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038395A (en) * | 1994-12-16 | 2000-03-14 | International Business Machines Corporation | System and method for implementing proxy objects in a visual application builder framework |
US6134552A (en) * | 1997-10-07 | 2000-10-17 | Sap Aktiengesellschaft | Knowledge provider with logical hyperlinks |
AU5273100A (en) * | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
US6681383B1 (en) * | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
CN1591411A (zh) * | 2001-11-09 | 2005-03-09 | 无锡永中科技有限公司 | 数据处理系统 |
US20030172368A1 (en) * | 2001-12-26 | 2003-09-11 | Elizabeth Alumbaugh | System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology |
US8136094B2 (en) * | 2004-01-07 | 2012-03-13 | International Business Machines Corporation | Relationship management for data modeling in an integrated development environment |
US20070106982A1 (en) * | 2005-11-04 | 2007-05-10 | International Business Machines Corporation | Method, apparatus, and computer program product for model based traceability |
JP2007213487A (ja) | 2006-02-13 | 2007-08-23 | Hitachi Software Eng Co Ltd | アスペクト生成方法及び装置 |
EP2013713A2 (en) * | 2006-04-27 | 2009-01-14 | International Business Machines Corporation | A method and system for generating application data editors |
JP4629646B2 (ja) | 2006-11-01 | 2011-02-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションプログラムを生成するための装置、方法、及びプログラム |
JP2009282777A (ja) * | 2008-05-22 | 2009-12-03 | Hitachi Information Systems Ltd | アプリケーションプログラムの提供システム及びアプリケーションプログラム |
US8327351B2 (en) * | 2009-04-30 | 2012-12-04 | Sap Ag | Application modification framework |
US9164738B2 (en) * | 2009-07-01 | 2015-10-20 | International Business Machines Corporation | Database mapping of models for reporting tools in model driven development |
US8671124B2 (en) * | 2009-07-24 | 2014-03-11 | Ensequence, Inc. | Method for application authoring employing a pre-certified master application template |
-
2011
- 2011-02-07 JP JP2012502979A patent/JP5626333B2/ja not_active Expired - Fee Related
- 2011-02-07 WO PCT/JP2011/000672 patent/WO2011108193A1/ja active Application Filing
- 2011-02-07 US US13/582,794 patent/US9116708B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202885A (ja) * | 2000-01-25 | 2002-07-19 | Fujitsu Ltd | データ構造解決ユニットを用いたプログラム自動生成方式 |
JP2002157117A (ja) * | 2000-11-21 | 2002-05-31 | Mitsubishi Electric Corp | フレームワーク開発支援装置及びフレームワーク開発支援方法 |
JP2004362442A (ja) * | 2003-06-06 | 2004-12-24 | Nippon Steel Corp | プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体 |
JP2009512014A (ja) * | 2005-10-06 | 2009-03-19 | マイクロソフト コーポレーション | オブジェクト合成に対する拡張可能メカニズム |
Non-Patent Citations (1)
Title |
---|
HAYATO KANAI ET AL.: "Aspect-Oriended Method to Change Mechanisms for Model Checking", IPSJ SIG NOTES, vol. 2008, no. 93, 19 September 2008 (2008-09-19), pages 49 - 56 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015225598A (ja) * | 2014-05-29 | 2015-12-14 | 富士通株式会社 | 処理プログラム、情報処理装置及び情報処理方法 |
DE112020006373T5 (de) | 2019-12-27 | 2022-10-27 | Omron Corporation | Programmausführungsvorrichtung, Programmausführungsverfahren und Programm |
Also Published As
Publication number | Publication date |
---|---|
JP5626333B2 (ja) | 2014-11-19 |
US20130007697A1 (en) | 2013-01-03 |
JPWO2011108193A1 (ja) | 2013-06-20 |
US9116708B2 (en) | 2015-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Freeman | Pro Asp. net core MVC | |
JP5626333B2 (ja) | プログラム作成支援装置、プログラム、および、情報システム | |
Ganesh et al. | Openerp/odoo-an open source concept to erp solution | |
US8910113B2 (en) | Methods and systems for visual code refactoring | |
CN109542556B (zh) | 一种基于Activiti的流程与表单交互方法及系统 | |
JP4058118B2 (ja) | プログラム生成システム及び方法 | |
US20070245321A1 (en) | Computer games localisation | |
US20080126925A1 (en) | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems | |
US9524279B2 (en) | Help document animated visualization | |
US20160170719A1 (en) | Software database system and process of building and operating the same | |
CN106775744B (zh) | 一种生成静态库的方法和装置 | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
JP2009020705A (ja) | Guiアプリケーション開発支援装置及び開発支援方法 | |
Rimple et al. | Spring Roo in action | |
Vasic | Mastering Android Development with Kotlin: Deep dive into the world of Android to create robust applications with Kotlin | |
Hindrikes et al. | Xamarin. Forms Projects: Build multiplatform mobile apps and a game from scratch using C# and Visual Studio 2019 | |
Yuen | Mastering Windows Presentation Foundation: Build responsive UIs for desktop applications with WPF | |
JP2006338399A (ja) | プログラム開発装置、プログラム開発ソフトウェア及び記憶媒体 | |
Sun | Practical Application Development with AppRun | |
Yuen | Mastering Windows Presentation Foundation | |
CN116974558B (zh) | 一种营销计费活动h5页面开发平台及开发方法 | |
Mitchell et al. | Dart: Scalable Application Development | |
Freeman | Applied ASP. NET 4 in context | |
KR100348762B1 (ko) | 네트워크 메시지 서비스를 위한 서비스 생성 방법 | |
JP2008015879A (ja) | 自然文を含む仕様の記述支援方法、プログラムおよびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11750307 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012502979 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13582794 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11750307 Country of ref document: EP Kind code of ref document: A1 |