Information processing apparatus
1. An information processing apparatus (10) having a hierarchical structure including hardware (56), application software (64), and an intermediate layer (66) connecting the hardware and the application software,
it is characterized in that the preparation method is characterized in that,
the intermediate layer has a 1 st intermediate layer (68) and a 2 nd intermediate layer (70),
said 1 st intermediate layer and said 2 nd intermediate layer are connected to said hardware and said application software respectively,
said 1 st intermediate layer corresponds to said application software (64a) for transceiving specific information,
the 2 nd intermediate layer can correspond to the application software (64b) that transmits and receives unspecified information other than the application software that transmits and receives specified information.
2. The information processing apparatus according to claim 1,
the intermediate layer comprises HAL (hardware Abstraction layer),
the HAL has:
1HAL (58) of said 1 st intermediate layer; and
the 2 nd HAL (72) of the 2 nd interlayer.
3. The information processing apparatus according to claim 2,
the intermediate layer comprises a frame located on top of the HAL,
the frames have a 1 st frame (62) and a 2 nd frame (76) at the same level,
said 1 st frame corresponds to said 1 st HAL,
the 2 nd frame corresponds to the 2 nd HAL.
4. The information processing apparatus according to claim 3,
the 2 nd HAL and the 2 nd framework are capable of transceiving unspecific information other than specific information transceived between specific application software and the hardware between the application software and the hardware which transceive unspecific information.
5. The information processing apparatus according to claim 3 or 4,
having a table (92) defining whether each of said application software can use respective messages transceived at said hardware side,
the 2 nd framework has a control layer that controls the application software,
the control layer causes the application software to use the messages of all the messages that are defined in the table as being usable,
the contents of the table are managed per each of the application software.
6. The information processing apparatus according to claim 5,
rewriting the table according to setting information when adding a new application software, wherein the setting information defines the message to be used by the new application software.
Background
Japanese patent laid-open publication No. 2009-230673 discloses an information processing apparatus (computer) having a hierarchical structure including hardware, application software, and an intermediate layer. The information processing apparatus has a HAL (Hardware Abstraction Layer) and a frame (Framework) in an intermediate Layer.
Disclosure of Invention
As the framework, a general-purpose framework such as Android (registered trademark) may be used. The information processing apparatus using the common framework is capable of installing unspecified application software, but information transmission and reception with hardware and devices connected to the hardware is limited to specific information. This is because the middle layer including the common framework corresponds only to specific information on the hardware side, not to other information. Therefore, in order to install application software using information (information other than specific information) that cannot be transmitted and received when the information processing apparatus is manufactured, it is necessary to modify the HAL, the HALI/F, and the framework so that information other than the specific information can be provided to the application software before the application software is installed.
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide an information processing apparatus capable of using application software for transmitting and receiving unspecified information without modifying HAL, HALI/F, and a framework.
The technical scheme of the invention is as follows:
an information processing apparatus having a hierarchical structure including hardware, application software, and an intermediate layer connecting the hardware and the application software,
the intermediate layer has a 1 st intermediate layer and a 2 nd intermediate layer,
said 1 st intermediate layer and said 2 nd intermediate layer are connected to said hardware and said application software respectively,
the 1 st intermediate layer corresponds to the application software that transceives specific information,
the 2 nd intermediate layer may correspond to the application software that transmits and receives unspecified information other than the application software that transmits and receives specified information.
According to the invention, application software which transmits and receives unspecified information can be used without modification of the HAL, HALI/F and framework.
The above objects, features and advantages will be readily understood by the following description of the embodiments with reference to the accompanying drawings.
Drawings
Fig. 1 is a block diagram showing an example of an information processing apparatus.
Fig. 2 is a diagram showing a hierarchical structure of a general computer system.
Fig. 3 is a diagram showing a hierarchical structure of the information processing apparatus.
Fig. 4A is a diagram showing a relationship between application software and a message of a general computer system, and fig. 4B is a diagram showing a relationship between application software and a message of an information processing apparatus.
Fig. 5 is a diagram showing an access control table.
Fig. 6 is a flowchart of processing performed by the extension framework when unspecified application software works (runs).
Detailed Description
Hereinafter, an information processing apparatus according to the present invention will be described in detail with reference to the drawings, taking preferred embodiments as examples.
[1. Structure of information processing device 10 ]
The configuration of the information processing device 10 installed in the vehicle will be described with reference to fig. 1. The information processing device 10 provides various information, such as video, entertainment information, information on web pages, information on electronic mails, etc., to the occupant of the vehicle. The information processing apparatus 10 has various input devices 12, an information processing ECU (Electronic Control Unit) 14, and various output devices 16.
The input device 12 includes a camera 20, a communication device 22, an external connection terminal 24, a switch 26, and the like. The camera 20 photographs the rear of the vehicle and outputs the photographed information to the information processing ECU 14. The communication device 22 includes, for example, a terminal for short-range wireless communication such as Wi-Fi (registered trademark) and Bluetooth (registered trademark), a receiver for a TCU (remote Control Unit), FM broadcast, AM broadcast, Beacon (Beacon), and the like. The communication device 22 outputs the received various information to the information processing ECU 14. The external connection terminal 24 is a socket of a plug for connecting an external device to the information processing ECU14 so as to enable bidirectional communication, and is, for example, a USB interface or the like. The switch 26 is an HMI (Human Machine Interface) for the occupant to operate the information processing apparatus 10, and outputs an operation signal corresponding to the operation of the occupant to the information processing ECU 14.
The information processing ECU14 has an input/output unit 30, an arithmetic unit 32, and a storage unit 34. The input/output unit 30 includes an a/D conversion circuit, a communication interface, and the like. The arithmetic Unit 32 includes processors such as a CPU (Central Processing Unit), an NPU (network processor), and a GPU (Graphics Processing Unit). The arithmetic unit 32 realizes various functions by executing various software stored in the storage unit 34. The storage unit 34 includes a RAM (Random Access Memory), a ROM (Read-Only Memory), and the like. The storage unit 34 stores various software. The information processing ECU14 performs data communication with other ECUs via a CAN (Controller Area Network) bus 36.
The output device 16 includes a display device 40 and an audio device 42. The display device 40 outputs a video image based on the video image information output from the information processing ECU 14. The audio device 42 outputs a voice in accordance with the voice information output from the information processing ECU 14.
[2. hierarchical Structure ]
Next, a hierarchical structure of the general computer system 50 and a hierarchical structure of the information processing apparatus 10 will be described.
[2.1. hierarchical Structure of general computer System 50 ]
A hierarchical structure of a general computer system 50 using a general Framework (Framework) will be described with reference to fig. 2. In this specification, the general-purpose frame is referred to as a general-purpose frame 62. The common framework 62 is, for example, Android.
The computer system 50 is composed of a hardware-side layer 52 and a software-side layer 54. In the hierarchy 52, the hardware 56 is located at the lowermost level, the generic HAL58 is located at the upper level (upper level) of the hardware 56, and the generic HAL interface (generic HALI/F60) is located at the upper level (upper level) of the generic HAL 58. In the layer 54, a general framework 62 is located on the side connected to the layer 52, and application software [ application software 64 (1 st application software 64a) ] is located on the upper layer of the general framework 62. Generic HAL58, generic HALI/F60, and generic framework 62 are intermediate layers 66 located between hardware 56 and application software 64. The middle layer 66 interfaces the hardware 56 and the application software 64. The application software 64 operates (runs) on the general framework 62 as a platform.
[2.2 hierarchical Structure of information processing apparatus 10 ]
The hierarchical structure of the information processing apparatus 10 will be described with reference to fig. 3. The hardware 56 shown in fig. 3 corresponds to each configuration shown in fig. 1. Software other than the hardware 56 shown in fig. 3 is stored in the storage unit 34 shown in fig. 1.
Like the computer system 50, the information processing apparatus 10 includes an intermediate layer 66 between the hardware 56 and the application software 64 (1 st application software 64a and 2 nd application software 64 b). The intermediate layer 66 has a 1 st intermediate layer 68 including the universal frame 62 and a 2 nd intermediate layer 70 including the extension frame 76. Intermediate tier 1 68 and intermediate tier 2 70 interface with the hardware 56 and application software 64, respectively.
The hierarchy of intermediate level 1 68 is the same as the hierarchy of intermediate level 66 of computer system 50. That is, in the 1 st intermediate layer 68, generic HAL58 is located above hardware 56, generic HALI/F60 is located above generic HAL58, and generic framework 62 is located above generic HALI/F60.
In the 2 nd intermediate level 70, on the other hand, extension HAL72 is located on top of hardware 56, extension HAL/F74 is located on top of extension HAL72, and extension frame 76 is located on top of extension HAL/F74. In intermediate level 2 70, extension HAL72 and extension HALI/F74 are located in hardware side level 52 and extension framework 76 is located in software side level 54.
Extended HAL72 is a different HAL than generic HAL58 located at the same layer. The extended HALI/F74 is a different interface than the generic HALI/F60 located at the same layer. The extension frame 76 is a different frame from the common frame 62 located at the same layer.
The 1 st intermediate layer 68 operates application software 64, for example, the 1 st application software 64a, which can be operated (run) only by transmitting and receiving specific information, and controls hardware 56 (for example, a terminal device for short-range wireless communication, an audio device 42, and the like). The application software 64 that can operate only by transmitting and receiving specific information means the application software 64 that is preinstalled or planned to be installed in order to operate the general-purpose framework 62 as a platform. In other words, the application software 64 that can operate only by transmitting and receiving specific information means application software that can operate only by the general framework 62. On the other hand, the 1 st intermediate layer 68 cannot operate the application software 64 that transmits and receives unspecified information, for example, the 2 nd application software 64 b. The application software 64 for transmitting and receiving unspecific information is the application software 64 which is not operated but cannot transmit and receive information only by using the general-purpose framework 62 as a platform. In other words, the application software 64 that transmits and receives unspecified information means the application software 64 that does not operate only by combining it with the general-purpose framework 62.
In contrast, the 2 nd intermediate layer 70 can change the setting so that the unspecified application software 64, for example, the 2 nd application software 64b for realizing the vehicle-specific function can be operated. That is, the 2 nd intermediate layer 70 is an intermediate layer 66 for achieving a function that is not envisaged to be achieved by the universal frame 62.
The 1 st intermediate layer 68 is a portion whose setting can be changed by a supplier (supplier) of the universal framework 62 and a user, and is a portion capable of transmitting and receiving only specific information. On the other hand, the 2 nd intermediate layer 70 is a portion where the user of the universal frame 62 can change the setting of transmission/reception of unspecified information later.
[3. operation of information processing device 10 ]
The difference in operation between the computer system 50 and the information processing apparatus 10 will be described with reference to fig. 4A and 4B. First, a problem of the computer system 50 will be described assuming that the computer system 50 is mounted in a vehicle and the application software 64 for transmitting and receiving unspecified information is installed, and the application software 64b is the 2 nd application software 64b here.
For example, the 1 st application software 64a uses the 1 st message 82(ID ═ n1) among the messages transmitted through the CAN bus 36, and on the other hand, does not use the 2 nd message 84(ID ═ n 2). In contrast, the 2 nd application software 64b added later uses the 1 st message 82 and the 2 nd message 84.
As shown in FIG. 4A, in computer system 50, 2 nd application software 64b has access to message 1 82, but not to message 2 84. This is because the generic HAL58 and generic HALI/F60 are not set to be able to use messages that are not used by the 1 st application software 64 a. Also, the reason is that, in the control layer (API) of the general framework 62, the 1 st message 82 used in the 1 st application software 64a is defined, and the 2 nd message 84 not used in the 1 st application software 64a is not defined. Therefore, the 2 nd application software 64b that transmits and receives unspecified information cannot operate in the computer system 50.
On the other hand, as shown in fig. 4B, in the information processing apparatus 10, the 2 nd application software 64B can access the 1 st message 82 and the 2 nd message 84. This is because extension HAL72 and extension HALI/F74 can change settings at a later time to enable use of messages not used by application software 64. Also, the extension framework 76 judges the messages that the application software 64 can access based on the access control table 92 shown in fig. 5. The access control table 92 is stored in the storage unit 34 and managed by an API (control layer) of the extension framework 76. The access control table 92 defines, for each application software 64 and each message, whether or not access is permitted (OK) or Not (NG)) as the propriety information. The access control table 92 is a so-called White list (White list). If no specific application software 64, for example, the 2 nd application software 64b is installed and the 2 nd application software 64b is an application software 64 described in the access control table 92, the extension framework 76 refers to the access control table 92. On the other hand, if the 2 nd application software 64b is an application software 64 that is not registered in the access control table 92, the extension framework 76 recognizes it as a general-purpose application software 64.
The processing performed by the extension framework 76 when the 2 nd application software 64b operates will be described with reference to fig. 6.
In step S1, the extension framework 76 refers to the access control table 92. When step S1 ends, the process advances to step S2.
In step S2, the extension framework 76 makes the 2 nd application software 64b use the message ("OK" in fig. 5) that allows access and does not make the 2 nd application software 64b use the message ("NG" in fig. 5) that does not allow access.
[4. technical ideas obtained from the embodiments ]
The technical idea that can be grasped from the above-described embodiments is described below.
One mode of the present invention is:
an information processing apparatus 10 having a hierarchical structure including hardware 56, application software (application software 64), and an intermediate layer 66 connecting the hardware 56 and the application software (application software 64), the information processing apparatus 10 being characterized in that,
the intermediate layer 66 has a 1 st intermediate layer 68 and a 2 nd intermediate layer 70,
the 1 st intermediate layer 68 and the 2 nd intermediate layer 70 are connected with the hardware 56 and the application software (application software 64) respectively,
the 1 st intermediate layer 68 corresponds to the application software (1 st application software 64a) that transceives specific information,
the 2 nd intermediate layer 70 may correspond to the application software (the 2 nd application software 64b) that transmits and receives unspecific information other than the application software (the 1 st application software 64a) that transmits and receives the specified information.
The above configuration has the 2 nd intermediate layer 70 that can correspond to the application software 64 (the 2 nd application software 64b) that transmits and receives unspecified information. Therefore, according to the above configuration, it is possible to flexibly deal with information (message 2 84) of the hardware 56 used by the application software 64 that transmits and receives unspecified information, for example, the newly developed application software 2 b or the like.
One aspect of the invention may be:
the intermediate layer 66 comprises a HAL and,
the HAL has a 1 st HAL (generic HAL58) of the 1 st intermediate layer 68 and a 2 nd HAL (extended HAL72) of the 2 nd intermediate layer 70.
One aspect of the invention may be:
the intermediate layer 66 comprises a frame located on top of the HAL,
the frame has a 1 st frame (general frame 62) and a 2 nd frame (extension frame 76) at the same level,
said 1 st frame (generic frame 62) corresponds to said 1 st HAL (generic HAL58),
the 2 nd frame (extension frame 76) corresponds to the 2 nd HAL (extension HAL 72).
One mode of the present invention is:
the 2 nd HAL (extension HAL72) and the 2 nd framework (extension framework 76) are capable of transmitting and receiving non-specific information other than specific information between the application software (2 nd application software 64b) that transmits and receives non-specific information and the hardware 56, wherein the specific information is information transmitted and received between the specific application software (1 st application software 64a) and the hardware 56.
One aspect of the invention may be:
having a table (access control table 92) defining whether each of the application software (application software 64) can use the respective messages transceived on the hardware 56 side,
the 2 nd framework has a control layer that controls the application software (2 nd application software 64b),
the control layer makes the application software (2 nd application software 64b) use the message defined as usable in the table (access control table 92) among all the messages,
the contents of the table (access control table 92) are managed by each of the application software (2 nd application software 64b) and each of the messages.
According to the above configuration, the application software 64 is allowed to access only messages used by the application software 64, while not being allowed to access messages not used by the application software 64. Further, according to the above configuration, when an unspecified application software 64, for example, a newly developed 2 nd application software 64b is added, the access control table 92 can be updated, and access control to different messages can be performed for each application software 64. As a result, each application software 64 cannot access unnecessary messages, and thus security can be ensured.
One aspect of the invention may be:
when a new application software (2 nd application software 64b) is added, the table (access control table 92) is rewritten based on setting information defining the message to be used by the new application software (2 nd application software 64 b).
The information processing device according to the present invention is not limited to the above-described embodiment, and it is needless to say that various configurations can be adopted within a range not departing from the gist of the present invention.
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种配置页面生成方法、系统、设备以及介质