JP2014048753A - Dll creation method for image forming device, configuration switch creation program, and function specification file - Google Patents

Dll creation method for image forming device, configuration switch creation program, and function specification file Download PDF

Info

Publication number
JP2014048753A
JP2014048753A JP2012189250A JP2012189250A JP2014048753A JP 2014048753 A JP2014048753 A JP 2014048753A JP 2012189250 A JP2012189250 A JP 2012189250A JP 2012189250 A JP2012189250 A JP 2012189250A JP 2014048753 A JP2014048753 A JP 2014048753A
Authority
JP
Japan
Prior art keywords
dll
image forming
function
scanner
file
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2012189250A
Other languages
Japanese (ja)
Other versions
JP5787850B2 (en
Inventor
Tomihito Doi
臣仁 土居
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc, 京セラドキュメントソリューションズ株式会社 filed Critical Kyocera Document Solutions Inc
Priority to JP2012189250A priority Critical patent/JP5787850B2/en
Publication of JP2014048753A publication Critical patent/JP2014048753A/en
Application granted granted Critical
Publication of JP5787850B2 publication Critical patent/JP5787850B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a DLL creation method for an image forming device, configured to easily create appropriate dynamic link libraries for each type of devices electrically detachable from the body of the image forming device.SOLUTION: A DLL creation method for an image forming device includes the steps of: determining by using a computer whether a function corresponding to a device-based DLL, which is a dynamic link library prepared for each type of devices electrically detachable from the body of the image forming device, is included in function specifications which is a document describing functions of the image forming device, on the basis of a predetermined keyword in the function specifications (S135); generating a configuration switch by using a source file of the device-based DLL determined by the computer that the corresponding function is included in the function specifications, as a file to be compiled (s136); and compiling the file specified by the configuration switch to create the device-based DLL.

Description

  The present invention relates to a DLL generation method for an image forming apparatus that generates a dynamic link library provided for each type of device that can be electrically attached to and detached from the main body of the image forming apparatus.

  Conventionally, as an image forming apparatus, a printer dedicated machine for a printing function, a multifunction machine having not only a printing function but also a function other than a printing function such as a copying function and a FAX function are known (for example, (See Patent Document 1 (FIGS. 1 and 8).) For example, a printer-dedicated machine and a multifunction machine may have the same type of printing device as a printing device that performs a printing function.

JP 2008-268250 A

  However, even if a conventional printer-only machine has the same type of printing device as the multifunction machine, the executable file that controls the printer-only machine itself is different from the executable file that controls the multifunction machine. If a new device such as a reading device or a FAX device is simply electrically connected, there is no program for controlling the newly connected device, and therefore it cannot operate as a multifunction peripheral. Therefore, when the function of a conventional image forming apparatus is customized by attaching and detaching a device, an execution file for controlling the image forming apparatus itself must be manufactured for each model.

  Therefore, the inventor of the present application includes a main body to which the device can be electrically attached and detached, a computer that is provided in the main body and controls the device, and a program storage unit that stores a program executed by the computer. In the image forming apparatus, the program storage unit includes a device-specific DLL that is a dynamic link library provided for each type of device that can be electrically attached to and detached from the main body, and an executable file to which the device-specific DLL is dynamically linked. It has been invented as an image forming apparatus in which the device-specific DLL can be rewritten as a program storage unit. In this image forming apparatus, when the device is attached to or detached from the main body, it is only necessary to rewrite the DLL for each device on the program storage unit, and it is not necessary to rebuild the execution file. The function can be customized.

  The above-described image forming apparatus invented by the inventor of the present application needs to rewrite the device-specific DLL when the function is customized by attaching and detaching the device. Here, a person who customizes the function of the image forming apparatus by attaching / detaching a device needs to prepare an appropriate DLL for each device.

  Therefore, the present invention provides a DLL generation method for an image forming apparatus that can easily generate an appropriate dynamic link library provided for each type of device that can be electrically attached to and detached from the main body of the image forming apparatus. With the goal.

  According to the DLL generation method for an image forming apparatus of the present invention, the device-specific DLL that is a dynamic link library provided for each type of device that can be electrically attached to and detached from the main body of the image forming apparatus and the device-specific DLL are dynamically linked. An image forming apparatus DLL generating method for generating the device-specific DLL of the image forming apparatus program including the executable file, the target being compiled among a plurality of device DLL source files A switch generation step for generating a configuration switch which is a file for specifying a file to be compiled, and the device-specific DLL is generated by compiling the file to be compiled specified by the configuration switch generated by the switch generation step. Compa And the switch generation step determines whether or not a function corresponding to the device-specific DLL is included in a functional specification that is a document describing the function of the image forming apparatus. The computer determines the source file of the device-specific DLL that the computer determines based on a predetermined keyword in the document and the computer determines that the corresponding function is included in the function specification as the file to be compiled. It is a step for generating a configuration switch.

  With this configuration, the DLL generation method for an image forming apparatus according to the present invention is suitable because the computer compiles the source file of the device-specific DLL corresponding to the function described in the functional specification of the image forming apparatus. A device-specific DLL can be easily generated.

  In the DLL generation method for an image forming apparatus according to the present invention, the functional specification includes a function-specific block divided for each function, and the function corresponding to the device-specific DLL includes the function corresponding to the device-specific DLL. It may be determined for each functional block whether it is included in the functional specification.

  With this configuration, the DLL generation method for an image forming apparatus according to the present invention determines for each function-specific block of the function specification whether or not the function corresponding to the device-specific DLL is included in the function specification. Compared with the configuration that determines whether the function corresponding to DLL is included in the functional specification, not for each functional block, but for the entire functional specification, it is inappropriate according to the content of the functional specification. The possibility of generating a dynamic link library can be reduced.

  In the DLL generation method for an image forming apparatus according to the present invention, the switch generation step includes a function corresponding to the device-specific DLL when the keyword includes two or more predetermined numbers in the function specification. May be determined to be included in the functional specification.

  With this configuration, the DLL generation method for an image forming apparatus according to the present invention allows a device-specific DLL source file corresponding to a keyword to be stored in a computer when the functional specification contains a predetermined number of two or more predetermined keywords. Is a compilation target, so if the functional specification contains at least one keyword, compare the device-specific DLL source file corresponding to this keyword with the configuration that the computer is compiling. The possibility of generating an inappropriate dynamic link library that does not conform to the contents of the functional specification can be reduced.

  A configuration switch generation program according to the present invention causes a computer to execute the switch generation step of the above-described DLL generation method for an image forming apparatus.

  With this configuration, the computer executing the configuration switch generation program according to the present invention compiles the device-specific DLL source file corresponding to the function described in the functional specification of the image forming apparatus. Another DLL can be easily generated.

  The functional specification file of the present invention is a functional specification file that is electronic data of the functional specification processed by the configuration switch generation program described above, and includes the configuration switch generation program as a macro. And

  With this configuration, the function specification file of the present invention includes the function specification file together with the function specification, and a configuration switch generation program for processing the function specification as a macro. Can be generated.

  The DLL generation method for an image forming apparatus according to the present invention can easily generate an appropriate dynamic link library provided for each type of device that can be electrically attached to and detached from the main body of the image forming apparatus.

1 is a front view of an image forming apparatus according to a first embodiment of the present invention. FIG. 2 is a block diagram illustrating a configuration of the image forming apparatus illustrated in FIG. 1. FIG. 2 is a front view of the image forming apparatus shown in FIG. 1 when a scanner is not provided. FIG. 2 is a block diagram illustrating a configuration of the image forming apparatus illustrated in FIG. 1 when a scanner and a FAX communication device are not provided. FIG. 5 is a class diagram of a program of the image forming apparatus illustrated in FIG. 4. It is a figure which shows the preparation procedure of the execution file shown in FIG. FIG. 5 is a diagram showing a procedure for creating a device DLL and a printer DLL shown in FIG. 4. FIG. 2 is a block diagram illustrating a configuration of the image forming apparatus illustrated in FIG. 1 when the scanner is provided and the FAX communication apparatus is not provided. FIG. 9 is a class diagram of a program for the image forming apparatus shown in FIG. 8. FIG. 9 is a diagram illustrating a procedure for creating the device DLL, the printer DLL, and the scanner DLL illustrated in FIG. 8. FIG. 2 is a block diagram illustrating a configuration of the image forming apparatus illustrated in FIG. 1 when a FAX communication apparatus is provided and a scanner is not provided. FIG. 12 is a class diagram of a program of the image forming apparatus illustrated in FIG. 11. FIG. 12 is a diagram illustrating a procedure for creating the device DLL, the printer DLL, and the FAX communication device DLL shown in FIG. 11. FIG. 3 is a class diagram of a program for the image forming apparatus shown in FIG. 2. FIG. 3 is a diagram illustrating a procedure for creating a device DLL, a printer DLL, a scanner DLL, and a FAX communication device DLL shown in FIG. 2. FIG. 3 is a block diagram of a computer that generates the device DLL, the printer DLL, the scanner DLL, and the FAX communication device DLL illustrated in FIG. 2. It is a figure which shows an example of the configuration switch shown in FIG. It is a figure which shows an example of the functional specification file shown in FIG. It is a figure which shows an example of the keyword file shown in FIG. It is a flowchart of operation | movement of the computer shown in FIG. 16 in the case of producing | generating a configuration switch. FIG. 17 is a flowchart of the operation of the computer shown in FIG. 16 when generating a device DLL, a printer DLL, a scanner DLL, or a FAX communication device DLL. It is a block diagram which shows the structure of the image forming apparatus which concerns on the 2nd Embodiment of this invention.

  Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(First embodiment)
First, the configuration of the image forming apparatus according to the present embodiment will be described.

  FIG. 1 is a front view of an image forming apparatus 10 according to the present embodiment.

  As shown in FIG. 1, the image forming apparatus 10 includes a main body 20, a scanner 47a electrically connected to the main body 20, and a base 50 that supports the main body 20 and the scanner 47a.

  FIG. 2 is a block diagram illustrating a configuration of the image forming apparatus 10.

  As shown in FIG. 2, the image forming apparatus 10 is connected to the controller 30 that is a computer that controls the entire image forming apparatus 10, a display unit 41 that is connected to the controller 30 and displays various information, and the controller 30. In order to communicate directly or via a network with an operation unit 42 to which various operations are input by a user and an external device (not shown) such as a PC (Personal Computer) connected to the controller 30 A communication interface 43, a non-volatile storage device 44 such as an EEPROM (Electrically Erasable Programmable Read Only Memory) connected to the controller 30, and various types of devices can be electrically attached to and detached from the main body 20. USB (Universal Serial Bus) memory 45a, which is a storage medium storing information, USB connector 45b connected to controller 30 and electrically connected to USB memory 45a, and paper connected to controller 30 and paper A printer 46 that is a printing device that performs printing on the printer, a scanner 47a that is a reading device that reads an image from paper, a scanner connector 47b that is connected to the controller 30 and electrically connected to the scanner 47a, and a FAX A FAX communication device 48a, which is a FAX device that performs transmission and reception, and a FAX communication device connector 48b that is connected to the controller 30 and electrically connected to the FAX communication device 48a are provided.

  The controller 30, the display unit 41, the operation unit 42, the communication interface 43, the nonvolatile storage device 44, the USB connector 45 b, the printer 46, the scanner connector 47 b and the FAX communication device connector 48 b are provided in the main body 20. .

  The controller 30 includes a CPU (Central Processing Unit) 31 that controls the printer 46, the scanner 47a, and the FAX communication device 48a, a ROM (Read Only Memory) 32 that stores programs and various data in advance, and a work area of the CPU 31. And a RAM (Random Access Memory) 33 which is a rewritable volatile storage device. The CPU 31 is an arithmetic processing device that operates the controller 30 by executing a program stored in the ROM 32. The RAM 33 temporarily stores programs and various data when the CPU 31 executes the programs. The ROM 32 stores the execution file 11.

  The display unit 41 is a display device such as an LCD (Liquid Crystal Display).

  The operation unit 42 is an input device such as a button that forms a touch panel together with the display unit 41.

  For example, the communication interface 43 receives print data to be printed by the printer 46 from an external device, and transmits image data generated by the scanner 47a to the external device.

  The nonvolatile storage device 44 is a device DLL 12 that is a dynamic link library that realizes an abstract class of a class that executes processing of each device of the image forming apparatus 10, and a dynamic link library for controlling the printer 46. The printer DLL 13, the scanner DLL 14 that is a dynamic link library for controlling the scanner 47 a, and the FAX communication device DLL 15 that is a dynamic link library for controlling the FAX communication device 48 a are stored. The scanner DLL 14 and the FAX communication device DLL 15 are provided for each type of device that can be electrically attached to and detached from the main body 20, and constitute the device-specific DLL of the present invention. Here, in the nonvolatile storage device 44, the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 can be rewritten.

  The execution file 11 stored in the ROM 32 has a path set so that the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 stored in the nonvolatile storage device 44 are dynamically linked. Has been. That is, the execution file 11, device DLL 12, printer DLL 13, scanner DLL 14, and FAX communication device DLL 15 are programs executed by the controller 30. Accordingly, the ROM 32 and the nonvolatile storage device 44 constitute a program storage unit that stores a program executed by the controller 30.

  The USB memory 45a stores at least one of a device DLL 12, a printer DLL 13, a scanner DLL 14, and a FAX communication device DLL 15.

  The printer 46 receives print data received from an external device via the communication interface 43, image data generated by the scanner 47a, and fax data received from an external facsimile device via the FAX communication device 48a. Based on the above, printing on the paper is executed.

  The scanner 47a is image data to be transmitted to an external apparatus via the communication interface 43, image data to be printed by the printer 46, and FAX transmission to an external facsimile apparatus via the FAX communication apparatus 48a. The image data such as the image data is generated. The scanner 47a is a device that can be electrically attached to and detached from the main body 20 via the scanner connector 47b.

  The FAX communication device 48a receives FAX data from an external facsimile device by FAX, or transmits FAX data to an external facsimile device. The FAX communication device 48a is a device that can be electrically attached to and detached from the main body 20 via a FAX communication device connector 48b.

  In the following, the OS (Operating System) on which the execution file 11, the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 are executed is Linux (registered trademark), and the execution file 11, the device DLL 12 It is assumed that the programming language of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 is C ++. However, any OS or programming language can be used.

<When Image Forming Apparatus 10 Does Not Have Scanner 47a and FAX Communication Device 48a>

  FIG. 3 is a front view of the image forming apparatus 10 when the scanner 47a is not provided. FIG. 4 is a block diagram illustrating a configuration of the image forming apparatus 10 when the scanner 47a and the FAX communication device 48a are not provided.

  The image forming apparatus 10 is in the state shown in FIGS. 3 and 4 when the scanner 47a and the FAX communication device 48a are not provided, that is, when the image forming apparatus 10 is customized as a printer dedicated machine. When the image forming apparatus 10 is in the state shown in FIG. 3, the image forming apparatus 10 has a print function for printing an image based on print data received from an external apparatus via the communication interface 43 on a sheet by the printer 46.

  FIG. 5 is a class diagram of a program of the image forming apparatus 10 shown in FIG.

  As illustrated in FIG. 5, the program of the image forming apparatus 10 generates a client class 61 that requests execution of processing and a class that executes processing of each device of the image forming apparatus 10 in response to a request from the client class 61. Of the factory class 62, the device class 63, which is an abstract class for executing the processing of each device of the image forming apparatus 10, and the common processing independent of the device of the image forming apparatus 10 and the devices of the image forming apparatus 10 The printer class 64 is in charge of processing specialized for the printer 46.

  Here, the source files of the client class 61, the factory class 62, the device class 63, and the printer class 64 are client.cpp, factory.cpp, device.cpp, and printer.cpp, respectively. Also, main.cpp is prepared to call a method for starting the processing of the client class 61.

  FIG. 6 is a diagram showing a procedure for creating the execution file 11 shown in FIG.

  As shown in FIG. 6, main.o, client.o, and factory.o are created by compiling main.cpp, client.cpp, and factory.cpp, respectively. Then, main.o, client.o, and factory.o are linked, and libdev.so, libprn.so, libscn.so, and libfax.so are dynamically linked to create test.exe. The test.exe created in this way is the execution file 11.

  Note that libdev.so defines processing when libprn.so, libscn.so, and libfax.so are not found when the execution file 11 is executed.

  FIG. 7 is a diagram showing a procedure for creating the device DLL 12 and the printer DLL 13 shown in FIG.

  As shown in FIG. 7, by compiling device.cpp and printer.cpp, libraries are created with names of libdev.so and libprn.so. The libdev.so and libprn.so created in this way are the device DLL 12 and the printer DLL 13, respectively.

<When the image forming apparatus 10 includes the scanner 47a and does not include the FAX communication apparatus 48a>

  FIG. 8 is a block diagram showing a configuration of the image forming apparatus 10 when the scanner 47a is provided and the FAX communication device 48a is not provided.

  When the image forming apparatus 10 includes the scanner 47a and does not include the FAX communication apparatus 48a, the image forming apparatus 10 is in the state illustrated in FIGS. When the image forming apparatus 10 is in the state shown in FIG. 8, not only the printing function described above, but also, for example, a scanner function that reads an image from a document by the scanner 47a and generates image data, or a document that is read from the document by the scanner 47a. A copying function for printing an image on a sheet by the printer 46 is provided.

  FIG. 9 is a class diagram of a program of the image forming apparatus 10 shown in FIG.

  As shown in FIG. 9, the program of the image forming apparatus 10 is different from the configuration shown in FIG. 5 and includes a scanner class 65 in charge of processing specialized for the scanner 47a among the devices of the image forming apparatus 10.

  Here, the source file of the scanner class 65 is scanner.cpp.

  FIG. 10 is a diagram showing a procedure for creating the device DLL 12, the printer DLL 13, and the scanner DLL 14 shown in FIG.

  As shown in FIG. 10, libraries are created with names of libdev.so, libprn.so, and libscn.so by compiling device.cpp, printer.cpp, and scanner.cpp, respectively. The libdev.so, libprn.so, and libscn.so created in this way are the device DLL 12, the printer DLL 13, and the scanner DLL 14, respectively.

  The device DLL 12, the printer DLL 13, and the scanner DLL 14 created from device.cpp, printer.cpp, and scanner.cpp, respectively, are stored in the USB in which the device DLL 12, the printer DLL 13, and the scanner DLL 14 are stored. When the memory 45a is electrically connected to the USB connector 45b, the controller 30 writes data in the nonvolatile storage device 44.

  Therefore, when the image forming apparatus 10 is in the state shown in FIG. 4, the user electrically connects the scanner 47 a to the scanner connector 47 b of the main body 20, and uses device.cpp, printer.cpp, and scanner.cpp. The image forming apparatus 10 can be customized to the state shown in FIG. 8 by electrically connecting the USB memory 45a storing the created device DLL 12, printer DLL 13, and scanner DLL 14 to the USB connector 45b. it can.

<When Image Forming Apparatus 10 is Equipped with FAX Communication Device 48a and No Scanner 47a>

  FIG. 11 is a block diagram illustrating a configuration of the image forming apparatus 10 when the FAX communication device 48a is provided and the scanner 47a is not provided.

  When the image forming apparatus 10 includes the FAX communication apparatus 48a and does not include the scanner 47a, the image forming apparatus 10 is in the state illustrated in FIGS. When the image forming apparatus 10 is in the state shown in FIG. 11, not only the printing function described above, but also, for example, an image based on FAX data received by the FAX communication apparatus 48 a from an external facsimile apparatus is printed on a sheet by the printer 46. FAX reception function for printing, network FAX reception function for receiving FAX data from an external facsimile apparatus by the FAX communication apparatus 48a and transmitting it to an external apparatus via the communication interface 43, and from the external apparatus via the communication interface 43 A network FAX transmission function is provided for transmitting the received FAX data to an external facsimile apparatus by FAX communication apparatus 48a.

  FIG. 12 is a class diagram of the program of the image forming apparatus 10 shown in FIG.

  As shown in FIG. 12, the program of the image forming apparatus 10 is different from the configuration shown in FIG. 5 and includes a fax class 66 in charge of processing specialized for the FAX communication apparatus 48a among the devices of the image forming apparatus 10. .

  Here, the source file of the fax class 66 is assumed to be fax.cpp.

  FIG. 13 is a diagram showing a procedure for creating the device DLL 12, the printer DLL 13, and the FAX communication device DLL 15 shown in FIG.

  As shown in FIG. 13, libraries are created under the names libdev.so, libprn.so, and libfax.so by compiling device.cpp, printer.cpp, and fax.cpp, respectively. The libdev.so, libprn.so, and libfax.so created in this way are the device DLL 12, the printer DLL 13, and the FAX communication device DLL 15, respectively.

  The device DLL 12, the printer DLL 13, and the FAX communication device DLL 15 created from device.cpp, printer.cpp, and fax.cpp are stored in the device DLL 12, the printer DLL 13, and the FAX communication device DLL 15, respectively. When the USB memory 45a is electrically connected to the USB connector 45b, the controller 30 writes the data in the nonvolatile storage device 44.

  Therefore, when the image forming apparatus 10 is in the state shown in FIG. 4, the user electrically connects the FAX communication device 48 a to the FAX communication device connector 48 b of the main body 20, and device.cpp, printer.cpp, The image forming apparatus 10 is shown in FIG. 11 by electrically connecting the USB memory 45a storing the device DLL 12, the printer DLL 13, and the FAX communication device DLL 15 respectively created from fax.cpp to the USB connector 45b. Can be customized to the condition.

<When Image Forming Apparatus 10 includes Scanner 47a and FAX Communication Device 48a>

  When the image forming apparatus 10 includes the scanner 47a and the FAX communication device 48a, the image forming apparatus 10 is in the state illustrated in FIGS. When the image forming apparatus 10 is in the state shown in FIG. 2, not only the printing function, the scanner function, the copying function, the FAX receiving function, the network FAX receiving function, and the network FAX transmitting function described above, A FAX transmission function for transmitting FAX data generated based on the read image to an external facsimile apparatus by FAX communication apparatus 48a is provided.

  FIG. 14 is a class diagram of a program of the image forming apparatus 10 shown in FIG.

  As shown in FIG. 14, the program of the image forming apparatus 10 is different from the configuration shown in FIG. 5, among the devices of the image forming apparatus 10, the scanner class 65 responsible for processing specialized for the scanner 47 a, and the image forming apparatus 10. And a fax class 66 in charge of processing specialized for the FAX communication apparatus 48a.

  FIG. 15 is a diagram showing a procedure for creating the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 shown in FIG.

  As shown in FIG. 15, device.cpp, printer.cpp, scanner.cpp, and fax.cpp are compiled to create libraries named libdev.so, libprn.so, libscn.so, and libfax.so. Is created. The libdev.so, libprn.so, libscn.so, and libfax.so created in this manner are a device DLL 12, a printer DLL 13, a scanner DLL 14, and a FAX communication device DLL 15, respectively.

  The device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 created from the device.cpp, printer.cpp, scanner.cpp, and fax.cpp are the device DLL 12, the printer DLL 13, When the USB memory 45 a storing the scanner DLL 14 and the FAX communication device DLL 15 is electrically connected to the USB connector 45 b, the data is written on the nonvolatile storage device 44 by the controller 30.

  Therefore, when the image forming apparatus 10 is in the state shown in FIG. 4, the user electrically connects the scanner 47a and the FAX communication device 48a to the scanner connector 47b and the FAX communication device connector 48b of the main body 20, respectively. , Device.cpp, printer.cpp, scanner.cpp, fax.cpp, the USB memory 45a in which the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 are stored is connected to the USB connector 45b. By electrically connecting, the image forming apparatus 10 can be customized to the state shown in FIG.

  In the above description, the change from the state shown in FIG. 4 to the state shown in FIG. 2, FIG. 8, or FIG. 11 is described. However, the change from the state shown in FIG. The same applies to changes other than the change from the state shown in FIG. 4 to the state shown in FIG. 2, FIG. 8, or FIG. The same applies not only to the change of electrically connecting the scanner 47a and the FAX communication device 48a but also to the change of releasing the electrical connection. Whatever the change, it is sufficient that the scanner DLL 14 and the FAX communication device DLL 15 on the nonvolatile storage device 44 correspond to the changed states of the scanner 47a and the FAX communication device 48a.

  Next, a configuration of a computer that generates the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 will be described.

  FIG. 16 is a block diagram of the computer 110 that generates the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15.

  As illustrated in FIG. 16, the computer 110 includes an operation unit 111 that is an input device such as a mouse and a keyboard to which various operations are input, a display unit 112 that is a display device such as an LCD that displays various types of information, A communication unit 113 that is a communication device that communicates with an external device, a storage unit 114 that is a storage device such as an HDD (Hard Disk Drive) that stores programs and various data, and a control that controls the entire computer 110 Part 115. The computer 110 is configured by a computer such as a PC.

  The storage unit 114 is a source file of the device DLL 12, printer DLL 13, scanner DLL 14, and FAX communication device DLL 15, that is, a device to be compiled among device.cpp 114 c, printer.cpp 114 d, scanner.cpp 114 e, and fax.cpp 114 f described later. A configuration switch generation program 114a for generating a configuration switch 114h, which will be described later, which is a file for specifying a compile target file, and a compile target file specified by the configuration switch 114h are compiled to generate a device DLL 12 and a printer DLL 13 A DLL generation program 114b for generating the scanner DLL 14 or the FAX communication apparatus DLL 15 is stored.

  The configuration switch generation program 114a and the DLL generation program 114b may be installed in the computer 110 at the manufacturing stage of the computer 110, or may be added to the computer 110 from a storage medium such as a CD (Compact Disk) and a DVD (Digital Versatile Disk). Or may be additionally installed on the computer 110 from the network.

  In the following description, it is assumed that the programming language of the config switch generation program 114a is Visual Basic (registered trademark) and the programming language of the DLL generation program 114b is C ++. However, any programming language can be used.

  The storage unit 114 includes device.cpp 114c, which is a source file of the device DLL 12, printer.cpp 114d, which is a source file of the printer DLL 13, scanner.cpp 114e, which is a source file of the scanner DLL 14, and a DLL 15 for FAX communication device. Source file fax.cpp114f, device.cpp114c, printer.cpp114d, scanner.cpp114e and fax.cpp114f are text files that contain information necessary for compiling, makefile114g, device.cpp114c, printer.cpp114d, Among the scanner.cpp114e and fax.cpp114f, a function specification file 1 that is electronic data of a configuration specification 114h that is a text file for specifying a file to be compiled and a function specification that is a document describing the functions of the image forming apparatus 10. And 4i, for printers DLL13, it is possible to store the keyword file 114j showing functions and keywords corresponding relationship corresponding to the scanner for DLL14 and FAX communication device for DLL 15.

  The makefile 114g includes a description for referring to the specification of the compilation target file in the configuration switch 114h.

  FIG. 17 is a diagram illustrating an example of the configuration switch 114h.

  As shown in FIG. 17, the configuration switch 114h designates whether or not the file is a compilation target file for each of device.cpp 114c, printer.cpp 114d, scanner.cpp 114e, and fax.cpp 114f. For example, in the configuration switch 114h shown in FIG. 17, device.cpp114c, printer.cpp114d, and scanner.cpp114e are specified as files to be compiled, and fax.cpp114f is not a file to be compiled, that is, a non-compiled file. Is specified as

  FIG. 18 is a diagram illustrating an example of the functional specification file 114i.

  As shown in FIG. 18, the functional specification of the functional specification file 114i includes a function-specific block 120 divided for each function. Each of the function-specific blocks 120 includes a title 121 and an explanatory note 122.

  FIG. 19 is a diagram illustrating an example of the keyword file 114j.

  As shown in FIG. 19, the keyword file 114j is a file indicating the correspondence between the dynamic link library, the function, and the keyword. For example, in the keyword file 114j shown in FIG. 19, functions such as “print function” and “copy function” are associated with “printer DLL”. In addition, keywords such as “print”, “print”, and “printer” are associated with “print function”.

  The control unit 115 illustrated in FIG. 16 includes, for example, a CPU, a ROM that stores programs and various types of data in advance, and a RAM that is used as a work area for the CPU. The CPU is configured to execute a program stored in the ROM or the storage unit 114.

  The control unit 115 executes the configuration switch generation program 114a stored in the storage unit 114, so that the function specifications in the function specification file 114i are added to the device DLL 12, the printer DLL 13, the scanner DLL 14, or the FAX communication device. Function presence / absence determination means 115a for determining whether or not a function corresponding to DLL 15 is included based on a predetermined keyword in the function specification, and function presence / absence determination if the corresponding function is included in the function specification Functions as a configuration switch generation unit 115b that generates the configuration switch 114h using the source file of the device DLL 12, the printer DLL 13, the scanner DLL 14, or the FAX communication device DLL 15 determined by the unit 115a as a compilation target file. That.

  In addition, the control unit 115 executes the DLL generation program 114b stored in the storage unit 114 to compile the file to be compiled specified by the configuration switch 114h, and the device DLL 12, the printer DLL 13, and the scanner It functions as the compiler 115c that generates the DLL 14 or the DLL 15 for FAX communication apparatus.

  Next, the operation of the computer 110 will be described.

  FIG. 20 is a flowchart of the operation of the computer 110 when generating the configuration switch 114h.

  When the generation of the configuration switch 114h is instructed via the operation unit 111, the control unit 115 of the computer 110 executes the process illustrated in FIG.

  As illustrated in FIG. 20, the configuration switch generation unit 115b of the control unit 115 determines whether or not the configuration switch 114h exists on the storage unit 114 (S131).

  If the configuration switch generation unit 115b determines in S131 that the configuration switch 114h does not exist on the storage unit 114, the configuration switch generation unit 115b generates the configuration switch 114h on the storage unit 114 (S132).

  The configuration switch generation unit 115b determines in S131 that the configuration switch 114h exists on the storage unit 114, or when the processing of S132 ends, the device switch 12h, which is the source file of the device DLL 12, is the configuration switch 114h. Is updated (S133).

  Next, the function presence / absence determining unit 115a of the control unit 115 targets the first function-specific block 120 of the function specifications in the function specification file 114i on the storage unit 114 (S134).

  Next, the function presence / absence determining unit 115a determines whether or not a function corresponding to the printer DLL 13, the scanner DLL 14, or the FAX communication apparatus DLL 15 is included in the target function-specific block 120 (S135). Here, the function presence / absence determining unit 115a is configured to use a keyword associated with a function associated with the printer DLL 13, the scanner DLL 14, or the FAX communication apparatus DLL 15 in the keyword file 114j on the storage unit 114 as a target function. If it is included in the separate block 120, it is determined that the function corresponding to the printer DLL 13, scanner DLL 14, or FAX communication apparatus DLL 15 is included in the target functional block 120. For example, in the first functional block 120 of the functional specification in the functional specification file 114i shown in FIG. 18, the title 121 includes one keyword “print”, and the description 122 also includes the keyword “print”. Is included. Therefore, the function presence / absence determination unit 115a determines that the “printing function” corresponding to the printer DLL 13 is included in the first function-specific block 120.

  The configuration switch generation unit 115b of the control unit 115 responds when it is determined in S135 that the function-specific block 120 includes a function corresponding to the printer DLL 13, the scanner DLL 14, or the FAX communication apparatus DLL 15. The configuration switch 114h is updated with the source file of the printer DLL 13, the scanner DLL 14 or the FAX communication device DLL 15 determined by the function presence / absence determination means 115a as being included in the target function-specific block 120 (the compilation target file). S136). For example, when the function presence / absence determination unit 115a determines in S135 that the corresponding function is included in the target function-specific block 120 for the scanner DLL 14, the configuration switch generation unit 115b is the source file of the scanner DLL 14. The configuration switch 114h is updated with scanner.cpp 114e as a file to be compiled.

  The function presence / absence determining means 115a of the control unit 115 determines in S135 that the function corresponding to the printer DLL 13, the scanner DLL 14, or the FAX communication apparatus DLL 15 is not included in the target function-specific block 120, or the process of S136. Is completed, it is determined whether or not there is a function-specific block 120 next to the function-specific block 120 currently targeted in the function specification of the function specification file 114i on the storage unit 114 (S137).

  If the function presence / absence determining unit 115a determines in S137 that the next function-specific block 120 exists, the function-specific block 120 next to the function-specific block 120 currently targeted in the function specification is set as a new target (S138). The process returns to S135 again.

  If it is determined in S137 that the next functional block 120 does not exist, the configuration switch generation unit 115b of the control unit 115 compiles in S136 among the source files of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15. It is determined whether or not there is a source file that is not the target file (S139).

  When the configuration switch generation unit 115b determines in S139 that there is a source file that has not been a compilation target file, the configuration switch generation unit 115b updates the configuration switch 114h with the source file as a non-compilation target file (S140).

  When the configuration switch generation unit 115b determines in S139 that there is no source file that has not been made a compilation target file, or ends the processing of S140, the configuration switch generation unit 115b ends the processing illustrated in FIG.

  FIG. 21 is a flowchart of the operation of the computer 110 when generating the device DLL 12, the printer DLL 13, the scanner DLL 14, or the FAX communication device DLL 15.

  When compiling is instructed via the operation unit 111, the control unit 115 of the computer 110 executes the processing illustrated in FIG.

  As shown in FIG. 21, the compiler 115 c of the control unit 115 uses the device.c. cpp114c, printer.cpp114d, scanner.cpp114e or fax.cpp114f is compiled (S141).

  For example, when device.cpp 114c, printer.cpp 114d, and scanner.cpp 114e are specified as the files to be compiled in the config switch 114h and fax.cpp 114f is specified as the non-compile target file, the compiler 115c Only the printer.cpp 114d and scanner.cpp 114e are compiled to generate only the device DLL 12, the printer DLL 13, and the scanner DLL 14, and not the FAX communication device DLL 15.

  The control unit 115 ends the process illustrated in FIG. 21 after the process of S141.

  The device DLL 12, the printer DLL 13, the scanner DLL 14, or the FAX communication device DLL 15 generated by the computer 110 as described above is stored on the nonvolatile storage device 44 of the image forming apparatus 10 via the USB memory 45a as described above. Is written to.

  As described above, in the image forming apparatus 10, when the scanner 47a and the FAX communication device 48a are attached to and detached from the main body 20, the scanner DLL 14 and the FAX communication device DLL 15 on the nonvolatile storage device 44 are rewritten. The execution file 11 need not be rebuilt. Therefore, the functions of the image forming apparatus 10 can be easily customized by attaching / detaching the scanner 47a and the FAX communication apparatus 48a.

  The image forming apparatus 10 can rewrite the scanner DLL 14 and the FAX communication apparatus DLL 15 only by electrically connecting the USB memory 45a storing the scanner DLL 14 and the FAX communication apparatus DLL 15 to the USB connector 45b. So the functions can be easily customized.

  In this embodiment, the execution file 11 stored in the ROM 32 is dynamically linked to the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 stored in the nonvolatile storage device 44. The device DLL 12, printer DLL 13, scanner DLL 14 and FAX communication device DLL 15 stored in the USB memory 45a electrically connected to the USB connector 45b are dynamically linked. The path may be set as described. In such a configuration, it is not necessary to store the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 in the nonvolatile storage device 44.

  Further, the device DLL 12, the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 after the change are introduced into the main body 20 via the USB memory 45a in this embodiment. It may be introduced into the main body 20 via a storage medium other than the memory 45a.

  The computer 110 is a source file of a printer DLL 13, a scanner DLL 14 and a FAX communication device DLL 15 corresponding to the functions described in the functional specification of the image forming apparatus 10, that is, printer.cpp 114 d, scanner.cpp 114 e or fax. Since cpp 114f is a compilation target (YES in S135 and S136), an appropriate device-specific DLL can be easily generated.

  The computer 110 determines whether or not the functions corresponding to the printer DLL 13, scanner DLL 14, and FAX communication device DLL 15 are included in the function specification for each function-specific block 120 of the function specification (S <b> 134, S <b> 138). Therefore, whether the functions corresponding to the printer DLL 13, scanner DLL 14, and FAX communication device DLL 15 are included in the functional specification is determined collectively for the entire functional specification rather than for each functional block 120. Compared with the configuration, the possibility of generating an inappropriate dynamic link library that does not conform to the contents of the functional specification can be reduced.

  The computer 110 determines whether the functions corresponding to the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 are included in the functional specification, not for each functional block 120 but for the entire functional specification. You may come to do.

  When a predetermined keyword is included in the functional specification, the computer 110 compiles the source files of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 corresponding to the keyword. However, when a predetermined keyword is included in the functional specification, the source file of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 corresponding to the keyword is to be compiled. It may be like this.

  The computer 110 compiles the source files of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 corresponding to the keyword when the functional specification contains a predetermined number of two or more predetermined keywords. If any one of the predetermined keywords is included in the functional specification, the source files of the printer DLL 13, the scanner DLL 14, and the FAX communication device DLL 15 corresponding to the keyword are compiled. Compared with the target configuration, it is possible to reduce the possibility of generating an inappropriate dynamic link library that does not conform to the contents of the functional specification.

  In the computer 110, the functional specification file 114i may include a configuration switch generation program 114a for processing the functional specification together with the functional specification as a macro. For example, the functional specification file 114i may be a Microsoft (registered trademark) Word file or a Microsoft Excel (registered trademark) file that includes the configuration switch generation program 114a as a macro.

  In the computer 110, when the functional specification file 114i includes the function specification and the configuration switch generation program 114a for processing the functional specification as a macro, the configuration switch generation program 114a and the functional specification file 114i are separately provided. Compared to the configuration provided in the device, a device-specific DLL can be easily generated.

  Note that the computer that executes the process shown in FIG. 20 and the computer that executes the process shown in FIG. 21 are the same computer 110 in this embodiment. However, the computer that executes the process shown in FIG. 20 and the computer that executes the process shown in FIG. 21 may be separate computers.

(Second Embodiment)

  FIG. 22 is a block diagram showing a configuration of the image forming apparatus 210 according to the present embodiment. Note that, among the configurations of the image forming apparatus 210, the same reference numerals as those of the image forming apparatus 10 are used for the same configurations as those of the image forming apparatus 10 according to the first embodiment (see FIGS. 1 and 2). The description is omitted.

  As shown in FIG. 22, the image forming apparatus 210 has a configuration in which the image forming apparatus 10 (see FIG. 2) does not include the USB memory 45a and the USB connector 45b, but includes a scanner 47a, a scanner connector 47b, and a FAX communication apparatus. The configuration is similar to the configuration including a scanner 247a, a scanner connector 247b, a FAX communication device 248a, and a FAX communication device connector 248b instead of the 48a and the FAX communication device connector 48b.

  The scanner 247a includes a nonvolatile storage device 247c as a storage medium storing the scanner DLL 14. That is, the nonvolatile storage device 247c is integral with the scanner 247a.

  The scanner connector 247b is electrically connected to the non-volatile storage device 247c when the scanner 247a is electrically connected.

  The FAX communication device 248a includes a nonvolatile storage device 248c as a storage medium storing the DLL 15 for FAX communication device. That is, the nonvolatile storage device 248c is integrated with the FAX communication device 248a.

  The FAX communication device connector 248b is electrically connected to the non-volatile storage device 248c when the FAX communication device 248a is electrically connected.

  With the above configuration, the function of the image forming apparatus 210 is easily customized because the scanner DLL 14 and the FAX communication apparatus DLL 15 can be rewritten simply by electrically connecting the scanner 247a and the FAX communication apparatus 248a to the main body 20. Can.

  In each of the above-described embodiments, the scanner and the FAX communication apparatus are described as devices that can be electrically attached to and detached from the main body 20, but devices other than these devices may be used.

DESCRIPTION OF SYMBOLS 10 Image forming apparatus 11 Executable file 12 DLL for devices (dynamic link library)
13 Printer DLL (Dynamic Link Library)
14 DLL for scanner (dynamic link library, DLL by device)
15 DLL for FAX communication equipment (Dynamic link library, DLL by device)
20 Main body 46 Printer (device)
47a Scanner (device)
48a FAX communication device (device)
110 Computer 114a Configuration switch generation program 114c device.cpp (source file)
114d printer.cpp (source file)
114e scanner.cpp (source file)
114f fax.cpp (source file)
114h Config switch 114i Functional specification file 120 Function-specific block 210 Image forming apparatus 247a Scanner (device)
248a FAX communication device (device)

Claims (5)

  1. The image forming apparatus includes a device-specific DLL that is a dynamic link library provided for each type of device that can be electrically attached to and detached from the main body of the image forming apparatus, and an executable file to which the device-specific DLL is dynamically linked A DLL generation method for an image forming apparatus that generates the device-specific DLL of a program for a computer,
    A switch generation step for generating a configuration switch that is a file for specifying a compilation target file among a plurality of device-specific DLL source files, and the configuration switch generated by the switch generation step. A compiling step of compiling the file to be compiled and generating the device-specific DLL,
    In the switch generation step, whether or not a function corresponding to the device-specific DLL is included in a function specification that is a document describing the function of the image forming apparatus is based on a predetermined keyword in the function specification. And the computer generates the configuration switch by using the device-specific DLL source file determined by the computer as having been determined that the corresponding function is included in the functional specification. A DLL generation method for an image forming apparatus.
  2. The functional specification includes functional blocks divided for each function,
    2. The image forming apparatus according to claim 1, wherein the switch generation step determines, for each functional block, whether or not a function corresponding to the device-specific DLL is included in the functional specification. 3. DLL generation method.
  3.   The switch generation step determines that a function corresponding to the device-specific DLL is included in the functional specification when the keyword includes two or more predetermined numbers in the functional specification. The DLL generation method for an image forming apparatus according to claim 1, wherein:
  4.   A configuration switch generation program for causing a computer to execute the switch generation step of the DLL generation method for an image forming apparatus according to any one of claims 1 to 3.
  5. A functional specification file which is electronic data of the functional specification processed by the configuration switch generation program according to claim 4,
    A functional specification file containing the configuration switch generation program as a macro.
JP2012189250A 2012-08-29 2012-08-29 DLL generation method for image forming apparatus, configuration switch generation program, and functional specification file Active JP5787850B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012189250A JP5787850B2 (en) 2012-08-29 2012-08-29 DLL generation method for image forming apparatus, configuration switch generation program, and functional specification file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012189250A JP5787850B2 (en) 2012-08-29 2012-08-29 DLL generation method for image forming apparatus, configuration switch generation program, and functional specification file

Publications (2)

Publication Number Publication Date
JP2014048753A true JP2014048753A (en) 2014-03-17
JP5787850B2 JP5787850B2 (en) 2015-09-30

Family

ID=50608411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012189250A Active JP5787850B2 (en) 2012-08-29 2012-08-29 DLL generation method for image forming apparatus, configuration switch generation program, and functional specification file

Country Status (1)

Country Link
JP (1) JP5787850B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08336012A (en) * 1995-05-30 1996-12-17 Canon Inc Call method for printer/facsimile driver, facsimile output system and method for generating facsimile cover sheet
JP2001075792A (en) * 1999-09-02 2001-03-23 Nec Yonezawa Ltd Method for preparing program by automatic preparation of makefile
US7181511B1 (en) * 2002-04-15 2007-02-20 Yazaki North America, Inc. System and method for using software objects to manage devices connected to a network in a vehicle
JP2008015794A (en) * 2006-07-06 2008-01-24 Konica Minolta Business Technologies Inc Program management device, program management system, and program providing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08336012A (en) * 1995-05-30 1996-12-17 Canon Inc Call method for printer/facsimile driver, facsimile output system and method for generating facsimile cover sheet
JP2001075792A (en) * 1999-09-02 2001-03-23 Nec Yonezawa Ltd Method for preparing program by automatic preparation of makefile
US7181511B1 (en) * 2002-04-15 2007-02-20 Yazaki North America, Inc. System and method for using software objects to manage devices connected to a network in a vehicle
JP2008015794A (en) * 2006-07-06 2008-01-24 Konica Minolta Business Technologies Inc Program management device, program management system, and program providing method

Also Published As

Publication number Publication date
JP5787850B2 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
US10019256B2 (en) Systems and methods for incremental software development
JP5007046B2 (en) Maintaining component-based software products
EP1724681B1 (en) System for creating a customized software distribution based on user requirements
TWI291653B (en) Method for image-based software installation and computer-readable media for recording computer-executable components and data structure related therewith
TWI438684B (en) Method and computer program storage product for progressively implementing declarative models in distributed systems
CN101078987B (en) Method, device and system for establishing customizable wrappers for web applications
US9262130B2 (en) Code validation using content assist
US8804172B2 (en) Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
US9063810B2 (en) Information processing apparatus and information processing system
Seifzadeh et al. A survey of dynamic software updating
KR20140046402A (en) Application compatibility with library operating systems
JP4533780B2 (en) Image forming system, image forming apparatus, terminal device, and driver updating method for terminal device
US20060123223A1 (en) Persistent memory manipulation using EFI
US6523101B1 (en) Installed-software development assistance system
JP4828271B2 (en) Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions
JP2007241661A (en) Image forming device and its control method
US20110292428A1 (en) Image processing device, display device, screen control system, and screen control method
US20070038946A1 (en) Systems, methods and devices for controlling a multifunctional product using a scriptable user interface
JP2009026065A (en) Information processor, application management method, and computer program
US9563386B2 (en) Information processing apparatus, control method, and storage medium
US20150220308A1 (en) Model-based development
JP2006163840A (en) Information processor and its method
KR101643601B1 (en) Apparatus and method for managing remote application configuration
JP5699500B2 (en) Installation program, installation method, image forming apparatus, and recording medium
US20150212812A1 (en) Declarative and pluggable business logic for systems management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150728

R150 Certificate of patent or registration of utility model

Ref document number: 5787850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150