Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUTOCODE GENERATOR, DEVELOPMENT TOOL, AND METHOD FOR THE DEVELOPMENT OF CONTROL DEVICE SOFTWARE
Document Type and Number:
WIPO Patent Application WO/2008/009628
Kind Code:
A2
Abstract:
Disclosed are an autocode generator, a development tool, and a method for developing control device software. The inventive code generator (15) is configured such that the code (22) generated therewith is adapted to read into a computer-aided simulation tool (40) and copy a control device behavior in said simulation tool (40).

Inventors:
BOUMANS MARCUS (DE)
Application Number:
PCT/EP2007/057225
Publication Date:
January 24, 2008
Filing Date:
July 13, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
BOUMANS MARCUS (DE)
International Classes:
G06F9/44
Foreign References:
US20040154003A12004-08-05
EP1215571A22002-06-19
US5583989A1996-12-10
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (Stuttgart, DE)
Download PDF:
Claims:
Patentansprüche

1. Rechnergestützter Autocodegenerator (15) zum Erzeugen von Programmcode (22) für Steuergeräte aus einer Softwarespezifikation (20), dadurch gekennzeichnet, dass der Codegenerator (15) derart ausgebildet ist, dass der damit erzeugte Code (22) zum Einlesen in ein rechnergestütztes Simulationswerkzeug (40) und zum Abbilden eines Steuergeräteverhaltens in diesem Simulationswerkzeug (40) angepasst ist.

2. Codegenerator (15) nach Anspruch 1, bei dem der Simulationscode (22) Parameter umfasst, auf deren Basis die entwickelte Software an eine vorgegebene Steuergerätehardware angepasst werden kann.

3. Codegenerator (15) nach einem der vorstehenden Ansprüche, bei dem der Simulationscode (22) in einer in dem Simulationswerkzeug (40) ablauffähigen oder in einer für dieses Werkzeug (40) interpretierbaren Form vorliegt.

4. Rechnergestütztes Werkzeug zum Entwickeln von Software für Steuergeräte, mit einem Autocodegenerator (10) zum Erzeugen von Betriebscode (21) für diese Geräte aus einer Softwarespezifikation (20), gekennzeichnet durch einen zusätzlichen Autocodegenerator (15) nach einem der vorstehenden Ansprüche.

5. Entwicklungswerkzeug nach Anspruch 4, bei dem der Betriebscode (21) ein C- Programmcode ist.

6. Verwendung eines Autocodegenerators (15) nach einem der vorstehenden Ansprüche in einem rechnergestützten Entwicklungswerkzeug für Software von Steuergeräten.

7. Verfahren zum Entwickeln von Software für Steuergeräte, bei dem aus einer Soft- Warespezifikation (20) ein Programmcode (22) erzeugt wird, der zum Abbilden eines

Steuergeräteverhaltens in einem rechnergestützten Simulationswerkzeug (40) angepasst ist.

Verfahren nach Anspruch 7, bei dem ein zusätzlicher Betriebscode (21) für Steuergeräte erzeugt wird.

Description:

Beschreibung

Titel

Autocodegenerator, Entwicklungswerkzeug und Verfahren zum Entwickeln für Software von Steuergeräten

Stand der Technik

Die Erfindung betrifft einen Autocodegenerator nach dem Oberbegriff des Anspruchs 1, ein Entwicklungswerkzeug nach dem Oberbegriff des Anspruchs 4, sowie eine Verwendung des Codegenerators und ein entsprechendes Entwicklungsverfahren nach Anspruch 7 und 8.

Bei der Entwicklung von Steuergeräten, z. B. im Bereich Einspritzsysteme für Verbren- nungsmotoren, muss die Steuergerätesoftware durch Einstellung bestimmter Parameter in der Software an einen konkreten Versuchsträger angepasst werden. Um die Anzahl der erforderlichen Versuchsträger zu begrenzen bzw. ganz überflüssig zu machen ist deshalb von Vorteil, den im Steuergerät ablaufenden Code zunächst auf einem Rechner lauffähig zu machen.

So ist es z. B. möglich, mit einem rechnergestützten Simulationswerkzeug wie z. B. einem CAE(Computer Aided Engineering)-Tool eine Optimierungsschleife des lauffähigen Steuergerätecodes mit Optimierungsalgorithmen zu schließen und damit ohne Versuchsträger oder ein relativ teures Hardware-in-the-Loop-System die Steuergerätesoftware offline zu parametrieren.

Derzeit gibt es Ansätze, die Lauffähigkeit des Steuergeräte-C-Codes über Konverter zu realisieren, wie dies in Figur 1 dargestellt ist.

Die genannte Figur zeigt beispielhaft die Einbindung und Funktion unterschiedlicher

Werkzeuge in den Entwicklungsprozess der Software. Dabei wird das System ASCET-SD als Entwicklungswerkzeug 30 für die Software eingesetzt, das eine graphische Program-

