DE10063249B4 - Web-basierte Entwicklung von Software - Google Patents
Web-basierte Entwicklung von Software Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0621—Item 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...
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 Workstation104 (z.B. über eine Netzwerkschnittstellenkarte (NIC) und ein Ethernet) an einen Netzwerk-Server106 gekoppelt. Der Netzwerk-Server106 ist an einen Internet-Service-Provider (ISPB)108 beispielsweise via eine T1-Leitung gekoppelt. Ebenso ist an den ISPB108 eine Workstation102 gekoppelt. Der ISPB108 ist an einen Web-Server118 via Internet100 , einen ISPA110 und an einen Netzwerk-Server116 gekoppelt. Ebenso ist an den ISPA110 eine Workstation112 und ein Netzwerk-Server114 gekoppelt. - An den Netzwerk-Server
116 ist auch eine Workstation124 gekoppelt. An den Web-Server118 ist, wie gezeigt, auch eine Workstation120 gekoppelt. Die Workstation120 , die Workstation124 , der Netzwerk-Server116 und der Web-Server118 bilden ein Intranet126 . Wenn ein Kunde an Workstation104 mit dem Web-Server118 kommunizieren will, wird dies über den Netzwerk-Server106 bewerkstelligt. Der Netzwerk-Server106 kommuniziert mit ISPB108 . ISPB108 kommuniziert mit ISPA110 (via Internet100 ). ISPA110 kommuniziert mit Netzwerk-Server116 , der wiederum mit Web-Server118 kommuniziert. Bei dieser Anordnung wird der gesamte Verkehr zwischen Internet100 und Intranet126 über ISPA110 geroutet, d.h. geführt. - Auf eine ähnliche Weise kommuniziert ein Kunde an Workstation
102 mit dem Web-Server118 über ISPB108 , ISPA110 und Netzwerk-Server116 . Ein Kunde innerhalb des Intranets126 kann mit dem Web-Server118 über Workstation120 oder Workstation124 (via Netzwerk-Server116 ) kommunizieren. Ein Kunde an Workstation112 kommuniziert typischerweise mit dem Web-Server118 via ISPA110 und Netzwerk-Server116 . -
2 ist ein Blockdiagramm eines beispielhaften, auf dem Web-Server118 implementieren Software-Prozesses gemäß einer Ausführungsform der vorliegenden Erfindung. Bei dieser Ausführungsform kommuniziert ein Benutzer mit dem Web-Server118 über eine Web-Schnittstelle202 . Die Web-Schnittstelle202 liefert einem CGI-Programm204 eine Benutzereingabe. Der Fachmann wird feststellen, daß das CGI-Programm204 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-Programm204 eine Spezifikationsdatei her, die dem Halteprogramm-Prozeßcode208 übergeben wird. Alternativ könnte das CGI-Programm204 die vom Benutzer gelieferte Eingabe in einem Speicher speichern und einen Zeiger bereitstellen, so daß der Code208 auf die Information zugreifen könnte. Der Halteprogramm-Prozeßcode208 wählt einen Quellcode aus einer Bibliothek mit generischem Quellcode210 auf der Grundlage der Information (z.B. Spezifikationsdatei) aus. Bei der Auswahl des Quellcodes aus der Bibliothek210 bewirkt der Halteprogramm-Prozeßcode208 , 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 Linker212 den ausgewählten, abgeänderten Code. Der TMS370-Kompiler und Linker212 liefert eine ausführ bare Datei in einem OUT-Format. Bei einer bevorzugten Ausführungsform wandelt ein Wandler214 (unter der Leitung des Halteprogramm-Prozeßcodes208 ) 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ßcode208 liefert dann dem CGI-Programm204 die ausführbare Datei. Das CGI-Programm204 , 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-Routine206 . 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-Routine206 in dem CGI-Programm204 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-Software300 gemäß einer Ausführungsform der vorliegenden Erfindung. Bei Schritt302 wird der Prozeß300 eingeleitet. Von Schritt302 aus geht die Kontrolle zu Schritt304 über. Bei Schritt304 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 Schritt304 aus geht die Kontrolle zu Schritt306 über. Bei Schritt306 bestimmt der Prozeß300 , ob bestimmte, übliche Eingabefehler aufgetreten sind. Wenn dies der Fall ist, geht die Kontrolle von Schritt306 zu Schritt304 über (bei dem ein Kunde aufgefordert wird, die Eingabefehler zu korrigieren). Wenn dies nicht der Fall ist, geht die Kontrolle von Schritt306 zu Schritt308 über. Bei Schritt308 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 Schritt308 aus geht die Kontrolle dann zu Schritt310 über. - Bei Schritt
310 wählt der Halteprogramm-Prozeßcode Quellcode aus einer Bibliothek mit generischem Quellcode (auf der Grundlage der Spezifikationsdatei) aus. Von Schritt310 aus geht die Kontrolle zu Schritt312 über. Bei Schritt312 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 Schritt312 aus geht die Kontrolle zu Schritt314 über. Bei Schritt314 wird der abgeänderte Quellcode unter der Steuerung des Halteprogramm-Prozeßcodes kompiliert. Von Schritt314 aus geht die Kontrolle zu Schritt316 über. Bei Schritt316 wird der kompilierte, abgeänderte Quellcode unter der Leitung des Halteprogramm-Prozeßcodes gelinkt, um eine ausführbare Datei herzustellen. Von Schritt316 aus geht die Kontrolle zu Schritt318 über. Bei Schritt318 wird die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt. Von Schritt318 aus geht die Kontrolle zu Schritt320 über. Bei Schritt320 werden dem Kunden die Dokumentation und die zum Kunden passende ausführbare Datei elektronisch via E-mail geliefert. Von Schritt320 aus geht die Kontrolle zu Schritt322 über. Bei Schritt322 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-Schnittstelle202 gelieferten Kundenspezifikation elektronisch geliefert wird. Bei einer Ausführungsform wird die Spezifikation auf Eingabefehler geprüft306 , und der Kunde wird aufgefordert, jegliche festgestellte Fehler zu korrigieren, bevor fortgefahren wird304 . Bei einer anderen Ausführungsform wird von einem Common-Gateway-Interface-Programm (CGI-Programm)204 auf der Grundlage der empfangenen Kundenspezifikation eine Spezifikationsdatei hergestellt308 . 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 wird310 . Als nächstes wird der generische Quellcode (auf der Grundlage der Spezifikationsdatei) abgeändert312 . Dann wird der abgeänderte, generische Quellcode kompiliert314 und gelinkt316 , um eine ausführbare Datei zu schaffen. Schließlich wird die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt318 und dem Kunden via E-mail mit einer Dokumentation geliefert320 .
Claims (9)
- 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 zu schaffen (316 ), und die ausführbare Datei in eine zum Kunden passende ausführbare Datei umgewandelt wird (318 ). - 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 ). - Verfahren nach Anspruch 2, dadurch gekennzeichnet,dass die Kundenspezifikation von einem JavaScript-Preprozessor auf Eingabefehler geprüft wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass das CGI-Programm (
204 ) in Perl geschrieben ist. - 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.
- 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 ). - Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass die zum Kunden passende Software ein Halteprogramm ist.
- 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. - 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.
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)
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)
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)
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 |
-
1999
- 1999-12-20 US US09/467,396 patent/US6925445B1/en not_active Expired - Fee Related
-
2000
- 2000-12-19 DE DE10063249A patent/DE10063249B4/de not_active Expired - Fee Related
Patent Citations (1)
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)
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 |