Source: https://patents.google.com/patent/US6609250B1/en
Timestamp: 2019-04-24 00:25:27
Document Index: 254846690

Matched Legal Cases: ['Art 1', 'Art 1', 'Art 1', 'Art 2', 'Art 2', 'Art 2']

US6609250B1 - Software generating device - Google Patents
Software generating device Download PDF
US6609250B1
US6609250B1 US09/458,808 US45880899A US6609250B1 US 6609250 B1 US6609250 B1 US 6609250B1 US 45880899 A US45880899 A US 45880899A US 6609250 B1 US6609250 B1 US 6609250B1
US09/458,808
Hidehisa Wakamatsu
Tomomi Mikoshiba
1999-03-09 Priority to JP11-061629 priority Critical
1999-03-09 Priority to JP11061629A priority patent/JP2000259402A/en
1999-12-10 Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
1999-12-10 Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KASAI, SATOSHI, MIKOSHIBA, TOMOMI, WAKAMATSU, HIDEHISA
2000-04-13 Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED CORRECTIVE ASSIGNMENTTO CORRECT EXECUTION DATE PREVIOUSLY RECORDED AT REEL 010458, FRAME 0322. Assignors: KASAI, SATOSHI, MIKOSHIBA, TOMOMI, WAKAMATSU, HIDEHISA
2003-08-19 Publication of US6609250B1 publication Critical patent/US6609250B1/en
The present invention is a software generating device for generating new software by a plurality of modules. This device includes an extraction unit analyzing specifications of software to extract necessary modules, and a retrieval unit checking whether the modules are stored in our own device and for executing a retrieving process of the modules for another device connected through a network if the modules are not stored in our own device. For this reason, modules held by the other device can be used through the network.
For example, in Japanese Patent Application Laid-Open No. 2-105222, a software generating device (“Prior Art 1”) for recycling conventional software to automatically generate software which is matched with specifications is disclosed. According to Prior Art 1, the corresponding relationship between modules which are adversely affected by a change in specification of the software becomes clear. For this reason, Prior Art 1 can easily cope with the change in specification of the software or addition of a specification.
In Japanese Patent Application Laid-Open No. 6-214768, a program automatic generating method (“Prior Art 2”) is disclosed. In Prior Art 2, when a conventional program is recycled, processing objects in units of functions obtained by a function division result of the specifications of the conventional program and processing modules are used as one combination to generate a program. Modules in the generated program are retrieved, and a plurality of retrieved modules are synthesized with each other to generate a new program. According to Prior Art 2, a programmer can easily retrieve a target processing module from the conventional program regardless of the skills or development experiences of the programmer, and a program having newly required specifications can be efficiently generated by using a conventional program.
It is an object of the present invention to provide a software generating device which can recycle modules developed by another computer or the like and can use modules having different specifications.
FIG. 1 is a block diagram of a software generating device according to an embodiment of the present invention.
FIG. 3 shows an example of the functional specification form 30, and FIG. 4 shows an example of the module list table 20. As shown in FIG. 3, in the functional specification form 30, a “functional outline (application for displaying data retrieved from a DB on a list box and for registering data selected from the list box in a host)”, a “screen image”, and a “configuration module (input range, button 1, list box, button 2, button 3, . . . ) are shown.
In the screen image, a screen title, the sizes of the respective modules (input range, button 1, list box, button 2, button 3, . . . ), locations (X position, Y position, width, and height), and the like are described. The contents of the configuration modules are separated from each other by “:”. For example, the configuration modules are described like “file list start: A.BMP: . . . ”.
For example, in the module of item number 3, a “list box” is set as a module type; a “data list” is set as a module title or a file name; a “single” is set as module specification 1; a “character” is set as module specification 2; “scroll” is set as module specification 3; “10, 50” is set as a display position; and “120, 40” is set as a size.
The specification division process is executed when a “DB list acquisition” module stored in the module list table 20 shown in FIG. 4 is not present in the database 26 shown in FIG. 1 and is not present in the databases of the other computers.
As shown in FIG. 6, when the specification division process is executed, first, the “DB list acquisition” is designated as a retrieval target character string (S21), and the division assist table 22 is retrieved (S22). It is checked whether a character string representing “DB list acquisition” is present in the division assist table 22 (S23). If the character string representing “DB list acquisition” is present in the division assist table 22, a “division process is read from the division assist table 22, and the read “division process” is applied to a module.
If the character string representing “DB list acquisition” is not present in the division assist table 22 in step S23, it is checked whether the character string representing “DB list acquisition” can be divided (S25). If the character string cannot be divided, the character string is handled as if no module is present (S26). Upon completion of the division process, a new module is formed as needed. In contract to this, if the character string can be divided, the “DB list acquisition” serving as a retrieval target character string is divided into, e.g., a “DB” and “list acquisition”. These character strings are set in the division assist table 22 (S27).
1. A software generating device generating new software by a plurality of modules, comprising:
an extraction unit analyzing functional specifications of software to extract necessary modules; and
a retrieval unit checking whether the modules are stored in our own device and executing a retrieving process of the modules for another device connected through a network if the modules are not stored in our own device.
2. A software generating device according to claim 1, wherein
the retrieval unit comprises:
an asking unit asking the other device for a retrieving process of the modules; and
a reception unit receiving a retrieval result depending on the asking from the other device.
3. A software generating device according to claim 1, comprising a division unit dividing the specifications if the modules extracted by the extraction unit are not present in our own device or the other device, wherein the retrieving process of the modules is executed on the basis of the divided specifications by the division unit.
an extraction unit analyzing functional specifications of software in order to extract necessary modules;
a division unit checking whether the modules are stored in our own device and dividing the specifications if the modules are not stored in our own device; and
a retrieval unit executing a retrieving process of the modules on the basis of the divided specifications.
6. A software generating method for generating new software by a plurality of modules, comprising:
inputting functional specifications of software;
analyzing the functional specifications of software to extract necessary modules;
checking whether the modules are stored in our own device; and
executing a retrieving process of the modules for another device connected through a network if it is determined that the modules are not stored in our own device.
7. A software generating method according to claim 6, wherein the retrieving comprises:
asking the other device for a retrieving process of the modules; and
receiving a retrieval result depending on the asking from the other device.
8. A software generating method according to claim 6, further comprising dividing the specifications if the extracted modules are not present in our own device or the other device.
analyzing functional specifications of software to extract necessary modules;
checking whether the modules are stored in our own device and dividing the specifications if the modules are not stored in our own device; and
executing a retrieving process of the modules on the basis of the divided specifications.
11. A recording medium which can be read by a computer, recording a program for causing the computer to execute:
analyzing the input functional specifications of the software to extract necessary modules;
12. A recording medium, which can be read by a computer, according to claim 11, wherein the retrieving comprises:
13. A recording medium, which can be read by a computer, according to claim 11, recording the program further comprising dividing the specifications if the extracted modules are not present in our own device or the other device.
analyzing the input functional specifications of software to extract necessary modules;
checking whether the modules are stored in our own device;
dividing the specifications if it is determined that the modules are not stored in our own device; and
US09/458,808 1999-03-09 1999-12-10 Software generating device Expired - Fee Related US6609250B1 (en)
JP11-061629 1999-03-09
JP11061629A JP2000259402A (en) 1999-03-09 1999-03-09 Device and method for generating software and recording medium
US6609250B1 true US6609250B1 (en) 2003-08-19
ID=13176685
US09/458,808 Expired - Fee Related US6609250B1 (en) 1999-03-09 1999-12-10 Software generating device
US (1) US6609250B1 (en)
JP (1) JP2000259402A (en)
EP1852778A2 (en) 2006-05-03 2007-11-07 Samsung Electronics Co., Ltd. Apparatus and method for generating DSP code using combination of software modules
JP2005234814A (en) * 2004-02-18 2005-09-02 Fujitsu Ltd Program, program construction method, storage medium, program construction system and terminal equipment
JPH02105222A (en) 1988-10-13 1990-04-17 Matsushita Electric Ind Co Ltd Device and method for automatic software generation
JPH06214768A (en) 1993-01-13 1994-08-05 Hitachi Software Eng Co Ltd Program part generation method and automatic program generation method
1999-03-09 JP JP11061629A patent/JP2000259402A/en active Pending
1999-12-10 US US09/458,808 patent/US6609250B1/en not_active Expired - Fee Related
Zaremski et al., Specification Matching of Software Components, 1997, ACM, pp. 333-369. *
WO2005048098A3 (en) * 2003-11-12 2005-09-22 Docomo Comm Lab Usa Inc Method and apparatus for composing software
CN1879082B (en) 2003-11-12 2010-05-26 株式会社Ntt都科摩 Method and apparatus for composing software
WO2006022894A1 (en) * 2004-07-23 2006-03-02 Ntt Docomo, Inc. Index-based parameter access and software for using the same
US7278133B2 (en) 2004-07-23 2007-10-02 Ntt Docomo, Inc. Index-based parameter access and software for using the same
EP1852778A3 (en) * 2006-05-03 2009-03-11 Samsung Electronics Co., Ltd. Apparatus and method for generating DSP code using combination of software modules
JP2000259402A (en) 2000-09-22
US8171004B1 (en) 2012-05-01 Use of hash values for identification and location of content
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KASAI, SATOSHI;WAKAMATSU, HIDEHISA;MIKOSHIBA, TOMOMI;REEL/FRAME:010458/0322
Free format text: CORRECTIVE ASSIGNMENTTO CORRECT EXECUTION DATE PREVIOUSLY RECORDED AT REEL 010458, FRAME 0322;ASSIGNORS:KASAI, SATOSHI;WAKAMATSU, HIDEHISA;MIKOSHIBA, TOMOMI;REEL/FRAME:010693/0873;SIGNING DATES FROM 19991119 TO 19991126