mierung erlaubt, deren grundsätzliche Mechanismen und Vorzüge auch schon in der deutschen Patentschrift DE 198 37 871 offenbart sind. Aus der graphisch erstellten Softwarespezifikation 20 z. B. in Blockschaltbild- Definition kann dann über einen Autocodegenerator 10 ein Betriebscode 21 für Steuergeräte erzeugt werden. Unter dem Betriebscode 21 wird hier der zur Steuerung der Geräte entwickelte Programmcode verstanden. Dieser kann ein C-Code oder als ablauffähiger ECU (Electronic Control Unit)-C-Code, also als Maschinencode, sein.

Zur nachfolgenden Abbildung des Verhaltens eines bestimmten Steuergeräts ist aller- dings ein zusätzlicher Konverter 11 notwendig, der den Betriebscode 21 in einen Simulationscode 22 umwandelt, welcher wiederum in ein rechnergestütztes Simulationswerkzeug 40 wie ein CAE-Tool einlesbar und in diesem ablauffähig oder interpretierbar ist.

Offenbarung der Erfindung

Es ist Aufgabe der vorliegenden Erfindung, den Entwicklungsprozess für Software von Steuergeräten zu verkürzen, den erforderlichen Aufwand zu verringern und mögliche Fehlerquellen zu vermeiden. Insbesondere soll durch die Erfindung die Test- und Anpassungsphase innerhalb der Programmentwicklung vereinfacht und verkürzt werden.

Diese Aufgabe wird durch einen Autocodegenerator nach Anspruch 1 gelöst, welcher derart ausgebildet ist, dass der damit erzeugter Code zum Einlesen in ein rechnergestütztes Simulationswerkzeug und zum Abbilden eines Steuergeräteverhaltens in diesem Simulationswerkzeug angepasst ist.

Ein wesentlicher Punkt der Erfindung besteht dabei darin, dass diese sich die Technologie der Autocodegenerierung zunutze macht. Die grundlegende Idee ist, als Entwicklungsziel (Target) nicht eine Zielhardware (Hardware-Target), sondern eine Zielsoftware (CAE- Target) zu spezifizieren, für die ein Simulationscode generiert wird. Die an sich bekannte Technologie der Autocodegenerierung für die Zielhardware wird damit auf eine Autocodegenerierung für eine Simulationssoftware erweitert. Dabei wird das in der Regel verwendete Hardware-Target durch ein CAE-Target ersetzt. Dadurch werden zum einen die im Stand der Technik noch notwendigen Konverter überflüssig, die auf einem Betriebscode wie z. B. einem ablauffähigen ECU-C-Code aufsetzen. Da der erfindungsgemäße Code- generator lediglich eine entsprechende Softwarespezifikation voraussetzt, ist dieser zum anderen auch unabhängig von einem zusätzlichen Betriebscodegenerator funktionsfähig.

Auf der Grundlage des Simulationscodes ist ein effizientes Testen der Geräte im Wege der Simulation möglich.

Bevorzugte Weiterbildungen des erfindungsgemäßen Autocodegenerators sind in den Unteransprüchen 2 bis 4 angegeben.

Danach ist in einer vorteilhaften Ausführungsform vorgesehen, dass der Simulationscode Parameter umfasst, auf deren Basis die Software an eine vorgegebene Steuergerätehardware angepasst werden kann. Damit ist auch eine direkte Simulation unterschiedli- eher Typen und Versionen von Steuergeräten möglich.

Abhängig vom Funktionsumfang des Simulationswerkzeugs kann es zudem von Vorteil sein, wenn der Simulationscode in einer in diesem Werkzeug ablauffähigen oder in einer für dieses Werkzeug interpretierbaren Form vorliegt. Damit lassen sich unterschiedlich aufgebaute Simulationswerkzeuge mit dem Code aus dem Generator bedienen.

Die eingangs genannte Aufgabe wird auch durch ein Werkzeug zum Entwickeln von Software für Steuergeräte nach Anspruch 4 gelöst, das zusätzlich über den vorstehend beschriebenen Autocodegenerator verfügt.

Ein wesentlicher Punkt besteht dabei darin, dass ein integriertes Werkzeug für den an sich bekannten Generator für Betriebscode, sowie den Generator für Simulationscode zur Verfügung steht. So kann z. B. das System ASCET-SD um den erfindungsgemäßen Autocodegenerator für CAE-Tools erweitert werde, wobei die mit ASCET-SD erstellten Funk- tionen mit in dem CAE-Tool verfügbaren Mitteln festgestellt werden. Dabei kann auf bekannte Methoden der Autocodegenerierung zugegriffen werden. Durch die Integration beide Codegeneratoren unter einem Entwicklungswerkzeug lässt sich die Programmentwicklung erheblich beschleunigen, da kein umständlicher Zugriff auf weitere Komponenten, i. e. keine zusätzlichen - fehleranfälligen und zeitaufwendigen - Konvertierungsschrit- te erforderlich sind.

Bevorzugt wird dabei der Betriebscode der Steuergeräte als C-Code ausgegeben, der die Portierung auf unterschiedlichste Betriebssystem Plattformen erlaubt und dabei größte Flexibilität in den Hardware-Targets ermöglicht.

