DE10063249B4 - Web-basierte Entwicklung von Software - Google Patents

Web-basierte Entwicklung von Software Download PDF

Info

Publication number
DE10063249B4
DE10063249B4 DE10063249A DE10063249A DE10063249B4 DE 10063249 B4 DE10063249 B4 DE 10063249B4 DE 10063249 A DE10063249 A DE 10063249A DE 10063249 A DE10063249 A DE 10063249A DE 10063249 B4 DE10063249 B4 DE 10063249B4
Authority
DE
Germany
Prior art keywords
customer
software
file
source code
web
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.)
Expired - Fee Related
Application number
DE10063249A
Other languages
English (en)
Other versions
DE10063249A1 (de
Inventor
Branislav Kisacanin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi Technologies Inc
Original Assignee
Delphi Technologies 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23855517&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE10063249(B4) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Delphi Technologies Inc filed Critical Delphi Technologies Inc
Publication of DE10063249A1 publication Critical patent/DE10063249A1/de
Application granted granted Critical
Publication of DE10063249B4 publication Critical patent/DE10063249B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization

Abstract

Verfahren zum elektronischen Liefern kundenangepasster Software an einen Kunden mit den Schritten, dass:
eine Kundenspezifikation empfangen wird (304),
automatisch zum Kunden passende Software hergestellt wird, die die Kundenspezifikation erfüllt (308–318), und
die zum Kunden passende Software dem Kunden elektronisch geliefert wird (320),
dadurch gekennzeichnet,
dass die Kundenspezifikation über eine Web-Schnittstelle (202) empfangen wird (304),
dass zum Herstellen der Software eine Spezifikationsdatei auf der Grundlage der empfangenen Kundenspezifikation unter Verwendung eines Common-Gateway-Interface-Programms (CGI-Programms) (204) hergestellt wird (308), und
eine zum Kunden passende ausführbare Datei auf der Grundlage der Spezifikationsdatei hergestellt wird (310–318), wobei
zum Herstellen der zum Kunden passenden ausführbaren Datei generischer Quellcode auf der Grundlage der Spezifikationsdatei ausgewählt wird (310),
der generische Quellcode auf der Grundlage der Spezifikationsdatei abgeändert wird (312),
der abgeänderte, generische Quellcode (314) kompiliert wird,
der kompilierte, abgeänderte, generische Quellcode gelinkt wird, um eine ausführbare Datei...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum elektronischen Liefern kundenangepasster Software nach dem Oberbegriff des Anspruchs 1 und insbesondere ein Web-basiertes Software-Entwicklungswerkzeug für Halteplatinen.
  • Traditionell hat es die Entwicklung von Software für Halteplatinen erfordert, daß ein Software-Ingenieur häufig vorhandene Software abändern mußte, um Kundenanforderungen Rechnung zu tragen. Kunden haben oft Schwierigkeiten bei der Beförderung ihrer Anforderungen für ein besonderes Software-Teil gehabt, und haben infolgedessen Software erhalten, die ihre Anforderungen nicht erfüllte. Wenn die Versionen eines besonderen Software-Teils wuchsen, wurde es typischerweise schwieriger, den Versionen zu folgen und diese zu warten. Dies war in der Vergangenheit der Fall, weil ein Software-Ingenieur, der für die Entwicklung eines bestimmten Software-Teils verantwortlich war, auch die Software kontrollierte und dafür verantwortlich war, den Kunden weltweit aktualisierte Kopien der Software zu liefern.
  • Wenn der Software-Ingenieur nicht verfügbar war, mußte ein Kunde warten, bis der Software-Ingenieur in der Lage war, ihm eine kundenangepaßte Version der Software zu liefern. Infolgedessen haben Kunden häufig längere Zeit gewartet, bis sie eine kundenangepaßte Version eines bestimmten Software-Teils erhielten Zusätzlich ist die Herstellung von kundenangepaßter Software für den Arbeitgeber des Software-Ingenieurs teuer gewesen.
  • Während verschiedene Web-Sites herunterladbare Software bereitgestellt haben, haben es diese Web-Sites einem Kunden nicht erlaubt, eine Spezifikation zu liefern, aus der kundenangepaßte Software hergestellt werden konnte. Daher ist eine neue Technik zum Liefern kundenangepaßter Software an einen Kunden wünschenswert.
  • Aus der Druckschrift Sinha, A.; Chaudhuri, A: On-line configuration of control algorithm for a real-time process control environment; Software Engineering for Real Time Systems, 1989, Second International Conference on, 18–20 Sep 1989; Pages: 233–236 (IEEE)" ist ein Online-Konfigurationssystem bekannt, bei dem eine Bibliothek von Steuermodulen vorgesehen ist. Ein Anwender kann aus der Bibliothek die gewünschten Steuermodule auswählen und dabei eine spezielle Reihenfolge der Module festlegen sowie Beziehungen zwischen den Eingängen und Ausgängen der ausgewählten Module definieren.
  • Aus der WO 98/037500 A1 ist ein Verfahren zur Spezifikation von Design-Parametern bekannt, welche zur Erzeugung einer Netzliste benötigt werden, durch die eine Schaltungsstruktur beschrieben wird. Die Design-Parameter werden dabei über eine Web-basierte Schnittstelle ausgewählt und angegeben.
  • Die vorliegende Erfindung betrifft eine Technik zum elektronischen Liefern kundenangepaßter Software an einen Kunden. Zu Beginn wird eine Kundenspezifikation über eine Web-Schnittstelle geliefert. Dann wird auf der Grundlage der Kundenspezifikation automatisch eine zum Kunden passende Software hergestellt. Die zum Kunden passende Software wird dann dem Kunden elektronisch geliefert. Bei einer Ausführungsform wird die Kundenspezifikation auf Eingabefehler geprüft, und der Kunde wird aufge fordert, jegliche festgestellte Fehler zu korrigieren, bevor fortgefahren wird. Bei einer weiteren Ausführungsform wird über ein Common-Gateway-Interface-Programm (CGI-Programm oder Programm für eine gemeinsame Netzübergangsschnittstelle) eine Spezifikationsdatei hergestellt.
  • Bei der vorliegenden Erfindung wird eine zum Kunden passende ausführbare Datei hergestellt, indem zunächst generischer Quellcode (auf der Grundlage der Spezifikationsdatei) aus einer Bibliothek mit generischem Quellcode hergestellt wird. Als nächstes wird der generische Quellcode abgeändert (auf der Grundlage der Spezifikationsdatei). Dann wird der abgeänderte, generische Quellcode kompiliert und gelinkt, um eine ausführbare Datei herzustellen. Schließlich wird die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt. Bei einer anderen Ausführungsform werden dem Kunden die zum Kunden passende Software und Dokumentation (die Spezifikationsdatei) elektronisch geliefert. Dies erlaubt es einem Lieferanten vorteilhafterweise, die zum Kunden passende Software zu einem späteren Zeitpunkt aus der Dokumentation wiederherzustellen.
  • Die Erfindung wird im folgenden beispielhaft anhand der Zeichnungen beschrieben, in diesen ist:
  • 1 ein Blockdiagramm einer Web-Server/Kunde-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung,
  • 2 ein Blockdiagramm eines Software-Prozesses, der auf einem Web-Server implementiert ist, gemäß einer Ausführungsform der vorliegenden Erfindung, und
  • 3 ein Flußdiagramm des Software-Prozesses, der auf einem Web-Server implementiert ist, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Die vorliegende Erfindung betrifft in breitem Umfang eine Technik, um einem Kunden kundenangepaßte Software elektronisch zu liefern. Zu Beginn liefert ein Kunde eine Kundenspezifikation über eine Web-Schnittstelle. Diese Web-Schnittstelle umfaßt typischerweise ein Formular, das der Kunde ausfüllt. Als nächstes wird aus der Kundenspezifikation eine zum Kunden passende Software hergestellt. Schließlich wird dem Kunden (z.B. durch E-mail) die zum Kunden passende Software elektronisch geliefert. Bei einer Ausführungsform prüft ein JavaScript-Preprozessor die Spezifikation des Kunden auf Eingabefehler und fordert den Kunden auf, jegliche festgestellte Fehler zu korrigieren, bevor fortgefahren wird. Bei einer anderen Ausführungsform wird auf der Grundlage der empfangenen Kundenspezifikation unter Verwendung eines Common-Gateway-Interface-Programms (CGI-Programms) eine Spezifikationsdatei hergestellt.
  • Das CGI-Programm kann in praktisch jeder Programmiersprache geschrieben sein (z.B. C, Perl, Java oder Visual Basic). Dann wird auf der Grundlage der Spezifikationsdatei eine zum Kunden passende ausführbare Datei hergestellt. Die zum Kunden passende ausführbare Datei wird hergestellt, indem generischer Quellcode ausgewählt wird und der generische Quellcode auf der Grundlage der Spezifikationsdatei abgeändert wird. Der abgeänderte generische Quellcode wird dann kompiliert und gelinkt, um eine ausführbare Datei herzustellen. Wenn die ausführbare Datei nicht in einem zum Kunden passenden Format vorliegt, wird die ausführbare Datei in eine zum Kunden passende, ausführbare Datei umgewandelt. Dem Kunden wird vorzugsweise auch die Dokumentation für die zum Kunden passende Software elektronisch geliefert. Dies ist dadurch vorteilhaft, daß ein Lieferant die zum Kunden passende Software zu einem späteren Zeitpunkt aus der Dokumentation wiederherstellen kann.
  • Wie der Fachmann weiß, ist ein Halteprogramm (keep-alive) ein Software-Teil, das bei Prüfstellen in der Produktion dazu verwendet wird, einen Prüfling wachzuhalten. Der Prüfling kann beispielsweise ein Radio, ein Verstärker, ein Kommunikationsport oder ein OnStar®-Empfänger sein. Ein Halteprogramm hält einen Prüfling wach, indem bestimmte Nachrichten der Klasse 2 (C2) gesandt werden und dadurch andere Geräte imitiert werden, die im normalen Gebrauch den Prüfling wachhalten würden.
  • Bei einer bevorzugten Ausführungsform beruhen die Halteprogramme auf einem Mikroprozessor von Texas Instruments (ein TMS370) und einem Baukasten-Software-Paket für diesen Prozessor. Während die Diskussion hierin vorwiegend auf Halteprogramme fokussiert ist, wird der Fachmann feststellen, daß die hierin beschriebenen Techniken auf jede Situation anwendbar sind, in der ein Programm Quellcode, der in einer Bibliothek bereitgestellt wird, auf der Grundlage einer Kundenspezifikation auswählt und abändert.
  • Bei einer typischen Anwendung kann ein Web-Server, wie er hierin beschrieben ist, dazu verwendet werden, Halteprogramm-Software-Archive zu warten und/oder neue Halteprogramm-Software herzustellen. Bei einer Grundausführungsform kann Halteprogramm-Software hergestellt werden, die Einschalt- oder Hochfahrnachrichten (z.B. Aufwachen), periodische Nachrichten (z.B. "Gesundheits"- oder Betriebszustand) und Auslöse-/Antwortnachrichten (z.B. Netz- oder Leistungsmodus) einsetzt.
  • Gemäß einer Ausführungsform der Erfindung umfaßt eine typische Web-Seite ein Formular. Das Formular erlaubt es einem Kunden, beispielsweise einen Projektnamen, einen Namen der Person, die das Halteprogramm anfordert, die E-mail-Adresse der Person und die Telefonnummer der Person einzugeben. Das hierin beschriebene Formular erlaubt es einem Kunden, Nachrichten einzugeben, indem Hexadezimalwerte in einen Eingabekasten des Formulars eingegeben werden. Bei der offenbarten Ausführungsform werden Bytes in einer Nachricht durch Leerzeichen getrennt, während Nachrichten durch Semikolons getrennt werden. Einer Auslösenachricht folgen ein Gleichheitszeichen und eine oder mehrere Antwortnachrichten, die durch Kommata getrennt sind. Eine Auslöse-/Antwort nachricht ist von einer anderen Auslöse/Antwortnachricht durch ein Semikolon getrennt.
  • Wenn ein Kunde die angeforderte Information übergeben hat, wählt ein Halteprogramm-Prozeßcode generischen Quellcode aus einer Bibliothek mit generischem Quellcode (auf der Grundlage der Auswahl des Kunden) aus. Der Halteprogramm-Prozeßcode bewirkt dann, daß die Kundennachrichten in den zuvor existierenden Quellcode eingefügt werden. Wie es oben festgestellt wurde, verwendet der Web-Server bei einer Ausführungsform einen TMS370-Kompiler und Linker, der den generischen Quellcode auf der Grundlage des TMS370 kompiliert und linkt. Die von dem TMS370-Kompiler hergestellte ausführbare Datei liegt in einem OUT-Format vor (ein ausführbares Format von Texas Instruments).
  • Als allgemeine Regel wird die ausführbare Datei im OUT-Format in eine ausführbare Datei im PTP-Format (ein Format einer ausführbaren Datei von Motorola) umgewandelt. Das CGI-Programm empfängt die zum Kunden passende ausführbare Datei und liefert dem Kunden die Spezifikationsdatei (Dokumentation) und die ausführbare Datei des Kunden elektronisch via E-mail. Auf diese Weise kann der Web-Server Halteprogramme herstellen, verfolgen und neu hergestellte Halteprogramme speichern. Dies verringert die Notwendigkeit, daß ein Software-Ingenieur diese Aufgabe durchführen muß. Das heißt, unter der Voraussetzung, daß der generische Quellcode in der Bibliothek hergestellt worden ist, kann der Web-Server eine Kundenspezifikation empfangen, eine ausführbare Datei für die Kundenspezifkation herstellen und einem Kunden die ausführbare Datei und die Dokumentation für die ausführbare Datei liefern, und zwar ohne menschliches Eingreifen auf Seiten des Lieferanten.
  • 1 ist ein Blockdiagramm einer Web-Server-Kunde-Anordnung gemäß einer Ausführungsform der vorliegenden Erfindung. Bei dieser Ausführungsform ist eine Workstation 104 (z.B. über eine Netzwerkschnittstellenkarte (NIC) und ein Ethernet) an einen Netzwerk-Server 106 gekoppelt. Der Netzwerk-Server 106 ist an einen Internet-Service-Provider (ISPB) 108 beispielsweise via eine T1-Leitung gekoppelt. Ebenso ist an den ISPB 108 eine Workstation 102 gekoppelt. Der ISPB 108 ist an einen Web-Server 118 via Internet 100, einen ISPA 110 und an einen Netzwerk-Server 116 gekoppelt. Ebenso ist an den ISPA 110 eine Workstation 112 und ein Netzwerk-Server 114 gekoppelt.
  • An den Netzwerk-Server 116 ist auch eine Workstation 124 gekoppelt. An den Web-Server 118 ist, wie gezeigt, auch eine Workstation 120 gekoppelt. Die Workstation 120, die Workstation 124, der Netzwerk-Server 116 und der Web-Server 118 bilden ein Intranet 126. Wenn ein Kunde an Workstation 104 mit dem Web-Server 118 kommunizieren will, wird dies über den Netzwerk-Server 106 bewerkstelligt. Der Netzwerk-Server 106 kommuniziert mit ISPB 108. ISPB 108 kommuniziert mit ISPA 110 (via Internet 100). ISPA 110 kommuniziert mit Netzwerk-Server 116, der wiederum mit Web-Server 118 kommuniziert. Bei dieser Anordnung wird der gesamte Verkehr zwischen Internet 100 und Intranet 126 über ISPA 110 geroutet, d.h. geführt.
  • Auf eine ähnliche Weise kommuniziert ein Kunde an Workstation 102 mit dem Web-Server 118 über ISPB 108, ISPA 110 und Netzwerk-Server 116. Ein Kunde innerhalb des Intranets 126 kann mit dem Web-Server 118 über Workstation 120 oder Workstation 124 (via Netzwerk-Server 116) kommunizieren. Ein Kunde an Workstation 112 kommuniziert typischerweise mit dem Web-Server 118 via ISPA 110 und Netzwerk-Server 116.
  • 2 ist ein Blockdiagramm eines beispielhaften, auf dem Web-Server 118 implementieren Software-Prozesses gemäß einer Ausführungsform der vorliegenden Erfindung. Bei dieser Ausführungsform kommuniziert ein Benutzer mit dem Web-Server 118 über eine Web-Schnittstelle 202. Die Web-Schnittstelle 202 liefert einem CGI-Programm 204 eine Benutzereingabe. Der Fachmann wird feststellen, daß das CGI-Programm 204 durch eine Web-basierte Anwendung ersetzt werden könnte, die je nachdem mit einer Internet-Server-Anwendungsprogrammschnittstelle (ISAPI oder Internet server application program interface) oder einer Netscape-Server-Anwendungsprogrammiererschnittstelle (NSAPI oder Netscape server application programmer interface) eine Schnittstelle bilden kann. Wie es zuvor diskutiert wurde, stellt das CGI-Programm 204 eine Spezifikationsdatei her, die dem Halteprogramm-Prozeßcode 208 übergeben wird. Alternativ könnte das CGI-Programm 204 die vom Benutzer gelieferte Eingabe in einem Speicher speichern und einen Zeiger bereitstellen, so daß der Code 208 auf die Information zugreifen könnte. Der Halteprogramm-Prozeßcode 208 wählt einen Quellcode aus einer Bibliothek mit generischem Quellcode 210 auf der Grundlage der Information (z.B. Spezifikationsdatei) aus. Bei der Auswahl des Quellcodes aus der Bibliothek 210 bewirkt der Halteprogramm-Prozeßcode 208, daß von dem Kunden gelieferte Nachrichten in den ausgewählten Code eingefügt werden.
  • Unter der Leitung des Halteprogramm-Prozeßcodes 208 kompiliert und linkt ein TMS370-Kompiler und Linker 212 den ausgewählten, abgeänderten Code. Der TMS370-Kompiler und Linker 212 liefert eine ausführ bare Datei in einem OUT-Format. Bei einer bevorzugten Ausführungsform wandelt ein Wandler 214 (unter der Leitung des Halteprogramm-Prozeßcodes 208) die ausführbare Datei aus dem OUT-Format in ein PTP-Format um. Das PTP-Format ist ein Format einer ausführbaren Datei von Motorola. Ein Fachmann wird feststellen, daß ausführbare Dateien für verschiedene Hardware-Plattformen hergestellt werden können und daß das dem Kunden gelieferte Format ebenso verändert werden kann. Der Halteprogramm-Prozeßcode 208 liefert dann dem CGI-Programm 204 die ausführbare Datei. Das CGI-Programm 204, das zuvor die Dokumentation (z.B. die Spezifikationsdatei) für die ausführbare Datei hergestellt hat, liefert dem Kunden (via Internet) 100 sowohl die ausführbare Datei als auch die Dokumentation via E-mail-Routine 206. Die Dokumentation kann an die E-mail angehängt oder in die E-mail-Nachricht eingefügt werden. Der Fachmann wird feststellen, daß die E-mail-Routine 206 in dem CGI-Programm 204 enthalten sein kann. Ein Fachmann wird auch feststellen, daß statt der Lieferung einer ausführbaren Datei an einen Kunden, der Web-Server dem Kunden Quellcode liefern könnte.
  • 3 ist ein Flußdiagramm eines Prozesses oder Verfahrens zur Herstellung und Dokumentation von Halteprogramm-Software 300 gemäß einer Ausführungsform der vorliegenden Erfindung. Bei Schritt 302 wird der Prozeß 300 eingeleitet. Von Schritt 302 aus geht die Kontrolle zu Schritt 304 über. Bei Schritt 304 gibt ein Kunde zu Beginn über die Web-Schnittstelle eine Kundenspezifikation ein oder korrigiert diese. Die Web-Schnittstelle stellt ein Formular (Web-Seite) bereit, in die der Kunde die Anforderungen für das Halteprogramm eingibt. Von Schritt 304 aus geht die Kontrolle zu Schritt 306 über. Bei Schritt 306 bestimmt der Prozeß 300, ob bestimmte, übliche Eingabefehler aufgetreten sind. Wenn dies der Fall ist, geht die Kontrolle von Schritt 306 zu Schritt 304 über (bei dem ein Kunde aufgefordert wird, die Eingabefehler zu korrigieren). Wenn dies nicht der Fall ist, geht die Kontrolle von Schritt 306 zu Schritt 308 über. Bei Schritt 308 stellt ein CGI-Programm auf der Grundlage der Kundenspezifikation eine Spezifikationsdatei her. Wie es zuvor diskutiert wurde, wird diese Spezifikation in ein vom Web-Server bereitgestelltes Formular eingegeben. Von Schritt 308 aus geht die Kontrolle dann zu Schritt 310 über.
  • Bei Schritt 310 wählt der Halteprogramm-Prozeßcode Quellcode aus einer Bibliothek mit generischem Quellcode (auf der Grundlage der Spezifikationsdatei) aus. Von Schritt 310 aus geht die Kontrolle zu Schritt 312 über. Bei Schritt 312 wird der generische Quellcode unter der Leitung des Halteprogramm-Prozeßcodes abgeändert (d.h., der Halteprogramm-Prozeßcode bewirkt, daß die von dem Kunden gelieferten Befehle in den ausgewählten Quellcode eingefügt werden). Von Schritt 312 aus geht die Kontrolle zu Schritt 314 über. Bei Schritt 314 wird der abgeänderte Quellcode unter der Steuerung des Halteprogramm-Prozeßcodes kompiliert. Von Schritt 314 aus geht die Kontrolle zu Schritt 316 über. Bei Schritt 316 wird der kompilierte, abgeänderte Quellcode unter der Leitung des Halteprogramm-Prozeßcodes gelinkt, um eine ausführbare Datei herzustellen. Von Schritt 316 aus geht die Kontrolle zu Schritt 318 über. Bei Schritt 318 wird die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt. Von Schritt 318 aus geht die Kontrolle zu Schritt 320 über. Bei Schritt 320 werden dem Kunden die Dokumentation und die zum Kunden passende ausführbare Datei elektronisch via E-mail geliefert. Von Schritt 320 aus geht die Kontrolle zu Schritt 322 über. Bei Schritt 322 endet der Prozeß 300.
  • Zusammengefaßt wird eine Web-Schnittstelle dazu benutzt, es einem Kunden zu erlauben, die Spezifikation für die Software einzugeben. Sobald auf den Übergabe-Knopf zugegriffen wird, prüft ein Web-Browser auf einige typische Fehler in der Eingabe. Die Eingabefehler werden vorzugsweise unter Verwendung eines JavaScript-Preprozessors geprüft. Wenn keine Fehler festgestellt werden, wird die Information von einem CGI-Programm dazu verwendet, eine Spezifikationsdatei herzustellen. Dann wählt ein Halteprogramm-Prozeßcode auf der Grundlage der Spezifikationsdatei Quellcode aus einer Bibliothek aus. Der Halteprogramm-Prozeßcode bewirkt dann, daß der ausgewählte Quellcode abgeändert wird. Der abgeänderte Quellcode wird dann kompiliert, gelinkt und (gegebenenfalls) in ein zum Kunden passendes Format umgewandelt. Wenn dieser Prozeß abgeschlossen ist, übernimmt das CGI-Programm die Kontrolle und bewirkt, daß dem Kunden sowohl die Software als auch die Spezifikationsdatei per E-mail geschickt werden. Die Spezifikationsdatei wird zu Dokumentationszwecken verwendet und kann dafür benutzt werden, die Software, die sie beschreibt, wiederherzustellen. Die zuvor beschriebene Technik stellt vorteilhafterweise eine sowohl maschinenlesbare als auch von Menschen lesbare Dokumentation ohne Eingriff von Seiten des Lieferanten bereit. Bei den offenbarten Ausführungsformen ist die Software ein Halteprogramm. Wie es oben diskutiert wurde, ist ein Halteprogramm ein Software-Teil, das bei einer Prüfstelle für Kraftfahrzeugelektronik in der Produktion dazu verwendet wird, ein elektronisches Gerät wachzuhalten. Wie es zuvor erwähnt wurde, kann das elektronische Gerät ein Radio, ein Verstärker, ein Kommunikationsport, ein OnStar®-Empfänger oder irgendeine Anzahl von elektronischen Geräten sein, die in der Umgebung eines Kraftfahrzeugs verwendet werden.
  • Abschließend ist festzustellen, daß eine zu einem Kunden passende Software einem Kunden 320 auf der Grundlage einer über eine Web-Schnittstelle 202 gelieferten Kundenspezifikation elektronisch geliefert wird. Bei einer Ausführungsform wird die Spezifikation auf Eingabefehler geprüft 306, und der Kunde wird aufgefordert, jegliche festgestellte Fehler zu korrigieren, bevor fortgefahren wird 304. Bei einer anderen Ausführungsform wird von einem Common-Gateway-Interface-Programm (CGI-Programm) 204 auf der Grundlage der empfangenen Kundenspezifikation eine Spezifikationsdatei hergestellt 308. Dann wird eine zum Kunden passende ausführbare Datei hergestellt, indem zunächst generischer Quellcode aus einer Bibliothek (auf der Grundlage der Spezifikationsdatei) ausgewählt wird 310. Als nächstes wird der generische Quellcode (auf der Grundlage der Spezifikationsdatei) abgeändert 312. Dann wird der abgeänderte, generische Quellcode kompiliert 314 und gelinkt 316, um eine ausführbare Datei zu schaffen. Schließlich wird die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt 318 und dem Kunden via E-mail mit einer Dokumentation geliefert 320.

Claims (9)

  1. Verfahren zum elektronischen Liefern kundenangepasster Software an einen Kunden mit den Schritten, dass: eine Kundenspezifikation empfangen wird (304), automatisch zum Kunden passende Software hergestellt wird, die die Kundenspezifikation erfüllt (308318), und die zum Kunden passende Software dem Kunden elektronisch geliefert wird (320), dadurch gekennzeichnet, dass die Kundenspezifikation über eine Web-Schnittstelle (202) empfangen wird (304), dass zum Herstellen der Software eine Spezifikationsdatei auf der Grundlage der empfangenen Kundenspezifikation unter Verwendung eines Common-Gateway-Interface-Programms (CGI-Programms) (204) hergestellt wird (308), und eine zum Kunden passende ausführbare Datei auf der Grundlage der Spezifikationsdatei hergestellt wird (310318), wobei zum Herstellen der zum Kunden passenden ausführbaren Datei generischer Quellcode auf der Grundlage der Spezifikationsdatei ausgewählt wird (310), der generische Quellcode auf der Grundlage der Spezifikationsdatei abgeändert wird (312), der abgeänderte, generische Quellcode (314) kompiliert wird, der kompilierte, abgeänderte, generische Quellcode gelinkt wird, um eine ausführbare Datei zu schaffen (316), und die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt wird (318).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Empfangens der Kundenspezifikation die Schritte umfasst, dass: die Kundenspezifikation auf Eingabefehler geprüft wird (306), und der Kunde aufgefordert wird, jegliche festgestellte Fehler zu korrigieren, bevor fortgefahren wird (304).
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,dass die Kundenspezifikation von einem JavaScript-Preprozessor auf Eingabefehler geprüft wird.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass das CGI-Programm (204) in Perl geschrieben ist.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass es den Schritt umfasst, dass: dem Kunden elektronisch eine Dokumentation für die zum Kunden passende Software geliefert wird (320), wobei ein Lieferant die zum Kunden passende Software aus der Dokumentation wiederherstellen kann.
  6. Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass der Kunde die Kundenspezifikation liefert, indem er auf eine Web-Seite des Lieferanten zugreift und ein über die Web-Schnittstelle (202) bereitgestelltes Formular ausfüllt (304).
  7. Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass die zum Kunden passende Software ein Halteprogramm ist.
  8. Web-basiertes Software-Liefersystem zum elektronischen Liefern kundenangepasster Software an einen Kunden, umfassend: einen Web-Server (118), und Software-Entwicklungscode (203, 208), der sich auf dem Web-Server (118) befindet und zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche ausgebildet ist.
  9. Web-basiertes Software-Liefersystem nach Anspruch 8, dadurch gekennzeichnet, dass die kundenangepasste Software ein Halteprogramm ist, das zum Liefern an einen Kunden bei einer Prüfstelle für Kraftfahrzeugelektronik in der Produktion ausgebildet ist.
DE10063249A 1999-12-20 2000-12-19 Web-basierte Entwicklung von Software Expired - Fee Related DE10063249B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/467,396 US6925445B1 (en) 1999-12-20 1999-12-20 Web-based design of software for keep-alive boards
US09/467396 1999-12-20

Publications (2)

Publication Number Publication Date
DE10063249A1 DE10063249A1 (de) 2001-06-21
DE10063249B4 true DE10063249B4 (de) 2006-03-02

Family

ID=23855517

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10063249A Expired - Fee Related DE10063249B4 (de) 1999-12-20 2000-12-19 Web-basierte Entwicklung von Software

Country Status (2)

Country Link
US (1) US6925445B1 (de)
DE (1) DE10063249B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058699B1 (en) * 2000-06-16 2006-06-06 Yahoo! Inc. System and methods for implementing code translations that enable persistent client-server communication via a proxy
KR20060082353A (ko) * 2005-01-12 2006-07-18 와이더댄 주식회사 실행가능 웹 컨텐트 제공 및 처리 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037500A1 (en) * 1997-02-24 1998-08-27 Xilinx, Inc. Method for configuring circuits over a data communications link

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163878A (en) * 1998-03-31 2000-12-19 Jereme Kohl Method and system for designing, generating and storing applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037500A1 (en) * 1997-02-24 1998-08-27 Xilinx, Inc. Method for configuring circuits over a data communications link

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SINHA, A.: CHAUDHURI, A.: On-line configuration of control algorithm for a real-time process con- trol environment: Software Engineering for Real Time Systems, 1989, 2nd International Conference on, 18-20 Sep 1989, pp. 233-236 (IEEE) *

Also Published As

Publication number Publication date
DE10063249A1 (de) 2001-06-21
US6925445B1 (en) 2005-08-02

Similar Documents

Publication Publication Date Title
EP1385071B1 (de) Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern
DE19639424A1 (de) Entwurfsverfahren für die Anlagentechnik und rechnergestütztes Projektierungssystem zur Verwendung bei diesem Verfahren
DE10021698A1 (de) Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem
DE102005026040A1 (de) Parametrierung eines Simulations-Arbeitsmodells
EP1638028A2 (de) Rechnergestützte Erzeugung und Änderungsmanagement für Bedienoberflächen
DE10036160B4 (de) Steuerprogramm-Entwicklungssystem und Monitoreinrichtung
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
DE60219570T2 (de) Simulationsvorrichtung
EP0370327A2 (de) Optimierer für ein parameterabhängiges Netzwerksystem
DE10063249B4 (de) Web-basierte Entwicklung von Software
DE10245641B4 (de) Verfahren zur Aktualisierung des lokalen Managementsystems in mindestens einem Netzelement eines Telekommunikationsnetzwerkes
WO2000054188A2 (de) Verfahren zur automatischen wiedergewinnung von engineeringdaten aus anlagen
DE10333889A1 (de) Verfahren zum Erzeugen einer eine spezifische Automatisierungsanlage beschreibenden Strukturdarstellung
EP3979009A1 (de) Erzeugen eines vereinfachten modells für xil-systeme
DE102004040795A1 (de) Verfahren, Vorrichtung und Sofwaremodul zur softwaretechnischen Abbildung des Geräteverhaltens eines realen Hausgeräts in einem Modell
WO2006081869A1 (de) Vorrichtung und verfahren zum testen von komponenten und systemen
EP1454201A1 (de) Engineeringsystem und automatisierungssystem
EP3894267A1 (de) Ladesystem für elektrofahrzeuge
DE10307332A1 (de) Elektrisches Automatisierungsgerät und Verfahren zum Einstellen der Funktionen des Elektrischen Automatisierungsgerätes
EP1674953B1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
DE102017212612A1 (de) Verfahren zum automatischen Erzeugen von Tests für die Software eines Fahrzeugs
DE102012108490B4 (de) Verfahren und Simulationsumgebung zur flexiblen automatisierten Verbindung von Teilmodellen
DE102004050293B3 (de) Verfahren zur Simulation des Betriebs eines Netzwerks
DE10333885A1 (de) Verfahren zum Einbinden von Feldgeräten in ein Automatisierungssystem
DE19906177C1 (de) Verfahren und Vorrichtung zur Übertragung von Simulationsmodellen zwischen Simulatoren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110701