-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Steuervorrichtung, die ein Anwendungsprogramm und ein Plattformprogramm verwendet. Insbesondere betrifft die vorliegende Erfindung eine Steuervorrichtung, ein Steuerverfahren und ein Computerprogramm, die einen Teil eines Plattformprogramms zum Beseitigen des Unterschieds von Hardware-Ressourcen verwenden, die Wiederverwendbarkeit verbessern, den Entwicklungsprozess verkürzen und die Entwicklungslast verringern.
-
2. Beschreibung des Stands der Technik
-
Seit kurzem wird auf verschiedenen Gebieten ein System verwendet, bei dem mehrere Steuervorrichtungen miteinander verbunden sind, um Daten miteinander auszutauschen, wobei die Steuervorrichtungen jeweils mit einer Kommunikationsfunktion versehen sind und jeder Steuervorrichtung eine Kommunikationsrolle zugewiesen ist. Ein derartiges System kann die Steuervorrichtungen einander zuordnen und dann verschiedene Prozesse durchführen. Auf dem Gebiet eines fahrzeuginternen lokalen Netzes (LAN), das in einem Fahrzeug angeordnet ist, ist eine elektronische Steuereinheit (ECU; elektronische Steuervorrichtung) mit einer derartigen Kommunikationsfunktion versehen, wobei jede der ECUs eine zugewiesene funktionelle Rolle ausführt und Daten mit einer andere ECU austauscht, und wobei dann das System verschiedene Prozesse durchführen kann (beispielsweise Patentdokument 1).
-
In dem Fall, in dem mehrere Steuervorrichtungen einander zugeordnet sind und verschiene Prozesse durchführen, kann jede Steuervorrichtung ausgelegt sein, eine zugewiesene funktionelle Rolle ähnlich einer zugewiesenen Funktion einer anderen Steuervorrichtung ausführen, und die andere Steuervorrichtung kann die Steuervorrichtung auf der Grundlage der Einstellung zum Durchführen der zugewiesenen funktionellen Rolle der Steuervorrichtung ersetzen, anstelle dass auf die Spezialisierung der zugewiesenen funktionellen Rolle der jeweiligen Steuervorrichtung fokussiert wird. Insbesondere kann sie derart ausgelegt sein, dass sie eine gemeinsame Funktion von einem Anwendungsprogramm, das die funktionelle Rolle, die einer jeweiligen Steuervorrichtung zugewiesen ist, ausführt, trennt und die getrennte gemeinsame Funktion unter Verwendung eines Plattformprogramms durchführt. Die gemeinsame Funktion besteht beispielsweise aus einem Speichern oder Erneuern von Daten, die zum Ausführen des Anwendungsprogramms verwendet werden, Kommunizieren mit einer anderen Vorrichtung oder Ähnlichem.
-
Wenn eine Definition von Kommunikationsspezifikationen in einer derartigen Konfiguration geändert wird, kann das Plattformprogramm geändert werden, und dann kann jede Steuervorrichtung das geänderte Plattformprogramm ausführen. Im Gegensatz dazu ist es nicht notwendig, das Anwendungsprogramm entsprechend der Änderung der Kommunikationsspezifikationen zu ändern. Sogar mit dem unveränderten Anwendungsprogramm ist es möglich, durch Durchführen eines Prozesses ähnlich dem Prozess, der vor der Änderung des Anwendungsprogramms durchgeführt wird, mit einer anderen Steuervorrichtung zu kommunizieren. Somit sind keine komplizierten Arbeiten notwendig wie beispielsweise die Vorbereitung mehrerer Arten von Anwendungsprogrammen auf der Grundlage des Unterschieds der Hardware. Das Anwendungsprogramm kann nur zum Durchführen der zugewiesenen funktionellen Rolle ausgelegt sein, und dann wird die Wiederverwendbarkeit des Anwendungsprogramms weiter verbessert.
[Patentdokument 1]
Japanische Patentoffenlegungsschrift Nr. 2007-329578
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Konfiguration des Plattformprogramms unterscheidet sich entsprechend dem Unterschied der Hardware-Ressource. Da eine ECU eine Speichervorrichtung enthält, kann die Speichervorrichtung beispielsweise ein EEPROM oder ein Flash-Speicher sein. Tatsächliche physikalische Prozesse unterscheiden sich zwischen dem EEPROM und dem Flash-Speicher. Wichtig es jedoch, gewünschte Daten tatsächlich in eine derartige Speichervorrichtung zu schreiben, und es ist nicht wichtig, welcher physikalische Prozess tatsächlich durchgeführt wird.
-
In dem Fall, in dem es notwendig ist, das Plattformprogramm entsprechend dem Typ von Konfigurationen oder Spezifikationen der Hardware-Ressource zu ändern, verschlechtert sich die Wiederverwendbarkeit des Plattformprogramms. Außerdem ist es schwierig, die komplexen Tätigkeiten des Entwicklungsprozesses, der für die Steuervorrichtung selbst benötigt wird, zu verbessern, und es ist schwierig, die komplexen Tätigkeiten des Entwicklungsprozesses, der für ein großes System, das mehrere Steuervorrichtungen verwendet, die unterschiedliche Hardware-Ressourcen aufweisen, zu verbessern. Somit ist es schwierig, den Entwicklungsprozess zu verkürzen und die Entwicklungslast zu verringern.
-
Die vorliegende Erfindung entstand im Hinblick auf die obigen Umstände, und es ist ihre Aufgabe, eine Steuervorrichtung, ein Steuerverfahren und ein Computerprogramm zu schaffen, die die Funktionen des Plattformprogramms in einen funktionellen Teil zum logischen Steuern der Hardware-Ressourcen und einen funktionellen Teil zum physikalischen Steuern der Hardware-Ressourcen auf der Grundlage des Typs der Hardware-Ressourcen trennen, die Wiederverwendbarkeit des Plattformprogramms verbessern, den Entwicklungsprozess verkürzen und die Entwicklungslast verringern.
-
Eine Steuervorrichtung eines ersten Aspektes gemäß der vorliegenden Erfindung weist eine erste Ausführungseinrichtung zum Ausführen eines oder mehrerer Anwendungsprogramme und eine zweite Ausführungseinrichtung zum Ausführen eines Plattformprogramms zum Steuern einer Hardware-Ressource entsprechend einer Anforderung bzw. Anfrage von den Anwendungsprogrammen auf, wobei die zweite Ausführungseinrichtung aufweist: eine Anweisungseinrichtung zum Anweisen eines Erhaltens von Informationen von der Hardware-Ressource entsprechend der Anforderung von dem Anwendungsprogramm oder zum Anweisen der Hardware-Ressourcen zum Durchführen eines Betriebs bzw. einer Operation; und eine Steuereinrichtung zum Steuern einer Dateneingabe in die oder einer -ausgabe aus den Hardware-Ressourcen entsprechend eines Inhaltes, der durch die Anweisungseinrichtung angewiesen wird, wobei die Steuereinrichtung mehrere Funktionsausführungseinrichtungen aufweist.
-
Eine Steuervorrichtung eines zweiten Aspektes gemäß der vorliegenden Erfindung weist eine der Funktionsausführungseinrichtungen auf, die aufweist: eine Einrichtung zum Bestimmen, ob eine Hardware-Ressource, die dem angewiesenen Betrieb entspricht, vorhanden ist, und eine Einrichtung zum Emulieren des Betriebs der Hardware-Ressource und zum Antworten auf die Anweisungseinrichtung, wenn bestimmt wird, dass keine Hardware-Ressource vorhanden ist, die dem angewiesenen Betrieb entspricht.
-
Eine Steuervorrichtung eines dritten Aspekts gemäß der vorliegenden Erfindung weist außerdem auf: eine Einrichtung zum Erfassen einer Anweisung eines Anwendungsprogramms, das von der ersten Ausführungseinrichtung auszuführen ist, einer Anweisung, die von der Anweisungseinrichtung und der Steuereinrichtung der zweiten Ausführungseinrichtung auszuführen ist, oder zum Ausführen von Bedingungen des Anwendungsprogramms und von Bedingungen jeder Funktion durch die erste und zweite Ausführungseinrichtung.
-
Ein Steuerverfahren eines vierten Aspektes gemäß der vorliegenden Erfindung dient zum Steuern von Hardware-Ressourcen durch Ausführen eines oder mehrerer Anwendungsprogramme und eines Plattformprogramms, das die Hardware-Ressourcen entsprechend einer Anforderung bzw. Anfrage von dem Anwendungsprogramm steuert, und weist die folgenden Schritte auf: Anweisender Hardware-Ressourcen zum Erhalten von Informationen oder der Hardware-Ressourcen zum Durchführen eines Betriebs entsprechend der Anforderung von dem Anwendungsprogramm und Steuern einer Dateneingabe in die und einer -ausgabe von den Hardware-Ressourcen, die unabhängig voneinander durch einen Prozess des Plattformprogramms durchgeführt werden, und außerdem Steuern der Dateneingabe in die und der -ausgabe von den Hardware-Ressourcen, die auf den jeweiligen Hardware-Ressourcen basieren und unabhängig voneinander durch einen Prozess des Plattformprogramms durchgeführt werden.
-
Ein Computerprogramm eines fünften Aspektes gemäß der vorliegenden Erfindung dient zum Bewirken, dass ein Computer einen Betrieb einer Hardware-Ressource entsprechend einer Anforderung bzw. Anfrage von einem Anwendungsprogramm steuert, wenn der Computer eines oder mehrere Anwendungsprogramme ausführt, wobei mehrere Computerteile enthalten sind, die in vorbestimmten funktionellen Einheiten getrennt sind, und wobei jeder Computerteil bewirkt, dass der Computer jeweils durchführt: eine Funktion zum Anweisen eines Erhaltens von Informationen von der Hardware-Ressource entsprechend einer Anforderung von dem Anwendungsprogramm oder zum Anweisen der Hardware-Ressource eines Durchführens eines Betriebs; und eine Funktion zum Steuern einer Dateneingabe in die und einer -ausgabe von der Hardware-Ressource.
-
In dem ersten Aspekt, dem vierten Aspekt und dem fünften Aspekt sind zwei Einrichtungen unabhängig voneinander vorgesehen, wobei eine Einrichtung zum Durchführen eines logischen Zugriffes wie beispielsweise eine Anweisung zum Erhalten von Informationen von einer Hardware-Ressource entsprechend einer Anforderung von einem Anwendungsprogramm oder einer Anweisung zum Bewirken, dass die Hardware-Ressource einen Betrieb durchführt, dient und die andere Einrichtung zum Durchführen eines physikalischen Zugriffs, der die Eingabe in die und die Ausgabe von der Hardware-Ressource steuert, beispielsweise einen tatsächlichen Zugriff auf einen I/O-Speicher der Hardware-Ressource, dient. Der Typunterschied der Hardware-Ressourcen wird durch den funktionellen Teil, der den physikalischen Zugriff durchführt, adressiert. Es ist möglich, gewünschte Daten einzugeben und auszugeben, wobei ein anderer funktioneller Teil, der den logischen Zugriff durchführt, den Typ der Hardware-Ressource nicht erkennen muss und der physikalische Teil der Hardware-Ressource die Dateneingabe und die Datenausgabe durchführt.
-
Außerdem ist mindestens die Einrichtung zum Durchführen des physikalischen Zugriffs derart ausgelegt, dass sie ein funktionelles Modul enthält, das eine Funktion unabhängig durchführt. Somit ist es möglich, funktionelle Module auf der Grundlage des Typs der Hardware-Ressourcen und der gewünschten Spezifikationen auszuwählen und zu kombinieren. Daher ist es nicht notwendig, das gesamte Plattformprogramm selbst auf der Grundlage des Typs der Hardware-Ressourcen zu ändern.
-
In dem zweiten Aspekt trägt die Funktion zum Durchführen des physikalischen Zugriffs zu einer Emulation des Betriebs der Hardware-Ressource bei, wenn es keine Hardware-Ressource gibt, die der Anforderung von dem Anwendungsprogramm entspricht, das anweist, einen Betrieb durchzuführen, und somit wird die Antwort ausgegeben als ob die Hardware-Ressource, die der Anforderung entspricht, vorhanden ist. Somit kann der funktionelle Teil zum Durchführen des logischen Zugriffs auf die Anforderung von dem Anwendungsprogramm, das anweist, den Betrieb durchzuführen, unabhängig von dem Vorhandensein der entsprechenden Hardware-Ressource antworten. Daher ist es insbesondere nicht notwendig, das gesamte Plattformprogramm entsprechend den individuellen Spezifikationen der Hardware-Ressource zu ändern.
-
In dem dritten Aspekt ist es außerdem möglich, die Funktion, die durch das Anwendungsprogramm durchgeführt wird, und das Plattformprogramm entsprechend verschiedenen Bedingungen der gesamten Steuervorrichtung zu ändern. Außerdem können die Situationen jeweiliger Programme durch die entsprechende Ausführungseinrichtung erfasst werden, und somit ist es möglich, die Steuerfunktion der Hardware-Ressourcen entsprechend den Bedingungen, die das Anwendungsprogramm ausführen, auszuwählen.
-
Gemäß der vorliegenden Erfindung ist das Plattformprogramm mit dem funktionellen Teil zum Durchführen des logischen Zugriffs und einem anderen funktionellen Teil zum Durchführen des physikalischen Zugriffs ausgebildet. Diese funktionellen Teile sind voneinander getrennt, und der funktionelle Teil zum Durchführen des logischen Zugriffs ist unabhängig von der physikalischen Handhabung der Hardware-Ressource ausgelegt. Somit ist es insbesondere nicht notwendig, das gesamte Plattformprogramm entsprechend den individuellen Spezifikationen der Hardware-Ressource zu ändern. Nur der funktionelle Teil zum Durchführen des physikalischen Zugriffs kann bzw. muss entsprechend dem Typ der Hardware-Ressource geändert werden. Es ist möglich, die Wiederverwendbarkeit zu verbessern, da der funktionelle Teil zum Durchführen des logischen Zugriffs von verschiedenen Hardware-Ressourcen geteilt werden kann. Daher ist es möglich, den Entwicklungsprozess zu verkürzen und die Entwicklungslast zu verringern.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm, das eine Konfiguration einer ECU gemäß der vorliegenden Ausführungsform zeigt.
-
2 ist eine erläuternde Ansicht, die konzeptionell eine Funktion, die von einer CPU einer ECU gemäß der vorliegenden Ausführungsform durchgeführt wird, zeigt.
-
3 ist ein Flussdiagramm, das ein Beispiel eines Prozesses zeigt, der von einer Ressourcen-Verwaltungsebene und einer Ressourcen-Steuerungsebene entsprechend einer Betriebsanforderung durchgeführt wird.
-
Bezugszeichenliste
-
- 1
- ECU
- 10
- Mikrocomputer
- 11
- CPU
- 12
- ROM
- 17, 17
- Anwendungsprogramm
- 18
- Plattformprogramm
- 19
- Systemverwaltungsprogramm
- 107
- Anwendungsebene
- 108
- Plattformebene
- 108a
- Ressourcen-Verwaltungsebene
- 108b
- Ressourcen-Steuerungsebene
- 109
- Middleware-Ebene
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Im Folgenden wird eine Ausführungsform der vorliegenden Erfindung genauer mit Bezug auf die Zeichnungen beschrieben.
-
In der im Folgenden beschriebenen Ausführungsform wird eine Steuervorrichtung gemäß der vorliegenden Erfindung am Beispieleiner elektronischen Steuereinheit (ECU), die an einem Auto montiert ist und verschiedene Steuerungen durchführt, mit Bezug auf ein Steuersystem, bei dem mehrere ECUs in Zuordnung zueinander über eine Kommunikationsleitung miteinander verbunden sind und Prozesse durchführen, beschrieben.
-
1 ist ein Blockdiagramm, das eine Konfiguration der ECU gemäß der vorliegenden Ausführungsform zeigt. Die ECU 1 ist mit einer anderen ECU über eine Kommunikationsleitung 2 verbunden und ausgelegt, mit der anderen ECU zu kommunizieren. Die ECU 1 ist außerdem mit einem Sensor 3 und einem Aktuator 4 verbunden. Die ECU 1 ist mit einer speziellen Funktion wie beispielsweise einer Funktion zum Betreiben des Aktuators 4 auf der Grundlage der Informationen, die durch den Prozess, der durch die ECU 1 entsprechend den Informationen, die von dem Sensor 3 erhalten werden, durchgeführt wird, oder zum Betreiben des Aktuators 4 auf der Grundlage der Informationen, die durch den Prozess, der von der anderen ECU durchgeführt wird, erhalten werden, versehen. Obwohl die ECU 1 sowohl mit dem Sensor 3 als auch mit dem Aktuator 4 verbunden ist, kann die ECU 1 alternativ mit nur einem von beiden oder keinem von beiden verbunden sein.
-
Die ECU 1 enthält eine zentrale Verarbeitungseinheit (CPU) 11, die Betriebe einer jeweiligen Komponente steuert, einen ROM 12, der mit einem nicht flüchtigen Speicher versehen ist, einen Mikrocomputer 10, der mit einem RAM 13 versehen ist, der einen Hochgeschwindigkeitszugriff durchführt, eine Speichereinheit 14, die mit einem nicht flüchtigen Speicher versehen ist, eine Kommunikationseinheit 15, die mit einer Netzwerksteuerung versehen ist, und eine I/O-Einheit 16, die eine Schnittstelle für den Sensor 3 und den Aktuator 4 bildet.
-
Die Speichereinheit 14 ist ein Speicher, der eine relativ große Speicherkapazität aufweist, beispielsweise ein Flash-Speicher oder ein elektrisch löschbarer und programmierbarer ROM (EEPROM). Die Speichereinheit 14 speichert Informationen, die durch den Prozess erhalten werden, der durch den Mikrocomputer 10 durchgeführt wird, der Anwendungsprogramme 17, 17, ..., die später beschrieben werden, ausführt. Die gespeicherten Informationen sind Systeminformationen wie beispielsweise Bedingungsinformationen der ECU 1 und Bedingungsinformationen eines Fahrzeugs, in dem die ECU 1 montiert ist. Außerdem speichert die Speichereinheit 14 Daten, die von dem Sensor 3 durch den Mikrocomputer 10 erhalten werden, Daten, die der anderen ECU empfangen werden, und Ähnliches.
-
Die Kommunikationseinheit 15 führt die Kommunikation mit der anderen ECU durch, die durch die Kommunikationsleitung 2 durch den Mikrocomputer 10 durchgeführt wird. Die Kommunikationseinheit 15 führt insbesondere die Kommunikation auf der Grundlage eines Protokolls eines Steuernetzes (CAN), eines Protokolls eines lokalen Verbindungsnetzes (LIN), eines Protokolls von FlexRay (Registered Trademark) oder Ähnlichem durch. Die Kommunikationseinheit 15 kann alternativ als ein Teil eines Mikrocomputers 10 ausgebildet sein.
-
Die I/O-Einheit 16 ist die Schnittstelle für den Sensor 3 und den Aktuator 4, wie es oben erwähnt ist. In dem Fall der Verbindung mit dem Sensor 3 erlangt die I/O-Einheit 16 ein Signal, das beispielsweise einen Messwert repräsentiert, der von dem Sensor 3 ausgegeben wird, und gibt dann das Signal an den Mikrocomputer 10 aus. In dem Fall der Verbindung mit dem Aktuator 4 gibt die I/O-Einheit 16 ein Steuersignal an den Aktuator 4 aus, wenn das Steuersignal für den Aktuator 4 angefordert wird und durch den Mikrocomputer 10 ausgegeben wird. Die I/O-Einheit 16 kann mit einer Funktion für eine D/A-Wandlung und eine A/D-Wandlung versehen sein.
-
Die zentrale Verarbeitungseinheit (CPU) 11 des Mikrocomputers 10 führt eine spezielle Funktion, die jede Komponente steuert, durch Auslesen eines Steuerprogramms 1P, das in dem ROM 12 gespeichert ist, in den RAM 13 und Ausführen ausgelesenen Steuerprogramm 1P durch.
-
Der ROM 12 ist ein Speicher wie beispielsweise ein Masken-ROM, ein Flash-Speicher, ein programmierbarer ROM (PROM), ein löschbarer und programmierbarer ROM (EPROM) oder ein elektrischer EPROM (EEPROM). Auch wenn der ROM 12 das Steuerprogramm 1P wie oben beschrieben speichert, kann er außerdem Steuerdaten, die zum Steuern verwendet werden, speichern.
-
Der RAM 13 ist ein Speicher wie beispielsweise ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM) oder ein statischer Speicher mit wahlfreiem Zugriff (SRAM). Der RAM 13 ist ausgelegt, zeitweilig jeweilige Informationen zu speichern, die durch den Prozess, der von der CPU 11 durchgeführt wird, erzeugt werden.
-
Das Steuerprogramm 1P, das in dem ROM 12 gespeichert ist, enthält Anwendungsprogramme 17, 17, ... zum Bewirken, dass der Mikrocomputer 10 einen Prozess, der für die ECU 1 spezifisch ist, durchführt, ein Plattformprogramm 18 zum Durchführen einer Funktion, die mit einer anderen ECU gemeinsam ist, wie beispielsweise eine Steuerfunktion einer Hardware-Ressource und eine Kommunikationsfunktion, ein Middleware-Programm 19 zum Vermitteln der Anwendungsprogramme 17, 17, ... und des Plattformprogramms 18 und ein Systemverwaltungsprogramm 20 zum Steuern der gesamten ECU 1, um einen Prozess auf der Grundlage eines jeweiligen Programms durchzuführen.
-
Die Anwendungsprogramme 17, 17, ... enthalten verschiedene Programme zum Bewirken, dass die ECU 1 die spezielle Funktion durchführt, beispielsweise ein Programm zum Durchführen eines Steuerprozesses eines Verbrennungsmotors, der in einem Kraftfahrzeug montiert ist, und ein Programm zum Durchführen eines Schaltprozesses zum Ein-/Ausschalten einer Türverrieglung und Ein-/Ausschalten eines Scheinwerfers.
-
Das Plattformprogramm 18 enthält ein Programm zum Durchführen eines Prozesses, der von einer jeweiligen Hardware-Ressource entsprechend einer Betriebsanforderung durchgeführt wird, die von dem Mikrocomputer 10 an jede Hardware-Ressource auf der Grundlage der Anwendungsprogramme 17, 17, ... gesendet wird, wie beispielsweise eines Prozesses zum Schreiben von Daten in die Speichereinheit 14, eines Prozesses zum Auslesen von Daten aus der Speichereinheit 14 und eines Prozess zum Senden von Daten durch die Kommunikationseinheit 15. Insbesondere enthält das Plattformprogramm 18 einen Ressourcen-Verwaltungsteil, der einem Vorrichtungstreiber zum Durchführen eines logischen Datenzugriffs auf der Grundlage der Betriebsanforderung, die von der CPU 11, die die Anwendungsprogramme 17, 17, ... ausführt, gesendet wird, entspricht, und einen Ressourcen-Steuerteil, der einem Basiseingabe/-ausgabesystem (BIOS) zum Durchführen eines physikalischen Datenzugriffs auf der Grundlage der Implementation der jeweiligen Hardware-Ressourcen entspricht.
-
Das Middleware-Programm 19 enthält ein Programm zum Durchführen einer Interpreter-Funktion wie beispielsweise ein Programm zum Umwandeln der Betriebsanforderung, die von den Anwendungsprogrammen 17, 17, ... gesendet wird, konform zu dem Plattformprogramm 18 und zum anschließenden Senden der umgewandelten Betriebsanforderung an das Plattformprogramm 18. Insbesondere enthält das Middleware-Programm 19 eine Ausgabeprozessfunktion zum Empfangen einer Ausgabeanforderung bzw. -anfrage auf der Grundlage der Anwendungsprogramme 17, 17, ... von der CPU 11 zum Umwandeln der empfangenen Ausgabeanforderung konform zu dem Plattformprogramm 18 und zum Senden der umgewandelten Ausgabeanforderung an das Plattformprogramm 18. Die Ausgabeanforderung ist beispielsweise eine Anforderung zum Schreiben von Daten in die Speichereinheit 14 oder eine Anforderung zum Senden von Daten durch die Kommunikationseinheit 15. Außerdem enthält das Middleware-Programm 19 eine Eingabeprozessfunktion zum Empfangen von Daten, die von dem Plattformprogramm 18 eingegeben werden, um die empfangenen Daten konform zu dem Anwendungsprogramm 17 umzuwandeln und die umgewandelten Daten an die Anwendungsprogramme 17, 17, ... zu senden. Das Middleware-Programm 19 führt außerdem eine Verwaltungsverarbeitungsfunktion zum Senden von Verwaltungsinformationen an die Anwendungsprogramme 17, 17, ... durch. Die Verwaltungsinformationen werden von der CPU 11 auf der Grundlage eines Systemverwaltungsprogramms 20, das später beschrieben wird, empfangen.
-
Das Systemverwaltungsprogramm 20 ist ein Programm zum Einstellen bzw. Anpassen der gesamten Prozesse, die von der CPU 11 durchgeführt werden, wie beispielsweise des Prozesses auf der Grundlage der Anwendungsprogramme 17, 17, ..., des Prozesses auf der Grundlage des Plattformprogramms 18 und des Prozesses auf der Grundlage des Systemverwaltungsprogramms 20, so dass einer Situation entsprochen wird, bei der die ECU 1 korrekt arbeiten sollte und die ECU 1 gesteuert wird. Das Systemverwaltungsprogramm 20 führt beispielsweise eine Funktion zum Ändern des Prozesses, der auf der Grundlage eines jeweiligen Programmes durchgeführt wird, entsprechend unterschiedlichen Situationen wie beispielsweise einer Situation, bei der die ECU 1 einen Betrieb für eine Testphase vor der Versendung durchführen sollte, oder einer Situation, bei der die ECU 1 einen Betrieb während einer Wartung durchführen sollte, durch. Das Systemverwaltungsprogramm 20 führt beispielsweise eine Funktion zum Ändern des Prozesses, der auf der Grundlage eines jeweiligen Programmes durchgeführt wird, entsprechend unterschiedlichen Situationen durch, beispielsweise einer Situation, bei der die ECU 1 einem Auto, das japanische Spezifikationen verwendet, entsprechen sollte, oder einer Situation, bei der die ECU 1 einem Auto, das nordamerikanische Spezifikationen verwendet, entsprechen sollte. Das Systemverwaltungsprogramm 20 führt beispielsweise eine Funktion zum Ändern des physikalischen Steuerverfahrens der Hardware-Ressource entsprechend den durchgeführten Anwendungsprogrammen 17, 17, ... durch.
-
2 ist eine erläuternde Ansicht, die konzeptionell eine Funktion, die von der CPU 11 der ECU 1 gemäß der vorliegenden Ausführungsform durchgeführt wird, zeigt. Die CPU 11 liest das Steuerprogramm 1P, das in dem RAM 12 gespeichert ist, in den RAM 13 und führt dann das gelesene Steuerprogramm 1P aus. Wie es oben beschrieben ist, enthält das Steuerprogramm 1P die Anwendungsprogramme 17, 17, ..., das Plattformprogramm 18, das Middleware-Programm 19 und das Systemverwaltungsprogramm 20. Die CPU 11 führt einen Betrieb mit einer Softwarekonfiguration durch, die auf der Grundlage der jeweiligen Programme, die in dem Steuerprogramm 1P enthalten sind, in drei Ebenen getrennt sind: eine Anwendungsebene 107, eine Middleware-Ebene 109 und ein Plattformebene 108.
-
In der obersten Anwendungsebene 107 dient die CPU 11 als jeweilige Anwendung (Anwendung A, Anwendung B, Anwendung C, ...) auf der Grundlage der Anwendungsprogramme 17, 17, ....
-
In der Middleware-Ebene 109 führt die CPU 11 jeweilige funktionelle Module 112, 112, ... auf der Grundlage des Middleware-Programms 19 durch, da die funktionellen Module 112, 112, ... zum Empfangen von Betriebsanforderungen von jeweiligen Anwendungen in der Anwendungsebene 107 oder zum Senden von Daten von der Plattformebene 108 an die Anwendungsebene 107 vorgesehen sind. Die jeweiligen funktionellen Module 112, 112, ... enthalten beispielsweise ein Eingangsfunktionsmodul 112, das Daten, die von der Plattformebene 108 erhalten werden, an die Anwendungsebene 107 sendet, ein Ausgangsfunktionsmodul 112, das die Ausgabe von der Anwendungsebene 107 sendet, und ein Verwaltungsfunktionsmodul, das die Verwaltungsinformationen, die eine Anweisung von dem Systemverwalter 110, der später beschrieben wird, zeigen, sendet. Somit werden in der Middleware-Ebene 109 Schnittstellen 111, 111, ... auf der Grundlage des Middleware-Programms 19 implementiert, wobei die Schnittstellen 111, 111, ... verschiedenen Anwendungsprogrammen 17, 17 entsprechen.
-
In der untersten Plattformebene 108 steuert die CPU 11 tatsächlich eine Hardwaregruppe 14, 15, 16, ... auf der Grundlage des Plattformprogramms 18. Es werden verschiedene Funktionen in der untersten Plattformebene 108 implementiert, beispielsweise eine Funktion zum Lesen und Schreiben von Daten mit der Speichereinheit 14, eine Funktion zum Übertragen von Daten mit der Kommunikationseinheit 15 und Ähnliches. Die Plattformebene 108 ist außerdem in eine Ressourcen-Verwaltungsebene 108a und eine Ressourcen-Steuerungsebene 108b hierarchisiert. Die Ressourcen-Verwaltungsebene 108a ist ausgelegt, Funktionen 181a, 182a, 183a, ... zum Durchführen beispielsweise des logischen Zugriffs durchzuführen, was dazu führt, anzuweisen, welche Daten aus der Speichereinheit 14 gelesen werden sollten. Die Ressourcen-Steuerungsebene 108b ist ausgelegt, Funktionen 181b, 182b, 183b, ... zum Durchführen beispielsweise des physikalischen Zugriffs durchzuführen, der zu einem tatsächlichen Schreiben von zu sendenden Daten in den I/O-Speicher der Kommunikationseinheit 15 führt.
-
Eine Speicherverwaltungsfunktion 181a ist beispielsweise in der Ressourcen-Verwaltungsebene 108a implementiert, und eine Verwaltungssteuerfunktion 181b ist in der Ressourcen-Steuerungsebene 108b implementiert, um Daten eines Speichers (beispielsweise Speichereinheit 14) zu lesen und zu schreiben. Die Speicherverwaltungsfunktion 181a bestimmt entsprechend der Anforderung von der Anwendungsebene 107, welche Daten aus dem Speicher gelesen werden sollten und welche Daten in den Speicher geschrieben werden sollten. Die Speichersteuerfunktion 181b identifiziert die Adresse in dem Speicher für die bestimmten Daten, liest die bestimmten Daten tatsächlich aus und schreibt dann die bestimmten Daten tatsächlich. Außerdem wird eine Kommunikationsverwaltungsfunktion 182a in der Ressourcen-Verwaltungsebene 108a implementiert, und eine Kommunikationssteuerfunktion 182b wird in der Ressourcen-Steuerungsebene 108b implementiert. Die Kommunikationsverwaltungsfunktion 182a weist die Kommunikationseinheit 15 an, beispielsweise Daten zu senden. Die Kommunikationssteuerfunktion 182b führt tatsächlich eine Dateneingabe in die und eine Datenausgabe aus der Kommunikationseinheit 15 durch. Auf ähnliche Weise wird eine Sensorverwaltungsfunktion 183a in der Ressourcen-Verwaltungsebene 108a implementiert, und eine Sensorsteuerfunktion 183b wird in der Ressourcen-Steuerungsebene 108b implementiert. Die Sensorverwaltungsfunktion 183a weist das Auslesen von Daten, die von dem Sensor erhalten werden, an. Die Sensorsteuerfunktion 183b empfängt tatsächlich das Signal von dem Sensor.
-
Im Folgenden werden die Vorteile der Plattformebene 108, die in die Ressourcen-Verwaltungsebene 108a und die Ressourcen-Steuerungsebene 108b hierarchisiert ist, beschrieben. Eine Anwendung in der Anwendungsebene 107 sendet beispielsweise eine Anforderung bzw. Anfrage zum Auslesen von Daten aus der Speichereinheit 14, und die Plattformebene 108 empfängt die Betriebsanforderung. In der Plattformebene 108 ist es einfach nur notwendig, dass die Ressourcen-Verwaltungsebene 108a die angeforderten Daten aus der Speichereinheit 14 auslesen kann und die gelesenen Daten in die Anwendung unabhängig davon, ob der Speicher der Speichereinheit 14 der EEPROM oder Flash-Speicher ist, eingeben kann. Andererseits gibt es Unterschiede in dem tatsächlichen Datenleseverfahren auf der Grundlage der Spezifikationen jeweiliger Hardware-Ressourcen, das heißt, ob der Speicher der Speichereinheit 14 der EEPROM oder der Flash-Speicher ist. Die Speichersteuerfunktion 181b in der Ressourcen-Steuerungsebene 108b modifiziert das Leseverfahren unter Berücksichtigung dieser Differenzen und sendet die gelesenen Daten an die Speicherverwaltungsfunktion 181a in der Ressourcen-Verwaltungsebene 108a. Daher kann die Speicherverwaltungsfunktion 181a in der Ressourcen-Verwaltungsebene 108a die Daten als Antwort auf die Betriebsanforderung von der Anwendung an die Anwendungsebene 107 unabhängig von dem Speichertyp und Ähnlichem senden.
-
Es ist möglich, auf ähnliche Weise einen Fall zu betrachten, bei dem die Anwendung eine Anforderung zum Senden von Daten von der Kommunikationseinheit 15 sendet. Es ist in der Ressourcen-Verwaltungsebene 108a einfach nur notwendig, dass die angeforderten Daten von der Kommunikationseinheit 15 an eine Vorrichtung wie beispielsweise eine andere ECU unabhängig davon, ob die ECU 1 mit dem CAN, LIN oder FlexRay verbunden ist, gesendet werden können. Andererseits ist es notwendig, Informationen auf der Grundlage des Typs des Protokolls den zu sendenden Daten hinzuzufügen, wenn die Daten tatsächlich von der Kommunikationseinheit 15 gesendet werden. Die Kommunikationssteuerfunktion 182b in der Ressourcen-Steuerungsebene 108b modifiziert die zu sendenden Daten unter Berücksichtigung des Protokolltyps. Daher kann die Kommunikationsverwaltungsfunktion 182a in der Ressourcen-Verwaltungsebene 108a auf die Datensendeanforderung von der Anwendung unabhängig von dem Protokolltyp antworten.
-
Außerdem enthält die Ressourcen-Steuerungsebene 108b eine Funktion zum Durchführen eines Prozesses auf der Grundlage des Vorhandenseins der Hardware-Ressource. Insbesondere gibt es Steuerfunktionen 181b, 182b, 183b, ..., die jeweiligen Hardware-Ressourcen entsprechen, und diese Steuerfunktionen sind jeweils mit Emulatorfunktionen versehen, die Betriebe für die entsprechenden Hardware-Ressourcen emulieren und die emulierten Betriebe an die obere Ebene, d. h. die Ressourcen-Verwaltungsebene 108a zurückgeben, wenn die entsprechenden Hardware-Ressourcen nicht vorhanden sind. Es wird beispielsweise angenommen, dass die Ressourcen-Verwaltungsebene 108a das Senden der Daten anfordert, um zu erkennen, ob die „Scheinwerfer” eingeschaltet oder ausgeschaltet sind. In dem Fall, in dem die Sensorsteuerfunktion 183b das Signal zum direkten Erkennen, ob die „Scheinwerfer” eingeschaltet oder ausgeschaltet sind, nicht erhalten kann, da die „Scheinwerfer” nicht verbunden sind, verwendet die Sensorsteuerfunktion 183b beispielsweise die Informationen, die von einer anderen ECU erhalten werden können, um zu erkennen, ob das „kleine Licht” eingeschaltet oder ausgeschaltet ist, anstelle der Informationen zum Erkennen, ob die „Scheinwerfer” eingeschaltet oder ausgeschaltet sind, und sendet die Informationen hinsichtlich des „kleinen Lichts” als die Informationen hinsichtlich der „Scheinwerfer”. Die Emulatorfunktionen tragen dazu bei, dass die Ressourcen-Verwaltungsebene 108a in der Lage ist, Prozesse unabhängig von dem Vorhandensein entsprechender Hardware-Ressourcen durchzuführen. Alternativ enthält die Ressourcen-Steuerungsebene 108b eine Virtualisierungsfunktion, die unabhängig emuliert, und es sind keine jeweiligen Emulatorfunktionen in den Steuerfunktionen 181b, 182b, 183b, ..., die jeweiligen Hardware-Ressourcen entsprechen, enthalten.
-
Die jeweiligen Funktionen in der Ressourcen-Steuerungsebene 108b werden durch den Typ oder die Spezifikationen der Hardware-Ressourcen und durch das Vorhandensein der Hardware-Ressourcen beeinflusst. Somit sollten die jeweiligen Funktionen in der Ressourcen-Steuerungsebene 108b konform zu den Hardware-Ressourcen eingestellt bzw. angepasst werden. Andererseits sind die jeweiligen Funktionen, die in der Ressourcen-Verwaltungsebene 108a durchgeführt bzw. implementiert werden, unabhängig von der Steuerung des physikalischen Zugriffs für die Hardware-Ressourcen ausgelegt. Somit werden die jeweiligen Funktionen in der Ressourcen-Verwaltungsebene 108a nicht durch den Typ oder die Spezifikationen der Hardware-Ressourcen und durch das Vorhandensein der Ressourcen beeinflusst. Daher ist es möglich, die Ressourcen-Steuerungsebene 108b und die jeweiligen Funktionen in der Ressourcen-Verwaltungsebene 108a zu kombinieren, obwohl die Ressourcen-Steuerungsebene 108b konform zu verschiedenen Hardware-Ressourcen entworfen ist und die Ressourcen-Verwaltungsebene 108a den verschiedenen Hardware-Ressourcen gemeinsam ist.
-
Außerdem liest die CPU 11 das Systemverwaltungsprogramm 20 aus und führt dieses aus, und somit wird die Funktion des Systemverwalters 110 mit der Schnittstelle, die mit der Plattformebene 108 geteilt wird, implementiert. Der Systemverwalter 110 implementiert eine Systemüberwachungsfunktion 113, die Bedingungen von drei Ebenen erfasst, d. h. Betriebsbedingungen jeweiliger Anwendungen in der Anwendungsebene 107, Betriebsbedingungen der funktionellen Module 112, 112, ... in der Middleware-Ebene 109, die der Betriebsanwendung entspricht, und die dann die Informationen hält, und implementiert eine Funktionsverwaltungsfunktion 114, die den Typ, das Versende- bzw. Verschiffungsziel und die Klasse des Autos, an dem die ECU montiert werden sollte, die Anwendung, das funktionelle Modul, die betriebene Hardware-Ressource, die in einer jeweiligen Ebene, die der Änderung der Funktion der ECU 1 entspricht, implementiert wird, und Ähnliches identifiziert. Man beachte, dass der Systemverwalter 110 nicht auf die Konfiguration, die in 2 gezeigt ist, beschränkt ist, bei der die Schnittstelle mit der Plattformebene 108 geteilt wird. Alternativ kann der Systemverwalter 110 direkt Informationen mit den Funktionen der jeweiligen Ebenen übertragen.
-
Ein Beispiel für Anwendungen, die in der Anwendungsebene 107 implementiert werden, ist eine Signalsteuerung, eine Bedingungsfeststellung, eine Laststeuerung, die Lasten steuert (beispielsweise einen Aktuator 4) oder Ähnliches. Jeweilige Anwendungsprogramme 17, 17, ..., die in der Anwendungsebene 107 ausgeführt werden, werden entsprechend den Verwaltungsinformationen, die von dem Systemverwalter 110 durch das Verwaltungsfunktionsmodul in der Middleware-Ebene 109 gesendet werden, bestimmt. Die CPU 11 liest beispielsweise die Verwaltungsinformationen aus der Middleware-Ebene 109 entsprechend dem Anwendungsprogramm 17, das von der Anwendungsebene 107 ausgeführt wird, aus, wählt ein anderes der Anwendungsprogramme 17, 17, ..., das entsprechend den gelesenen Verwaltungsinformationen auszuführen ist, aus und führt das ausgewählte Anwendungsprogramm aus. Die Verwaltungsinformationen enthalten beispielsweise Informationen, die Bedingungen oder Situationen der ECU 1 zeigen, und Informationen zum Identifizieren der Anwendungsprogramme 17, 17, ..., die entsprechend den Bedingungen oder Situationen der ECU 1 auszuführen sind. Die Verwaltungsinformationen enthalten beispielsweise Informationen, die zeigen, dass sich die ECU 1 in der Testphase vor der Versendung befindet, und Informationen zum Identifizieren der Anwendungsprogramme 17, 17, ..., die in dem Fall auszuführen sind, in dem sich die ECU 1 in der Testphase vor der Versendung befindet. Somit kann die Anwendungsebene 107 ein geeignetes Anwendungsprogramm 17 auf der Grundlage der Verwaltungsinformationen auswählen und ausführen. Daher ist es möglich, geeignete Prozesse auf der Grundlage der jeweiligen Situationen durchzuführen.
-
Ein Beispiel für funktionelle Module 112, 112, ... in der Middleware-Ebene 109 ist eine Eingangsweiterleitungsfunktion, die Informationen, die von der Plattformebene 108 erhalten werden, an die Anwendung in der Anwendungsebene 107 vermittelt bzw. weiterleitet. In der Eingangsweiterleitungsfunktion sendet die CPU 11 die Informationen, die von der Anwendung in der Anwendungsebene 107 benötigt werden, aus den Informationen, die von der Plattformebene 108 erhalten werden. Außerdem gibt es eine Ausgangsweiterleitungsfunktion, die die Daten, die von der Anwendung der Anwendungsebene 107 ausgegeben werden, an die Plattformebene 108 weiterleitet. In der Ausgangsweiterleitungsfunktion wählt die CPU 11 ein Ausgabeziel in der Plattformebene 108 für die Informationen, die von der Anwendung in der Anwendungsebene 107 ausgegeben werden, entsprechend der beabsichtigten Verwendung dieser Ausgangsinformationen aus, wählt eine geeignete Schnittstelle aus der Plattformschnittstelle 108c aus und sendet die Ausgangsinformationen an die ausgewählte Schnittstelle.
-
Wenn beispielsweise die Informationen, die von der Anwendung ausgegeben werden, an eine externe Vorrichtung zu sendende Daten sind, wählt die Funktion des Ausgabemoduls 112, die der Plattformebene 108 entspricht, eine geeignete Schnittstelle aus der Plattformschnittstelle 108c aus, um die Daten von der Kommunikationshardware, die dem geeigneten Protokoll entspricht, zu senden. Somit wird das Ziel zu sendenden Daten ausgewählt. Wenn beispielsweise die Informationen, die von der Anwendung ausgegeben werden, in die Speichereinheit 14 einzugebende Daten sind, wählt die Funktion des Ausgabemoduls 112 eine geeignete Schnittstelle aus, um auf die Speichereinheit zuzugreifen.
-
3 ist ein Flussdiagramm, das ein Beispiel eines Prozesses zeigt, der von der Ressourcen-Verwaltungsebene 108a und der Ressourcen-Steuerungsebene 108b entsprechend der Betriebsanforderung durchgeführt wird.
-
Die Middleware-Ebene 109 wählt eine Funktion als ein Ausgabeziel unter der Funktion in der Ressourcen-Verwaltungsebene 108a aus. Die ausgewählte Funktion empfängt eine Betriebsanforderung von der Anwendung in der Anwendungsebene 107 (Schritt S1). Eine Funktion der Ressourcen-Verwaltungsebene 108a erzeugt eine Anweisung auf der Grundlage der Betriebsanforderung und sendet die erzeugte Anweisung an die Ressourcen-Steuerungsebene 108b (Schritt S2). In dem Fall, in dem die Anwendung anfordert, Daten auszulesen, identifiziert die Speicherverwaltungsfunktion in der Ressourcen-Verwaltungsebene 108a, die oben beschrieben wurde, die Daten, die auszulesen sind, und weist die Ressourcen-Steuerungsebene 108b an, die identifizierten Daten auszulesen.
-
Eine Funktion in der Ressourcen-Steuerungsebene 108b empfängt die Anweisung von der Ressourcen-Verwaltungsebene 108a (Schritt S3) und bestimmt auf der Grundlage der Anweisung, ob es eine Hardware-Ressource gibt (Schritt S4). Wenn bestimmt wird, dass es eine derartige Hardware-Ressource gibt (S4: JA), wird die physikalische Steuerung für die Hardware-Ressource entsprechend der Anweisung durchgeführt (Schritt S5) und die Antwort wird zurückgegeben (Schritt S6). In dem beispielhaften Fall der Speichersteuerfunktion 181b, die oben beschrieben wurde, wird die Speichereinheit 14 direkt angewiesen, die Daten auf der Grundlage der identifizierten Datenadresse auszulesen, die Daten werden aus dem I/O-Speicher der Speichereinheit ausgelesen, und Ähnliches.
-
Wenn bestimmt wird, dass keine Hardware-Ressource vorhanden ist (S4: NEIN), wird der Betrieb emuliert (Schritt S7), und die Antwort wird zurückgegeben (S6). In dem beispielhaften Fall der Speichersteuerfunktion 181b, die oben beschrieben wurde, kann die Kommunikationseinheit 15 die Anweisung empfangen, wenn es keinen Speicher gibt, der die identifizierten Daten speichert. Dann kann die Kommunikationseinheit 15 Daten, die zeitweilig in der Kommunikationseinheit 15 gespeichert sind, als die auszulesenden Daten zurückgeben. In dem beispielhaften Fall der Sensorsteuerfunktion 183b kann die Kommunikationseinheit 15 Daten, die von der Kommunikationseinheit 15 empfangen werden, als die Daten, die von dem Sensor gesendet werden, zurückgeben, wenn es keinen Sensor gibt, an den die Daten auf der Grundlage der ausgelesenen Anweisung ausgegeben werden sollten. Daher sieht es aus, als ob es den verbundenen Sensor gibt.
-
Die Ressourcen-Verwaltungsebene 108a erfasst die Antwort von der Ressourcen-Steuerungsebene 108b (Schritt S8) und gibt die erfasste Antwort an die Anwendung, von der die Betriebsanforderung gesendet wurde, zurück (Schritt S9). Dann ist die Prozedur beendet.
-
Wie es oben beschrieben wurde, ist die Plattformebene 108 mit der Ressourcen-Verwaltungsebene 108a und der Ressourcen-Steuerungsebene 108b, die getrennt sind und unabhängig voneinander arbeiten, ausgebildet. Auf der Grundlage des Plattformprogramms 18 des Steuerprogramms 1P, das in der ECU 1 gemäß der vorliegenden Ausführungsform enthalten ist, implementiert bzw. führt die Ressourcen-Ebene 108a die Funktion für den logischen Zugriff durch, und die Ressourcen-Steuerungsebene 108b implementiert bzw. führt die Funktion für den physikalischen Zugriff, der durch den Typ der Hardware-Ressource beeinflusst wird, durch. Somit kann die Ressourcen-Verwaltungsebene 108a die Funktion unabhängig von den Typen oder Spezifikationen der Hardware-Ressourcen und dem Vorhandensein der Hardware-Ressource implementieren. Daher ist es nicht notwendig, den Teil des Programmes, der der Ressourcen-Verwaltungsebene 108a entspricht, entsprechend den Typen, Spezifikationen und dem Vorhandensein der Hardware-Ressourcen, die mit der ECU 1 verbunden sind, zu ändern. Der Teil des Programms, der der Ressourcen-Steuerungsebene 108b entspricht, kann auf einfache Weise an den Typ von Hardware-Ressourcen angepasst werden. Da der Programmteil, der der Ressourcen-Verwaltungsebene 108a entspricht, gemeinsam und konform zu verschiedenen Hardware-Ressourcen verwendet werden kann, ist es möglich, die Wiederverwendbarkeit zu verbessern. Daher ist es möglich, verschiedene Vorteile wie beispielsweise die Verkürzung des Entwicklungsprozesses und die Verringerung der Entwicklungslast zu erzielen.
-
In dem Fall, in dem mehrere ECUs einander zugeordnet sind und verschiedene Prozesse durchführen, kann die Erfindung ausgelegt sein, zu bewirken, dass jeweilige ECUs Hardware-Ressourcen, die unterschiedliche Typen oder Spezifikationen aufweisen, verwenden. Wenn das Plattformprogramm 18 in jeder ECU konform zu der Hardware-Ressource in dieser Konfiguration geändert werden muss, entsteht eine komplizierte Programmverwaltung und keine effektive Entwicklung. Andererseits kann die Konfiguration der Plattformebene 108 gemäß der vorliegenden Ausführungsform dazu beitragen, eine gemeinsame Ressourcen-Verwaltungsebene 108a sogar für verschiedene Hardware-Ressourcen zu verwenden, die unterschiedliche Typen oder Spezifikationen aufweisen und mit jeweiligen ECUs verbunden sind. Somit ist es möglich, die Vielseitigkeit zu verbessern. Daher ist es möglich, verschiedene Vorteile wie beispielsweise nicht nur die Verkürzung des Entwicklungsprozesses, sondern auch die Verhinderung der Komplexität der Programmverwaltung für die Entwicklung in großem Ausmaß zu erzielen.
-
Außerdem können die jeweiligen Steuerfunktionen 181b, 182b, 183b, ... der Ressourcen-Steuerungsebene 108b die Emulatorfunktion implementieren, wenn die entsprechende Hardware-Ressource nicht vorhanden ist, und somit sieht es aus als ob die entsprechende Hardware-Ressource vorhanden ist. Somit ist es möglich, die selbe Ressourcen-Verwaltungsebene 108a für den Fall, bei dem nicht nur Unterschiede hinsichtlich der Typen oder Spezifikationen, sondern ebenfalls in dem Vorhandensein der Hardware-Ressourcen, die mit den jeweiligen ECUs verbunden sind, vorhanden sind, zu verwenden. Somit ist es möglich, die Vielseitigkeit und Wiederverwendbarkeit zu verbessern. Daher ist es möglich, verschiedene Vorteile wie beispielsweise die Verkürzung des Entwicklungsprozesses und die Verringerung der Entwicklungslast zu erzielen.
-
Die oben beschriebene Ausführungsform zeigt ein Beispiel, bei dem die Erfindung für eine ECU, die an ein Fahrzeug montiert ist, verwendet wird. Die vorliegende Erfindung ist jedoch nicht auf dieses Beispiel beschränkt. Die vorliegende Erfindung kann für verschiedene Computer-Vorrichtungen, die verschiedene Steuerungen durchführen, verwendet werden.
-
Da diese Erfindung in verschiedenen Formen ausgeführt sein kann, ohne von dem Geist der wesentlichen Kennzeichen abzuweichen, ist die vorliegende Ausführungsform nur beispielhaft und nicht einschränkend, da der Bereich der Erfindung durch die zugehörigen Ansprüche anstatt durch die obige Beschreibung definiert wird, und sämtliche Änderungen, die innerhalb der Grenzen der Ansprüche oder der Äquivalenz derartiger Grenzen fallen, sollen durch die Ansprüche umfasst sein.
-
ZUSAMMENFASSUNG
-
Es werden eine Steuervorrichtung, ein Steuerverfahren und ein Computerprogramm geschaffen, die die Wiederverwendbarkeit verbessern können, ohne das gesamte Plattformprogramm zu ändern, den Entwicklungsprozess verkürzen und die Entwicklungslast verringern können.
-
Funktionen einer Plattformebene 108, die auf einem Plattformprogramm basiert, sind in eine Ressourcenverwaltungsebene 108a, die logische Steuerungen für Hardware-Ressourcen durchführt, und eine Ressourcensteuerungsebene 108b, die physikalische Steuerungen für die Hardware-Ressourcen durchführt, getrennt. Die Ressourcenverwaltungsebene 108a benötigt ein Identifizieren von gewünschten Daten auf der Grundlage eines Anwendungsprogramms, muss aber die tatsächliche Adresse der gewünschten Daten in einem Speicherabschnitt nicht wissen. Die Ressourcensteuerungsebene 108b kennt die tatsächliche Adresse und liest die Daten, die von der Ressourcensteuerungsebene 108a angewiesen werden, physikalisch aus und antwortet mit diesen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-