Grundsätzlich bleibt anzumerken, dass die Verwendung des erfindungsgemäßen Autocodegenerators in jedem Werkzeug zum Entwickeln von Software für Steuergeräte möglich ist,

solange dieses eine Softwarespezifikation erlaubt. Damit ist der Codegenerator besonders vielseitig einsetzbar und eine Beschleunigung der Test- und Anpassungsphase innerhalb der Programmentwicklung aus einfacheren Tools heraus möglich.

Die eingangs genannte Aufgabe wird zudem durch ein Verfahren zum Entwickeln von Software für Steuergeräte nach Anspruch 7 gelöst, bei dem aus einer Softwarespezifikation ein Programmcode erzeugt wird, der zum Abbilden eines Steuergeräteverhaltens in einem rechnergestützten Simulationswerkzeug angepasst ist.

Ein wesentlicher Punkt des erfindungsgemäßen Verfahrens besteht darin, dass dieses einfach aufgebaut und leicht zu implementieren ist, und sich aus seiner Durchführung die schon vorstehend erwähnten Vorteile einer Programmentwicklung ergeben.

Eine bevorzugte Weiterbildung des erfindungsgemäßen Verfahrens ist in Unteranspruch 8 angegeben und betrifft das möglichst parallele Erzeugen von Betriebs- und Simulationscode, wodurch die Programmentwicklung erheblich beschleunigt wird.

Kurze Beschreibung der Zeichnungen

Der erfindungsgemäße Autocodegenerator, das Entwicklungswerkzeug und das zugehörige Verfahren werden im folgenden anhand eines Ausführungsbeispiels näher erläutert. Es zeigen:

Figur 1 eine Schrittfolge zum Erzeugen von simulationsfähigem Programmcode aus einer Softwarespezifikation unter Nutzung eines herkömmlichen Autocodegenerators und eines zusätzlichen Konverters, und

Figur 2 eine Schrittfolge zum Erzeugen des gleichen Simulationscodes wie in

Figur 1 unter Nutzung des erfindungsgemäßen Autocodegenerators.

Ausführungsformen der Erfindung

Die Figur 1 zeigt eine Schrittfolge zum Erzeugen von simulationsfähigem Programmcode 22 aus einer Softwarespezifikation 20 unter Nutzung eines herkömmlichen Autocodege- nerators 10 und eines zusätzlichen Konverters 11, wie diese schon eingangs erläutert wurde. Der Konverter 11 wird benötigt, um den vom Autocodegenerator 10 aus der Softwarespezifikation 20 des Entwicklungswerkzeugs 30 erzeugten Betriebscode 22 für ein

Steuergerät derart zu wandeln, dass dieser in ein CAE-Tool 40 einlesbar und dort simu- lierbar ist. Diese Art der Programmentwicklung setzt dabei den zusätzlichen Konverter 11 sowie zunächst die Erzeugung des Betriebscodes 21 für das Steuergerät voraus. Dies macht den Simulationsschritt kompliziert, fehleranfällig und zeitaufwendig.

Die Figur 2 zeigt eine Schrittfolge zum Erzeugen des gleichen Simulationscodes 22 wie in Figur 1 unter Nutzung des erfindungsgemäßen Autocodegenerators 15. Aus der in Ascet- SD 30 erzeugten Softwarespezifikation 20 wird ohne Umwege der Simulationscode 22 erzeugt, der in das CAE-Tool eingelesen und dort simuliert - und parametriert - werden kann. Da sozusagen direkt aus dem Softwareentwurf ein CAE-Target erzeugt wird, wird die Verwendung unterschiedlicher Versuchsträger überflüssig. Dies war im Stand der Technik nach Figur 1 noch erforderlich, um die Nachteile des dort gezeigten Verfahrens zu umgehen. Die Test- und Anpassungsphase innerhalb der Programmentwicklung wird damit erheblich vereinfacht und verkürzt, wobei gleichzeitig die Anzahl von Schnittstellen als potentielle Fehlerquellen verringert wird.

In einem integrierten Werkzeug zum Erzeugen eines Programmcodes für Steuergeräte kann zudem ein herkömmlicher Autocodegenerator 10 vorgesehen sein, der die Softwarespezifikation 20 in einen Betriebscode 21 für ein Steuergerät wandelt, wie in der Schrittfolge der Figur gestrichelt angedeutet ist. Dadurch entsteht ein besonders kompaktes und effizientes Entwicklungswerkzeug, dass die Erzeugung von Betriebs- wie Simulationscode 21, 22 gleichermaßen ermöglicht.

Insgesamt lässt der erfindungsgemäße Autocodegenerator, das Entwicklungswerkzeug und das Verfahren eine Vereinfachung der Entwicklung von Software für Steuergeräte zu. Insbesondere die schnelle Simulationsmöglichkeit des Softwareentwurfs trägt zur Verkürzung der Test- und Anpassungsphase innerhalb der Programmentwicklung bei. Dabei lässt sich der Simulationscode rasch auf unterschiedliche Typen und Versionen von Steuergeräten parametrieren.