DE19922767A1 - Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file - Google Patents

Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file

Info

Publication number
DE19922767A1
DE19922767A1 DE1999122767 DE19922767A DE19922767A1 DE 19922767 A1 DE19922767 A1 DE 19922767A1 DE 1999122767 DE1999122767 DE 1999122767 DE 19922767 A DE19922767 A DE 19922767A DE 19922767 A1 DE19922767 A1 DE 19922767A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
step
steps
method
computer system
component
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.)
Ceased
Application number
DE1999122767
Other languages
German (de)
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.)
Dell USA LP
Original Assignee
Dell USA LP
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Abstract

The method involves reading component descriptors from a file, and reading steps from a database, each step being assigned to a component descriptor and comprises a corresponding sequence number. The steps are brought into a predetermined sequence in accordance with the sequence numbers, to create a sequence of steps with commands for the installation of software and/or testing the computer system. It is determined if each step is incompatible with the presence of a component other than that corresponding to the component descriptor, and rejects the step accordingly.

Description

Hintergrund background

Die vorliegende Offenbarungen betreffen eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems. The present disclosures relate to an apparatus for use in the production of a computer system.

Die Anmeldung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nr. 198 36 328.1 verwandt, die am 11. August 1998 eingereicht worden ist mit dem Titel SOFTWARE-INSTALLATION UND TESTEN FÜR EIN GEMÄSS EINER BESTELLUNG GEBAUTES COMPUTERSYSTEM mit den Erfindern Richard D. Amberg, Roger W. Wong und Michael A. Brundridge. The application is related to co-pending German patent application no. 198 36 328.1, filed on August 11, 1998 entitled SOFTWARE INSTALLATION AND TESTING FOR UNDER AN ORDER BUILT COMPUTER SYSTEM with inventors Richard D. Amberg, Roger W. Wong and Michael A. Brundridge.

Die Anmeldung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nummer 198 36 333.8 verwandt, die am 11. August 1998 eingereicht worden ist mit dem Titel SOFTWARE-INSTALLATION UND TESTEN FÜR EIN GEMÄß EINER BESTELLUNG GEBAUTES COMPUTERSYSTEM mit den Erfindern Richard D. Amberg, Roger W. Wong und Michael A. Brundridge. The application is related to co-pending German patent application number 198 36 333.8, filed on August 11, 1998 entitled SOFTWARE INSTALLATION AND TESTING FOR PURSUANT TO AN ORDER BUILT COMPUTER SYSTEM with inventors Richard D. Amberg, Roger W. Wong and Michael A. Brundridge.

Die Anmeldung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nr. 198 36 381.8 verwandt, die am 11. August 1998 eingereicht worden ist mit dem Titel DATENBANK ZUM ERLEICHTERN DER SOFTWARE- INSTALLATION UND DES TESTENS FÜR EIN GEMÄSS EINER BESTELLUNG GEBAUTES COMPUTERSYSTEM der Erfinder Richard D. Amberg, Roger W. Wong und Michael A. Brundridge. The application is related to co-pending German patent application no. 198 36 381.8, filed on August 11, 1998 entitled DATABASE TO FACILITATE THE SOFTWARE INSTALLATION and testing FOR UNDER AN ORDER BUILT COMPUTER SYSTEM inventor Richard D. Amberg, Roger W. Wong and Michael A. Brundridge.

Diese ebenfalls anhängigen Anmeldungen werden hiermit durch Referenz in ihrer Gesamtheit mit aufgenommen und sind dem Anmelder dieser Erfindung zugewiesen. These co-pending applications are hereby incorporated by reference in their entirety and assigned to the assignee of this invention.

Personalcomputersysteme im allgemeinen und IBM-kompatible Personalcomputersysteme im besonderen sind weit verbreitet, um für viele Bereiche der Gesellschaft Rechnerleistung zur Verfügung zu stellen. Personal computer systems in general and IBM-compatible personal computer systems in particular are widely used to provide computing power to many areas of society. Ein Personalcomputersystem kann als ein auf einem Tisch oder dem Boden angeordneter oder auch tragbarer Mikrocomputer definiert sein, der eine Systemeinheit umfaßt, die einen Systemprozessor und zugehörigen flüchtigen und nicht-flüchtigen Speicher, einen Bildschirm, eine Tastatur, ein oder mehrere Diskettenlaufwerke, einen Festplattenspeicher und einen optionalen Drucker umfaßt. A personal computer system may be defined as a arranged on a table or floor, or portable microcomputer that includes a system unit having a system processor and associated volatile and non-volatile memory, a screen, a keyboard, one or more diskette drives, a fixed disk storage, and includes an optional printer.

Es ist bekannt, Software zu installieren und Tests auf Computersystemen durchzuführen, bevor sie an Firmen oder einzelne Kunden versandt werden. It is known to install software and perform tests on computer systems before they are sent to companies or individual customers. Das Ziel der Software-Installation und des Testens ist es, auf effiziente Weise ein brauchbares und zuverlässiges Computersystem herzustellen, das fehlerfrei und betriebsfertig an Firmen und einzelne Kunden geliefert werden kann. The goal of the software installation and testing is to provide a useful and reliable computer system in an efficient manner that can be error-free and delivered ready to companies and individual clients. Das Testen entdeckt und analysiert im allgemeinen Fehler, die sowohl in der Hardware als auch in der Software des Computers auftreten. Testing discovered and analyzed generally errors that occur in both the hardware and the software of the computer. Tests der Hardware des Computers können die Diagnose von Hardware-Komponenten, wie zum Beispiel des Prozessors, des Speichers, der Festplatte, einer Audioeinrichtung, eine Grafikeinrichtung, der Tastatur, der Maus und des Druckers einschließen. Tests the hardware of the computer can diagnose hardware components, such as for example, include the processor, memory, hard disk, an audio device, a video device, the keyboard, mouse and printer. Im Rahmen der Software-Installation wird häufig ein gewünschtes Paket Software auf den Computer gespielt, passende Umgebungsvariablen für den Computer gesetzt und passende Initialisierungsdateien für die installierte Software erzeugt. As part of the software installation package a desired software is often played on the computer, set the appropriate environment variables for the computer and generates appropriate initialization files for the installed software. Im Rahmen des Software-Testens wird häufig sichergestellt, daß die gewünschte Version der Software auf dem Computersystem installiert worden ist und daß passende Treiber auf dem Computersystem vorhanden sind. In the context of software testing, is often ensured that the desired version of the software has been installed on the computer system and that the appropriate driver on the computer system are available.

In der Industrie ist es bekannt, während der Herstellung Software zu installieren und Computersysteme zu testen, indem ein festgelegtes Verfahren durchgeführt wird, bevor sie zu den Kunden versandt werden. In the industry it is known, while installing the production software and test computer systems by performing a fixed procedure before they are shipped to customers. Dazu wird beispielsweise eine Diskette erzeugt, die bestimmte Diagnosetests für bestimmte Typen von Computersystemen enthält. To a floppy disk, for example, created containing certain diagnostic tests for certain types of computer systems. Auf dieser Diskette sind lange, häufig komplizierte Batch-Dateien (Stapelverarbeitungsdateien), die die Software-Installation und die Diagnoseprozesse steuern. Included on this disc are long, often complicated batch files (batch files) that control the software installation and diagnostic processes. Die Diskette enthält ferner alle ausführbaren Dateien zur Durchführung von Tests auf dem gekauften Computersystem. The disk also contains all executables for performing tests on the purchased computer system.

Jedes Computersystem wird bei der Herstellung mit einer entsprechenden Kopie dieser Disketten versehen. Each computer system is provided at manufacture with a corresponding copy of the disks. Diese Disketten begleiten die Computersysteme während der Herstellung innerhalb der Fabrik, wobei auf dem jeweiligen Computersystem Tests entsprechend der Reihenfolge in der Batch-Datei durchgeführt werden. These diskettes accompany the computer systems during the production inside the factory, wherein tests are performed according to the order in the batch file on the particular computer system. Wenn bei diesem Verfahren eine Veränderung vorgenommen werden muß, wird die Batch-Datei entsprechend verändert, indem Teile des Codes der Batch-Datei hinzugefügt oder entfernt werden. When a change must be made in this process, the batch file is changed accordingly by parts of the code of the batch file are added or removed. Diese Veränderung der Batch-Datei führt zu einer entsprechenden Änderung der Testparameter (einschließlich der Reihenfolge, in der die Tests durchgeführt werden) für jedes nachfolgend gebaute Computersystem, da jedes Computersystem das Diagnoseverfahren gemäß der gleichen Batch-Datei durchläuft. This change in the batch file results in a corresponding change in the test parameters (including the order in which the tests are carried out) for each built below Computer system since each computer system passes the diagnostic method according to the same batch file.

Obwohl Diagnoseverfahren dieser Art sich bis zu einem gewissen Grad als brauchbar erwiesen haben, um die Zuverlässigkeit von Computersystemen vor dem Versenden zu erhöhen, sind dennoch Verbesserungen möglich. Although diagnostic methods of this type have to some degree been found useful to increase the reliability of computer systems before sending, but improvements are possible. So übersteigen beispielsweise die Batch-Datei und die ausführbaren Dateien der Diagnosetests häufig die Speicherkapazitäten einer Diskette, da das Testen immer komplizierter und gründlicher wird. So often exceed, for example, the batch file and the executable files of the diagnostic tests, the storage capacity of a floppy disk because the testing is more complicated and more thoroughly. Außerdem ist es häufig schwierig oder unmöglich, die Test- und Software-Installationsverfahren auf ein einzelnes, gemäß einer Bestellung gebautes Computersystem oder für eine bestimmte Familie von Computersystemen abzustimmen, ohne das Testen für andere Computersysteme oder -familien zu verändern. In addition, it is often difficult or impossible to match the test and software installation process to a single, built-to-order computer system or for a particular family of computer systems without changing the testing to other computer systems or families. Darüber hinaus ist es schwierig oder unmöglich, die Reihenfolge der Software-Installation oder des Testens für ein einzelnes, gemäß einer Bestellung gebautes Computersystem oder für eine bestimmte Familie von Computersystemen zu ändern, ohne die Reihenfolge für andere Computersysteme und -familien zu ändern. In addition, it is difficult or impossible to change the order of software installation or testing for an individual, according to an order-built computer system or for a particular family of computer systems without changing the order for other computer systems and families. Schließlich macht es die häufig komplizierte Natur der Struktur der verwendeten Batch-Dateien manchmal schwierig für den Hersteller, Fehler zu suchen oder die Verfahren zum Testen und zur Software-Installation schnell und effizient zu warten. Finally, it makes the often complex nature of the structure of batch files used sometimes difficult for the manufacturer to troubleshoot or the procedures for testing and software installation to service quickly and efficiently.

Daher wird ein Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems benötigt, das den Stand der Technik verbessert. Therefore, a method for installing software and / or for testing a computer system is needed which improves upon the prior art.

Zusammenfassung Summary

Gemäß einer Ausführung wird ein Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems geschaffen aufweisend das Lesen einer Vielzahl von Komponentendeskriptoren aus einer von einem Computer lesbaren Datei, wobei jeder Komponentendeskriptor eine entsprechende Komponente des Computersystems beschreibt, das Lesen einer Vielzahl von Schritten aus einer Datenbank, wobei jeder Schritt einem Komponentendeskriptor zugeordnet ist und eine entsprechende Reihenfolgenummer umfaßt und das In- Reihenfolge-Bringen der Vielzahl von Schritte in eine vorbestimmte Reihenfolge entsprechend den Reihenfolgenummern, um eine Schrittreihenfolge zu schaffen mit Befehlen zum Installieren von Software und/oder zum Testen des Computersystems, wobei das Verfahren ferner das Feststellen für jeden Schritt umfaßt, der aus der Datenbank gelesen worden ist aus Daten, die diesem Schritt aus der Datenbank zugeordnet sind, ob dieser Schritt inkompatibel ist mit der Anwesenheit in dem Compu According to one embodiment, a method for installing software and / or for testing a computer system is provided comprising reading a plurality of Komponentendeskriptoren of a computer readable file, each component descriptor describes a corresponding component of the computer system, the reading of a plurality of steps from a database, each step being associated with a component descriptor and includes a corresponding sequence number and the home order bringing the plurality of steps in a predetermined order corresponding to the sequence numbers in order to create a step sequence of instructions for installing software and / or for testing of the computer system, wherein the method further comprises determining for each step that has been read from the database of data associated with this step from the database, whether that step is incompatible with the presence in the Compu tersystem einer anderen Komponente als der, die dem Komponentendeskriptor entspricht, der dem Schritt zugeordnet ist, und in diesem Fall Verwerfen oder nicht Verwerfen des Schritts gemäß der weiteren Daten, die dem Schritt in der Datenbank zugeordnet sind. tersystem a component other than the one corresponding to the component descriptor that is associated with the step, and in this case discard or not discard the step according to the further data which is assigned to the step in the database.

Gemäß einer weiteren Ausführungsform wird ein Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems geschaffen, das aufweist das Lesen einer Vielzahl von Komponentendeskriptoren aus einer von einem Computer lesbaren Datei, wobei jeder Komponentendeskriptor eine entsprechende Komponente des Computersystems beschreibt, das Lesen der Vielzahl von Schritten aus einer Datenbank, wobei jeder Schritt einem Komponentendeskriptor zugeordnet ist und eine entsprechende Reihenfolgenummer aufweist und das In- Reihenfolge-Bringen der Vielzahl von Schritten in eine vorbestimmte Reihenfolge entsprechend der Reihenfolgenummern, um eine Schrittreihenfolge zu erzeugen mit Befehlen zum Installieren der Software und/oder zum Testen des Computersystems, wobei das Verfahren ferner aufweist das Feststellen für jeden Schritt, der aus der Datenbank gelesen worden ist, aus Daten, die diesem Schritt in der Datenbank zugeordnet worden sind, ob dieser Schritt einen Parameter benötig According to a further embodiment, a method for installing software and / or for testing a computer system is provided which comprises reading a plurality of Komponentendeskriptoren of a computer readable file, each component descriptor describes a corresponding component of the computer system, the reading of the plurality of steps from a database, with each step being assigned to a component descriptor and a corresponding sequence number and the home order bringing the plurality of steps in a predetermined order corresponding to the sequence numbers to generate a sequence of steps with instructions for installing the software and / or testing of the computer system, wherein the method further comprises determining for each step that has been read from the database, from data that have been assigned to this step, in the database, whether this step benötig a parameter t und in diesem Fall das Berechnen dieses Parameters gemäß der weiteren Daten, die diesem Schritt in der Datenbank zugeordnet sind. t and in this case the calculation of this parameter according to the further data which is assigned to this step in the database.

Kurze Beschreibung der Zeichnungen Brief Description of Drawings

Fig. 1 ist ein schematisches Diagramm, das die Software-Installation und das Testen zeigt. Fig. 1 is a schematic diagram showing the software installation and testing.

Fig. 2 ist ein schematisches Diagramm, das die Software-Installation und das Testen gemäß einer weiteren Ausführungsform zeigt. Fig. 2 is a schematic diagram showing the software installation and testing according to another embodiment.

Fig. 3A ist ein Flußdiagramm zum Konvertieren einer Computerbestellung in eine Systemdiskriptorenliste gemäß der vorliegenden Erfindung. Fig. 3A is a flow chart for converting a computer order in a Systemdiskriptorenliste according to the present invention.

Fig. 3B zeigt einen Abschnitt einer beispielhaften Computerbestellung, einer Base Assembly Record (BAR)-Datei und eine Systemdeskriptorenliste. Fig. 3B shows a portion of an exemplary computer order, a base assembly Record (BAR) file and a Systemdeskriptorenliste.

Fig. 4 ist ein Flußdiagramm zum Erzeugen und Bereitstellen einer Schrittreihenfolge. Fig. 4 is a flow chart for generating and providing a sequence of steps.

Fig. 5A ist eine schematische Darstellung der Beziehung zwischen den Fig. 5B und 5C. Fig. 5A is a schematic representation of the relationship between Figs. 5B and 5C.

Fig. 5B ist ein erster Teil eines detaillierteren Flußdiagramms zum Erzeugen einer Schrittreihenfolge. FIG. 5B is a first part of a detailed flowchart for generating a sequence of steps.

Fig. 5C ist ein zweiter Teil des detaillierteren Flußdiagramms zum Erzeugen einer Schrittreihenfolge. FIG. 5C is a second part of the detailed flowchart for generating a sequence of steps.

Fig. 6 zeigt eine Struktur einer Datenbank. Fig. 6 shows a structure of a database.

Fig. 7 ist ein Beispiel eines Abschnitts einer Schrittdatei. Fig. 7 is an example of a portion of a step file.

Fig. 8 bis 13 sind Flußdiagramme des Betriebs eines Programms einer Ausführung einer Schrittreihenfolge. Fig. 8 to 13 are flow charts of the operation of a program, an execution of a step sequence.

Detaillierte Beschreibung Detailed description

Die Beschreibung sollte erläuternd sein und sollte nicht begrenzend verstanden werden. The description should be explanatory and should not be considered limiting. In den Zeichnungen können gleiche oder ähnliche Elemente durch die gleichen Bezugszeichen bezeichnet werden. In the drawings, like or similar elements are designated by the same reference numerals may be referred to. In der Beschreibung ist ein Modul definiert als ein Befehl oder eine Gruppe von Befehlen. In the description, a module is defined as a command or group of commands.

Fig. 1 ist ein schematisches Diagramm des Systems 90 zur Software-Installation und zum Testen am Herstellungsort eines Computersystems. Fig. 1 is a schematic diagram of the system 90 for installing the software, and testing at the manufacturing site of a computer system. Im Betrieb wird eine Bestellung 92 aufgegeben, um ein gemäß einer Bestellung gebautes Zielcomputersystem 160 zu kaufen. In operation, an order is placed 92 to buy a built-to-order target computer system 160th Das Zielcomputersystem 160 soll hergestellt werden, um eine Vielzahl von Hardware- und Software-Komponenten zu enthalten. The target computer system 160 is to be made to contain a variety of hardware and software components. Beispielsweise kann das Zielsystem 160 eine bestimmte Marke einer Festplatte umfassen, einen besonderen Monitortyp, eine bestimmte Prozessormarke und eine besondere Betriebssystemversion. For example, the target system 160 can include a certain brand of a hard drive, a special type of monitor, a specific processor brand and a particular operating system. Bevor das Zielsystem 160 an den Kunden versandt wird, werden die Vielzahl der Komponenten installiert und getestet. Before the target system will be sent 160 to the customer, the large number of components are installed and tested. Solch eine Software-Installation und das Testen gewährleistet in vorteilhafter Weise ein zuverlässig arbeitendes Computersystem, das betriebsbereit ist, sobald es empfangen worden ist. Such software installation and testing ensures advantageously a reliably working computer system that is operational as soon as it is received.

Da verschiedene Familien von Computersystemen und verschiedene einzelne Computerkomponenten verschiedene Software-Installation und Testschritte benötigen, ist es notwendig festzustellen, welche Tests auf dem Zielsystem 160 ausgeführt werden müssen und in welcher Reihenfolge diese Tests ausgeführt werden sollten, um einen effektiven Software-Installations- und Testprozeß zu erreichen. Because different families of computer systems and different individual computer components require different software installation and testing steps, it is necessary to determine which tests need to be run on the target system 160 and the order in which these tests should be performed to an effective software installation and testing process to reach. Der Schritterzeuger 140 ist ein Computersystem, das konfiguriert ist, um die Software-Installations- und Testschritte, die auf dem Zielsystem 160 ausgeführt werden sollen, in eine Reihenfolge zu bringen. The step generator 140 is a computer system that is configured to bring the software installation and testing steps to be performed on the target system 160, in an order. Um die Software- Installations- und/oder Testschritte in eine Reihenfolge zu bringen, liest der Schritterzeuger 140 und insbesondere das Reihenfolgeprogramm 204 , das sich auf dem Schritterzeuger 140 befindet, zuerst eine Vielzahl von Komponentendeskriptoren aus einer Deskriptordatei 96 . To bring the software installation and / or testing steps in a sequence, the step generator 140 reads and in particular the order program 204, which is located on the step generator 140, a plurality of first Komponentendeskriptoren from a descriptor 96th Die Deskriptordatei 96 wird durch das Konvertieren einer Bestellung 92 bereitgestellt, die einem gewünschten Computersystem entspricht mit den gewünschten Komponenten in ein computerlesbares Format über das Umwandlungsmodul 94 umgewandelt wird. The descriptor file 96 is provided by converting a purchase order 92, is converted to the desired components in a computer-readable format on the conversion module 94 corresponding to a desired computer system.

Komponentendeskriptoren sind von einem Computer lesbare Beschreibungen der Komponenten des Zielsystems 160 , dessen Komponenten durch die Bestellung 92 definiert sind. Komponentendeskriptoren are computer-readable descriptions of the components of the target system 160, the components of which are defined by the order 92nd In der bevorzugten Ausführungsform sind die Komponentendeskriptoren in einer Deskriptordatei, die Systemdeskriptorenliste genannt wird, enthalten, die eine computerlesbare Datei ist mit einer Liste der Komponenten, seiner Hardware- und/oder Software-Komponenten, die auf dem Zielsystem 160 installiert werden sollen. In the preferred embodiment, the Komponentendeskriptoren are in a descriptor that Systemdeskriptorenliste is called, included, which is a computer-readable file containing a list of the components of its hardware and / or software components to be installed on the target system 160th Nachdem die Vielzahl der Komponentendeskriptoren gelesen worden ist, ruft das Reihenfolgeprogramm 204 eine Vielzahl von Software-Installations- und/oder Testschritten aus der Datenbank 100 über eine Netzwerkverbindung 110 ab, die den Komponentendeskriptoren entsprechen. After the plurality of Komponentendeskriptoren has been read, 204 retrieves the sequence program from a plurality of software installation and / or test steps from the database 100 via a network connection 110, which correspond to the Komponentendeskriptoren. Die Netzwerkverbindung 110 kann irgendeine bekannte Netzwerkverbindung sein, wie zum Beispiel ein LAN (Local Area Network), ein Intranet oder das Internet. The network connection 110 may be any known network connection, such as a LAN (Local Area Network), an intranet or the Internet. Die Information, die in der Datenbank 100 enthalten ist, kann aktualisiert werden durch eine Modifizierung, die durch den Pfeil 130 dargestellt ist. The information contained in the database 100 can be updated by a modification, which is shown by the arrow 130th

Nachdem die Software-Installations- und/oder Testschritte abgerufen worden sind, die für das Zielsystem 160 geeignet sind, bringt das Reihenfolgeprogramm 204 die Schritte in eine vorbestimmte Reihenfolge entsprechend den Reihefolgenummern, die jedem Schritt entsprechen. After the software installation and / or testing steps have been retrieved, which are suitable for the target system 160, brings the program sequence 204, the steps in a predetermined order corresponding to the sequence numbers that correspond to each step. Nachdem die Schritte, die für das Zielsystem 160 benötigt werden, in eine Reihenfolge gebracht worden sind, schreibt das Reihenfolgeprogramm 204 eine Serie von Ausgabedateien auf die Schrittdiskette 150 . After the steps that are required for the target system 160, have been put in order, writes the sequence program 204 a series of output files to step disk 150th In der Ausführungsform, die in Fig. 1 gezeigt ist, umfassen die Ausgabedateien Textdateien mit Befehlsteilen, die zur Ausführung der geeigneten Software-Installations- und/oder Testschritten auf dem Zielsystem 160 geeignet sind. In the embodiment shown in Fig. 1, the output files include text files with instruction parts that are suitable for practicing the suitable software installation and / or test steps on the target system 160. Die Ausführung wird in der vorbestimmten Reihenfolge gemäß den Reihenfolgenummern, die jedem Schritt entsprechen, ausgeführt. The execution is in the predetermined order according to the sequence numbers corresponding to each step is executed. Die Schrittdiskette 150 begleitet das Zielsystem 160 in der Fabrik, wobei die Tests direkt von der Schrittdiskette 150 oder alternativ dazu vom Dateiserver 190 ausgeführt werden, der mit dem Zielsystem 160 über die Netzwerkverbindung 180 verbunden ist. The step disk 150 accompanies the target system 160 in the factory, in which the tests are run directly from the step disk 150 or, alternatively, from the file server 190 which is connected to the target system 160 via the network connection 180th Bevorzugt ist die Netzwerkverbindung 180 ein generisches Netzwerkgerät, das in einen entsprechenden Netzwerkport des Zielcomputersystems gesteckt wird. Preferably, the network connection 180 is a generic network device that is plugged into a corresponding network port of the target computer system. Nach der Ausführung der Software- Installations- und Testschritte werden die Ergebnisse der Installation und Tests auf dem Dateiserver 190 über die Netzwerkverbindung 180 protokolliert. After the execution of software installation and testing steps, the results of the installation and testing on the file server 190 via the network connection 180 are logged.

Fig. 2 ist ein schematisches Diagramm des Systems 192 zur Software-Installation und zum Testen gemäß einer weiteren Ausführungsform der vorliegenden Erfindung. Fig. 2 is a schematic diagram of the system 192 for software installation and testing according to a further embodiment of the present invention. Ein Kunde gibt eine Bestellung 92 auf, um ein gemäß einer Bestellung gebautes Zielcomputersystem 160 zu kaufen. A customer places an order 92 to buy a built-to-order target computer system 160th Das Zielsystem 160 wird hergestellt, um eine Vielzahl von Komponenten zu enthalten, wobei die Komponente sowohl Hardware- als auch Software-Komponenten sein können. The target system 160 is manufactured to contain a variety of components, the component can be both hardware and software components. Bevor das Zielsystem 160 an den Kunden versandt wird, wird die Vielzahl der Komponenten installiert und getestet. Before the target system will be sent 160 to the customer, the number of components will be installed and tested. Solch eine Installation und das Testen gewährleistet ein zuverlässiges, arbeitendes Computersystem, das betriebsbereit ist, sobald es vom Kunden empfangen worden ist. Such an installation and testing ensures reliable, working computer system that is operational once it has been received by the customer.

Um die Software-Installation und Testschritte in eine Reihenfolge zu bringen, liest das Reihenfolgeprogramm 204 eine Vielzahl von Komponentendeskriptoren aus der Deskriptordatei 96 . In order to bring the software installation and testing steps in an order, reads the sequence program 204, a plurality of Komponentendeskriptoren from the descriptor 96th Die Bestellung 92 wird in die Deskriptordatei 96 über das Umwandlungsmodul 94 konvertiert. The order 92 is converted to the descriptor 96 via the conversion module 94th Komponentendeskriptoren sind von einem Computer lesbare Beschreibungen der Komponenten des Zielsystems 160 . Komponentendeskriptoren are computer readable descriptions of the components of the target system 160th In der bevorzugten Ausführungsform sind die Komponentendeskriptoren in einer Deskriptordatei enthalten, die Systemdeskriptorenliste genannt wird, eine von einem Computer lesbare Datei, die eine Auflistung jeder Komponente, sei es eine Hardware- oder eine Software-Komponente, enthält, die auf dem Zielsystem 160 installiert werden soll. In the preferred embodiment, the Komponentendeskriptoren contained in a descriptor that Systemdeskriptorenliste is called a computer-readable file that it was a list of each component that contains a hardware or software component that will be installed on the target system 160 should. Die Systemdeskriptorenliste kann direkt auf dem Dateiserver 202 gespeichert werden. The Systemdeskriptorenliste can be saved directly on the file server 202nd Das Reihenfolgeprogramm 204 ruft eine Vielzahl von Software-Installations- und/oder Testschritten entsprechend den Komponentendeskriptoren aus der Datenbank 100 ab. The sequence program 204 retrieves a plurality of software installation and / or testing steps according to the Komponentendeskriptoren from the database 100th Nachdem die geeigneten Software-Installation und/oder Testschritte für das Zielsystem 160 abgerufen worden sind, bringt das Reihenfolgeprogramm 204 die Schritte in eine vorbestimmte Reihenfolge entsprechend den Reihefolgenummern, die jedem Schritt entsprechen. After the appropriate software installation and / or testing steps have been retrieved for the target system 160, brings the program sequence 204, the steps in a predetermined order corresponding to the sequence numbers that correspond to each step. Nachdem die Schritte, die für das Zielsystem 160 benötigt werden, in eine Reihenfolge gebracht worden sind, steuert das Reihenfolgeprogramm 204 die Ausführung der Software-Installation und Testschritte auf dem Zielsystem 160 in der vorbestimmten Reihenfolge über die Netzwerkverbindungen 195 und 180 . After the steps which are needed for the target system 160, have been placed in an order, the order program 204 controls the execution of software installation and testing steps on the target system 160 in the predetermined order via the network connections 195 and 180th Es ist wünschenswert, daß die Netzwerkverbindung 200 ein generisches Netzwerkgerät ist, das in einen entsprechenden Port des Zielsystems 160 gesteckt wird. It is desirable that the network connection 200 is a generic network device that is plugged into a corresponding port of the target system 160th Das Netzwerk 195 kann irgendeine bekannte Kommunikationsverbindung sein. The network 195 may be any known communication link. Nach der Ausführung der Software-Installations- und/oder Testschritte werden die Ergebnisse der Installation und Tests auf dem Dateiserver 202 über die Netzwerkverbindung 200 protokolliert oder innerhalb einer geeigneten Datenbank gespeichert. After the execution of the software installation and / or testing steps, the results of the installation and tests are recorded or on the file server 202 via the network connection 200 stored within an appropriate database. Wie sich aus der Darstellung ergibt, wird das separate Computersystem 140 zur Schritterzeugung aus Fig. 1 nicht benötigt. As is apparent from the illustration, the separate computer system 140 is not required for generation step in FIG. 1. Zusätzlich ist keine Schrittdiskette 150 notwendig. In addition, no step is necessary disk 150th Statt dessen wird lediglich eine Boot-Diskette 220 benötigt, die konfiguriert ist, um das Zielsystem 160 zu booten und die das Zielsystem 160 in der Fabrik begleitet. Instead, only a boot disk 220 is required, that is configured to boot the target system 160, and accompanied in the factory the target system 160th

Nachdem die Software-Installation und Testsysteme im allgemeinen beschrieben worden sind, wird im folgenden der Betrieb der Systeme, die in Fig. 1 und 2 gezeigt sind, detaillierter beschrieben. After the software installation and testing systems have been described generally in the following, the operation of the systems shown in Figs. 1 and 2, described in more detail.

Fig. 3A zeigt den bevorzugten Prozeß, in dem eine Bestellung für ein Computersystem in eine von einem Computer lesbare Systemdeskriptorenliste konvertiert wird. Fig. 3A shows the preferred process in which an order for a computer system in a computer readable Systemdeskriptorenliste is converted. Genauer wird in der Einheit 300 eine Bestellung für ein Zielsystem aufgenommen. More specifically, in the unit 300 an order for a target system is recorded. Diese Bestellung kann in einer von zahllosen Formen vorliegen. This order can be in one of countless forms. Beispielsweise sind verschiedene Bestellformate ebenso möglich wie verschiedene Bestell-Übertragungsmechanismen. For example, different ordering formats are possible as well as different order transfer mechanisms. Beispielsweise können die Bestellungen für ein Zielcomputersystem über Telefon, Post oder über ein Computernetzwerk (beispielsweise das Internet) aufgegeben werden. For example, the orders for a target computer system can be placed by phone, mail or via a computer network (eg, the Internet). Unabhängig von den Mitteln zur Aufnahme oder der Form der Bestellung umfaßt die Bestellung den Typ des Zielcomputersystems, das ein Kunde kaufen möchte und möglicherweise eine explizite Auflistung der besonderen Komponenten, von denen der Kunde möchte, daß das Zielcomputersystem sie enthält. Regardless of the means for receiving or form of the order, the order includes the type of the target computer system that a customer wants to buy, and possibly an explicit listing of specific components, of which the customer wants that the target computer system it contains. Nachdem die Bestellung aufgenommen worden ist, geht die Steuerung an das Übertragungsmodul 310 über, in dem die Bestellung des Zielcomputersystems über ein Computernetzwerk an ein Herstellungssystem (nicht dargestellt) übertragen wird, das das Zielcomputersystem herstellt. Is after the order has been received, control is passed to the transmission module 310 in the (not shown), the appointment of the target computer system over a computer network to a manufacturing system transmitted, which produces the target computing system. Die Bestellung des Zielcomputersystems wird ferner an das Software-Installations- und Testsystem geliefert und dann an ein Umwandlungsprogramm im Modul 320 geleitet. The order of the target computer system is further provided to the software installation and testing system and then routed to a conversion program module in the 320th Das Computernetzwerk, das im Modul 310 verwendet wird, kann irgendeines der im Stand der Technik bekannten Netzwerke sein. Which is used in the module 310, the computer network may be any of the known in the prior art networks.

Das Konversionsprogramm konvertiert die Bestellung des Zielcomputersystems in eine Liste, die sinnvoll ist für den Herstellungsprozeß. The conversion program converts the order of the target computer system in a list that is appropriate for the manufacturing process. Genauer ausgedrückt, konvertiert das Umwandlungsprogramm die Computerbestellung zuerst in eine Liste mit dem Namen BAR-Datei im Modul 330 . More specifically, the conversion program converts the computer order first in a list called BAR file in module 330th Vorzugsweise enthält die BAR- Datei eine eindeutige Identifizierung, die das spezielle Zielcomputersystem, das gerade hergestellt wird, identifiziert. Preferably, the BAR file contains a unique identifier that identifies the particular target computer system being manufactured. Die BAR-Datei enthält ferner eine detaillierte Auflistung der Komponenten, seien sie Hardware- oder Software- Komponenten, die in dem Zielsystem enthalten sein sollen. The BAR file also contains a detailed list of components, whether hardware or software components that should be included in the target system. Ferner ist es wünschenswert, daß die BAR-Datei herstellerspezifische Teilenummern oder andere nützliche Identifizierungen für jede Komponente enthält. It is also desirable that the BAR file contains manufacturer-specific part numbers or other useful identifiers for each component. Schließlich kann die BAR-Datei kundenspezifische Information, wie zum Beispiel den Namen, die Adresse und die Telefonnummer enthalten. Finally, the BAR file may contain customer-specific information such as the name, address and telephone number.

Nach der Erzeugung der BAR-Datei im Modul 330 wird im Modul 340 eine Systemdeskriptorenliste erzeugt. After generating the file in the BAR 330 is a module Systemdeskriptorenliste is generated in the module 340th Eine Systemdeskriptorenliste ist in der bevorzugten Ausführungsform eine von einem Computer lesbare Datei, die die Hardware- und die Software-Komponenten beschreibt, die im Zielcomputersystem enthalten sein sollen. A Systemdeskriptorenliste in the preferred embodiment, a computer-readable file that describes the hardware and software components that should be included in the target computer system. In einer bevorzugten Ausführungsform enthält die Systemdeskriptorenliste eine Liste von Komponenten des Zielcomputersystems in einem Format, das Hardware-Tags, Software-Tags, Informations-Tags und Kommentare enthält. In a preferred embodiment, the Systemdeskriptorenliste contains a list of components of the target computer system in a format that hardware tags, software tags, information tags and comments contain. Ein Hardware-Tag identifiziert gegenüber dem Reihenfolgeprogramm 204 , daß die Information, die dem Tag folgt, sich auf eine Hardware-Komponente bezieht. A hardware tag identifies itself to the order program 204, that the information following the tag, refers to a hardware component. In ähnlicher Weise identifiziert ein Software-Tag, daß die Information, die dem Tag folgt, sich auf eine Software-Komponente bezieht. Similarly, a software tag identifies that the information following the tag, refers to a software component. Der Informations-Tag zeigt an, daß allgemeine Information folgt. The information tag indicates that general information follows. Kommentare erlauben, verschiedene Einträge mit in die Systemdeskriptorenliste aufzunehmen, die vom Reihenfolgeprogramm 204 ignoriert werden. Comments allow to receive various entries in the Systemdeskriptorenliste that are ignored by the sequence program 204th Es ist wünschenswert, daß die Systemdeskriptorenliste eine Textdatei ist, die von Menschen gelesen werden kann und leicht zu verstehen ist. It is desirable that the Systemdeskriptorenliste is a text file that can be read by humans and is easy to understand. Solch eine Datei ermöglicht in vorteilhafter Weise eine einfache Fehlersuche und die einfache Wartung des Installations- und Testvorgangs. Such a file allows advantageously a simple troubleshooting and easy maintenance of the installation and testing process. Es versteht sich, daß die Systemdeskriptorenliste irgendeine Liste von eindeutigen Identifizierungen sein kann, die einer eindeutigen Gruppe von Bezeichnungen entspricht, beispielsweise, in einem einfachen Beispiel, kann die Systemdeskriptorenliste eine Liste von Teilenummern sein. It is understood that the Systemdeskriptorenliste can be any list of unique identifiers, which corresponds to a unique set of labels, for example, in a simple example, the Systemdeskriptorenliste may be a list of part numbers.

Fig. 3B zeigt eine beispielhafte Zielcomputersystembestellung 350 , eine entsprechende BAR-Datei 370 und eine entsprechende Systemdeskriptorenliste 370 . Fig. 3B shows an exemplary target computer system order 350, a corresponding BAR file 370 and a corresponding Systemdeskriptorenliste 370. Die Zielcomputersystembestellung 350 enthält den Namen einer Computerfamilie, in diesem Beispiel Familie "X". The target computer system order 350 contains the name of a computer family, in this example, "X" family. Ferner sind in der Zielcomputersystembestellung 350 drei beispielhafte Hardware-Komponenten enthalten mit einem Pentium®-Prozessor, einer Festplatte und einem Monitor. Further, in the target computer system 350 order three exemplary hardware components are contained with a Pentium® processor, a hard disk and a monitor. Die BAR-Datei 360 resultiert daraus, daß die Bestellung 350 des Zielcomputersystems durch ein Umwandlungsprogramm läuft, wie in Modul 320 von Fig. 3A dargestellt. The BAR file 360 results from the fact that the order of the target computer system 350 passes through a conversion program, as shown in module 320 of FIG. 3A. Die BAR-Datei 360 enthält eine eindeutige Identifizierung für das spezifische Zielcomputersystem innerhalb der Familie X. Die BAR-Datei 360 enthält ferner die herstellerspezifischen Teilenummern für jede der Komponenten, die in der Bestellung des Zielcomputersystems aufgelistet sind. The BAR file 360 contains a unique identifier for the specific target computer system within the family X. The BAR file 360 also contains the vendor-specific part numbers for each of the components that are listed in the order of the target computer system. Ferner enthält die BAR-Datei 360 eine Identifizierung, die die gewünschte Anzahl von jeder Komponente ebenso wie eine Textbeschreibung von jeder Komponente, die in dem Zielcomputersystem enthalten sein soll, anzeigt. Further, the BAR file 360 contains an identifier which, as well as a text description of each component to be contained in the target computer system, indicating the desired number of each component. Das System 90 verwendet die BAR-Datei 360 , um die Systemdeskriptorenliste 370 zu erzeugen. The system 90 uses the BAR file 360 to generate the Systemdeskriptorenliste 370th

Wie erläutert, enthält die Systemdeskriptorenliste 370 ebenfalls die eindeutige Identifizierung für das spezielle Zielcomputersystem innerhalb der Familie X. Darüber hinaus enthält die Systemdeskriptorenliste 370 geeignete Tags, die hier anzeigen, daß der Prozessor, die Festplatte und der Monitor alle Hardware- und nicht Software-Komponenten sind. As explained, the Systemdeskriptorenliste 370 also contains the unique identification for the specific target computer system within family X. Moreover, the Systemdeskriptorenliste contains 370 suitable tags that indicate here that the processor, hard drive and monitor all hardware and not software components are. Die Systemdeskriptorenliste 370 beschreibt diese Komponenten in einer Textbeschreibung. The Systemdeskriptorenliste 370 describes these components in a text description. Zusätzlich enthält die exemplarische Systemdeskriptorenliste 370 einen Software-Tag, der anzeigt, daß eine bestimmte Software auf dem Computersystem aus der Familie X installiert oder getestet werden soll. In addition, the exemplary Systemdeskriptorenliste 370 contains a software tag, which indicates that a particular software to be installed on the computer system of the family X or tested. Beispielsweise kann der Software-Tag anzeigen, das ein bestimmtes Betriebssystem, das für den Pentium-Prozessor geeignet ist, immer auf der Festplatte des Zielcomputersystems, das zu der Familie X gehört, installiert wird. For example, see the software tag, which is a particular operating system that is suitable for the Pentium processor, always installed on the hard drive of the target computer system belonging to the family X.

In Fig. 4 wird das allgemeine Verfahren zum In-Reihenfolge-Bringen der Software-Installation und Testschritte dargelegt. In FIG. 4 the general method for in-order bringing the software installation and test steps is set forth. Im Modul 400 wird eine eindeutige Identifizierung des Zielcomputersystems für das Zielcomputersystem 160 erzeugt. In the module 400 a unique identification of the target computer system for the target computer system 160 is generated. In der Ausführungsform, die in Fig. 1 dargestellt ist, erzeugt ein Anwender, der am Computersystem 140 zur Schritterzeugung sitzt, eine eindeutige Identifizierung (beispielsweise die BAR-Identifizierung, die als ein Nachverfolgungscode arbeitet) im Reihenfolgeprogramm 204 des Schritterzeugers 140 . In the embodiment shown in Fig. 1, generates a user sitting at the computer system 140 to the step generating a unique identifier (for example, the BAR-identification, which operates as a tracking code) in order program 204 of the step generator 140. Alternativ dazu wird in der Ausführungsform aus Fig. 2 eine eindeutige Identifizierung automatisch in das Reihenfolgeprogramm 204 eingelesen, nachdem die Bestellung des Zielcomputersystems aufgenommen worden ist. Alternatively, is automatically read in the embodiment of Fig. 2, a unique identification in the sequence program 204 after the order of the target computer system has been added.

Im Modul 410 wird eine Systemdeskriptorenliste entsprechend der BAR- Identifizierung aufgesucht. In module 410, a Systemdeskriptorenliste is searched according to the BAR identification. In der Ausführungsform aus Fig. 1 wird die Systemdeskriptorenliste entweder über die Netzwerkverbindung 110 oder die Netzwerkverbindung 195 gefunden. In the embodiment of Fig. 1, the Systemdeskriptorenliste is found either via the network connection 110 or the network connection 195th In der Ausführungsform aus Fig. 2 wird die Systemdeskriptorenliste über die Netzwerkverbindung 195 gefunden. In the embodiment of FIG. 2, the Systemdeskriptorenliste is found using the network connection 195th Im Modul 420 wird die aufgefundene Systemdeskriptorenliste an das Reihenfolgeprogramm 204 geliefert. In module 420 the retrieved Systemdeskriptorenliste is supplied to the sequence program 204th In der Ausführungsform aus Fig. 1 befindet sich das Reihenfolgeprogramm auf dem Computersystem 140 zur Schritterzeugung, während in der Ausführungsform aus Fig. 2 das Reihenfolgeprogramm sich auf dem Dateiserver 202 befindet. In the embodiment of Fig. 1, the sequence program is located on the computer system 140 for generation step, while the sequence program is located in the embodiment of Fig. 2 on the file server 202. Das Reihenfolgeprogramm 204 arbeitet in Verbindung mit der Datenbank 100 (der Fig. 1 und 2), um die Software- Installation und Testschritte für das Zielcomputersystem 160 in eine Reihenfolge zu bringen. The sequence program 204 operates in conjunction with the database 100 (Fig. 1 and 2), to bring the software installation and testing steps for the target computer system 160 in an order. Nachdem die Software-Installation und Testschritte, die für das spezielle Zielcomputersystem geeignet sind, in eine Reihenfolge gebracht worden sind, erzeugt das Reihenfolgeprogramm 204 Ausgabedateien, wie im Modul 430 dargestellt. After the software installation and testing steps that are appropriate for the particular target computer system, have been put in order, the order program 204 generates the output files, as shown in the module 430th

In der Ausführungsform aus Fig. 1 sind die Ausgabedateien, die auf die Schrittdiskette 150 geschrieben werden (vergleiche Fig. 1) eine Schrittdatei und eine Setenv.bat-Datei. In the embodiment of Fig. 1, the output files which are written to the disk step 150 (cf. Fig 1.) Are a step file and a Setenv.bat file. Die Schrittdatei ist eine ASCII-Textdatei mit einer Liste von geeigneten Befehlszeilen zum Ausführen der Software-Installations- und Testschritte für das Zielcomputersystem, das bestellt worden ist. The Step file is an ASCII text file with a list of appropriate command line to run the software installation and testing steps for the target computer system that has been ordered. In einer bevorzugten Ausführungsform umfaßt die Schrittdatei ferner Befehle, die in einer Schleife ausgeführt werden können. In a preferred embodiment, the step file also includes commands that can be executed in a loop. Genauer ausgedrückt, ermöglicht die Schrittdatei, daß Befehle für eine festgelegte Anzahl von Iterationen oder für eine bestimmte Zeitdauer wiederholt werden. More specifically, step enables the file that commands for a specified number of iterations or for a certain period of time are repeated. Solch ein Format ermöglicht in vorteilhafter Weise, daß die Software-Installation und Testschritte in einer berechneten vorbestimmten Weise wiederholt werden. Such a format enables in an advantageous manner that the software installation and testing steps in a predetermined manner calculated to be repeated. Die Setenv.bat-Datei setzt Umgebungsvariablen auf dem Zielcomputersystem. The Setenv.bat file sets environment variables on the target computer system. Die Schrittdatei und die Setenv.bat-Datei sind ASCII-Textscriptdateien, die eine Liste von geeigneten Befehlszeilen zum Ausführen der Installation und Testschritte für das Zielcomputersystem enthalten. The Step file and the Setenv.bat file are ASCII text script files that contain a list of appropriate command line to perform the installation and testing steps for the target computer system. Die Schrittdatei ist aufgeteilt in eine Anzahl von individuellen Unterdateien, die jeweils Schritte für eine entsprechende Phase der Herstellung enthalten, zum Beispiel für die Quick Test (Qt)-, Extended Test1 (ET1)-, Extended Test2 (ET2)-, Software Install (SI)- und Final Test (Ft)-Phasen der Herstellung des Zielcomputersystems. The step file is divided into a number of individual sub-files, each containing steps for a corresponding phase of the preparation, for example, for the Quick Test (Qt) -, Extended Test1 (ET1) -, Extended Test2 (ET2) -, Software Install ( SI) - and Final test (Ft) phases of the production of the target computer system.

In der Ausführungsform aus Fig. 2 werden hingegen die Ausgabedateien nicht auf eine Schrittdiskette, wie in Fig. 1 dargestellt, geschrieben. In the embodiment of Fig. 2, the output files, however, are not shown to a step disk, as shown in Fig. 1, is written. Statt dessen befinden sich die Ausgabedateien auf dem Dateiserver 202 oder dem Dateiserver 190 , wo sie dazu verwendet werden, die Ausführung der Software-Installations- und/oder Testschritte auf dem Zielcomputersystem 160 zu steuern. Instead, there are the output files on the file server 202 or file server 190, where they are used to control the execution of software installation and / or testing steps on the target computer system 160th

Die Fig. 5A bis 5C zeigen ein detailliertes Schema des Betriebs des Reihenfolgeprogramms 204 , das in den Fig. 1 und 2 dargestellt ist. FIGS. 5A to 5C show a detailed schematic of the operation of the program sequence 204, shown in Figs. 1 and 2.

Das Entscheidungsmodul 500 stellt den Ursprung einer Bestellung fest. The decision module 500 determines the origin of an order. Im Moment wird nur der linke Zweig betrachtet. At the moment, only the left branch is considered. Falls nötig, wendet das Modul 502 ein oder mehrere Patches auf die Systembeschreibungsliste an. If necessary, the module 502, one or more patches applies to the system description list. In der bevorzugten Ausführungsform ist dieser Patch modular und erlaubt, das Patches für ein spezielles Zielcomputersystem, eine besondere Familie von Computersystemen oder für eine spezielle Komponente erzeugt werden. In the preferred embodiment of this patch is modular and allows the patches for a specific target computer system, a special family of computer systems or generated for a specific component. Wenn beispielsweise ein Hersteller eine Marke einer Festplatte gegen eine andere für eine bestimmte Familie von Computersystemen an einem bestimmten Tag austauschen will, kann ein Patch gebildet werden, der alle Systemdeskriptorenlisten, die die zu ersetzende Festplatte enthalten, modifiziert und die Ersetzung im Modul 502 durchführt. For example, if a manufacturer wants to exchange a trademark of a hard drive to another for a particular family of computer systems on any given day, a patch can be made that modifies all Systemdeskriptorenlisten containing the disk to be replaced, and performs the replacement module 502nd

Daraufhin gibt das Modul 504 die (korrigierte) Systemdeskriptorenliste, die dem Zielcomputersystem 160 entspricht, in das Reihenfolgeprogramm 204 ein. Thereafter, the module 504, the (corrected) Systemdeskriptorenliste corresponding to the target computer system 160, a program in the order of the 204th Im Modul 506 wird ein Komponentendeskriptor aus der Systemdeskriptorenliste gelesen. In the module 506, a component descriptor from the Systemdeskriptorenliste is read. Jeder Komponentendeskriptor beschreibt eine entsprechende Komponente, sei es eine Hardware- oder Software-Komponente des Zielcomputersystems. Each component descriptor describes a respective component, either a hardware or software component of the target computer system.

Unter Bezugnahme auf Fig. 3B ist die Zeile der Systemdeskriptorenliste mit dem Pentium®-Prozessor im Modul 370 ein beispielhafter Komponentendeskriptor. Referring to Fig. 3B, the line of Systemdeskriptorenliste is an exemplary component descriptor with the Pentium® processor in the module 370th Im Modul 508 erzeugt das Reihenfolgeprogramm 204 eine Vielzahl von abgeleiteten Objekten, die der Vielzahl von Komponenten des Zielcomputersystems 160 entsprechen. In module 508, the order program 204 generates a plurality of derived objects that correspond to the plurality of components of the target computer system 160th In der bevorzugten Ausführungsform werden diese abgeleiteten Objekte dazu verwendet, um Information (die aus der Datenbank 100 erhalten worden ist) über die Software-Installations- und Testschritte zu speichern, die auf dem Zielcomputersystem 160 ausgeführt werden müssen. In the preferred embodiment, these secondary objects are used for information (which is obtained from the database 100) to save on the software installation and testing steps to be executed on the target computer system 160th Entsprechend wird im Modul 510 jedem abgeleiteten Objekt eine entsprechende Komponente des Zielcomputersystems 160 zugeordnet. Accordingly, each derived object is assigned to a corresponding component of said target computer system 160 in the module 510th

An diesem Punkt wird der rechte Zweig des Moduls 500 betrachtet. At this point, the right branch of the module 500 is considered. In diesem Fall wird angenommen, daß die Bestellung direkt von einem Kunden als ein Eintrag in einer Datenbank in der Form von einer Materialliste gespeichert wird, wobei solch eine Liste Komponentendeskriptoren aufweist, die sich auf das Zielcomputersystem 160 beziehen. In this case, the order will be stored directly by a customer as an entry in a database in the form of a list of materials is assumed, wherein such list includes a Komponentendeskriptoren relating to the target computing system 160th Das Modul 512 , das dem Modul 502 äquivalent ist, wendet Veränderungen (Patches) auf die Materialliste an, während das Modul 514 die Materialliste aus der Datenbank liest, in der sie gespeichert ist zur Verwendung durch das Reihenfolgeprogramm 204 . The module 512, which is the equivalent module 502, applies changes (patches) on the material list, while the module 514 reads the list of materials from the database in which it is stored for use by the program sequence 204th

Im Modul 516 werden die Software-Installations- und Testschritte, die den entsprechenden Komponenten des Zielcomputersystems 160 zugeordnet sind, aus der Datenbank 100 abgerufen und in den geeigneten abgeleiteten Objekten gespeichert. In module 516, the software installation and test steps that are assigned to the corresponding components of the target computer system 160 are retrieved from the database 100 and stored in the appropriate derived objects. In der Ausführungsform aus Fig. 1 werden die Schritte über die Netzwerkverbindung 110 abgerufen, während in der Ausführungsform aus Fig. 2 die Schritte direkt vom Dateiserver 202 abgerufen werden. In the embodiment of Fig. 1, steps over the network connection 110 are retrieved, while the steps are retrieved directly from the file server 202 in the embodiment of FIG. 2. Um zu beschreiben, wie die Schritte aus der Datenbank 100 in der bevorzugten Ausführungsform abgerufen werden, ist eine Beschreibung dieser bevorzugten Ausführungsform dieser Datenbank notwendig. In order to describe how the steps from the database 100 will be accessed in the preferred embodiment, a description of this preferred embodiment, this database is necessary.

Fig. 6 zeigt die Struktur der Datenbank 100 . Fig. 6 shows the structure of the database 100.. Die Datenbank 100 ordnet eine Folge von Software-Installations- und/oder Testschritten in einer vorbestimmten Reihenfolge Familien von Computersystemen zu. The database 100 associates a series of software installation and / or testing steps to families in a predetermined order of computer systems. Ferner ist die Datenbank 100 konfiguriert, um Komponenten von Computersystemen zuzuordnen. Further, the database 100 is configured to associate components of computer systems. Weiterhin ordnet die Datenbank 100 Software-Installations- und/oder Testschritte Komponenten von Computersystemen zu. Furthermore, the database assigns 100 software installation and / or testing steps components of computer systems.

Die Datenbank 100 ist bevorzugt eine relationale Datenbank. Database 100 is preferably a relational database. Die Datenbank 100 enthält mehrere Tabellen, die jeweils geeignete Attribute zum Erzeugen der oben genannten Zuordnungen enthalten. The database 100 includes a plurality of tables, each containing attributes suitable for generating the above-mentioned assignments.

Die Datenbank 100 enthält eine Schritt-Tabelle 102 , eine Familien-Tabelle 104 , eine Familienschrittreihenfolge-Tabelle 106 , einen Komponenten-Tabelle 108 , eine Familienkomponenten-Tabelle 112 , eine Komponenten-Schritt-Tabelle 114 , eine Schrittabhängigkeits-Tabelle 116 , eine Schrittparameter-Tabelle 118 , eine Komponentenklassen-Tabelle 120 , eine Komponentenklassenattributs-Tabelle 122 und eine Operatornachricht-Tabelle 124 . The database 100 includes a step table 102, a family table 104, a family step order table 106, a component table 108, a family-component table 112, a component table stage 114, a step dependency table 116, a step parameter table 118, a component class table 120, a component class attribute table 122, and an operator message table 124th In der bevorzugten Ausführungsform enthält jede Tabelle eine Liste von Attributen, wobei die unterstrichenen Attribute als ein primärer Schlüssel dienen. In the preferred embodiment, each table contains a list of attributes, wherein the underlined attributes serve as a primary key.

Die Schritt-Tabelle 102 enthält alle Software-Installations und Testschritte für alle möglichen Komponenten von allen Computerfamilien. The step table 102 contains all software installation and testing steps for all possible components of all computer families. In der bevorzugten Struktur hat die Schritt-Tabelle 102 Attribute, die die Schritt-ID, Name, Befehl, Befehlstyp, AfterAction-Type, MaxInstance, KlassenID und DepMask umfassen. In the preferred structure, the step table 102 has attributes which comprise the step ID, name, command, command type, After Action Type, MaxInstance, class ID and DepMask. Schritt-ID ist eine eindeutige Identifizierungsnummer für jeden Software- Installations- oder Testschritt. Step ID is a unique identification number for each software installation or testing step. Name ist ein String, der einen Namen zuordnet, der einen Schritt beschreibt. Name is a string that assigns a name that describes a step. Befehl ist ein String zur Zuordnung einer ausführbaren Befehlszeile zum Ausführen eines Software-Installations- oder Testschritts. Command is a string of assigning an executable command line to run a software installation or testing step. Name ist ein String, der einen Namen zuordnet, der einen Schritt beschreibt. Name is a string that assigns a name that describes a step. Befehl ist ein String zur Zuordnung einer ausführbaren Befehlszeile zum Ausführen eines Software-Installations- und Testschritts auf dem Zielcomputersystem 160 (dargestellt in den Fig. 1 und 2). Command is a string for associating an executable command line for executing a software installation and testing step on the target computer system 160 (shown in FIGS. 1 and 2). AfterAction-Type ist ein Identifizierer, der bestimmt, ob ein Anhalten oder Neustart notwendig ist, nachdem der Software- Installations- oder Testschritt ausgeführt worden ist. After Action Type is an identifier that determines whether a stop or restart is necessary after the software installation or test step has been executed. MaxInstance ist ein Identifizierer, der die maximale Anzahl der erlaubten Wiederholungen anzeigt, die ein Schritt ablaufen kann. MaxInstance is an identifier indicating the maximum number of allowed retries, which can run a step. KlassenID identifiziert einen bestimmten Typ von Klassen oder Komponenten (beispielsweise Festplatte, CD-ROM-Laufwerk), die dem Software-Installations- oder Testschritt zugeordnet ist. Class ID identifies a particular type of classes or components (e.g., hard disk, CD-ROM drive), which is associated with the software installation or test step. DepMask schließlich speichert Information, ob oder ob nicht ein jeweiliger Schritt eine Schrittabhängigkeit und/oder einen Schrittparameter hat und bestimmt daher, ob oder ob nicht die Schrittabhängigkeits-Tabelle 116 und/oder die Schrittparameter- Tabelle 118 geöffnet werden muß. DepMask finally stores information as to whether or not a respective step has a step of a function and / or a step parameters and therefore determined whether or not the step dependency table 116 and / or the table must be opened Schrittparameter- 118th

Die Familien-Tabelle 104 identifiziert jede Familie von Computersystemen mit einer Identifizierungs-Ganzzahl, die im Attribut FamilienID spezifiziert ist. The Family Table 104 identifies each family of computer systems with an identification integer specified in attribute FamilienID. Ferner ist in der Familien-Tabelle ein String enthalten, der den Namen der Familie identifiziert. Further, in the family table is a string containing that identifies the name of the family.

Die Familienschrittreihenfolge-Tabelle 106 ist eine relationale Tabelle, die Relationen zwischen der Schritt-Tabelle 102 und der Familien-Tabelle 104 enthält. The family step sequence table 106 is a relational table containing the relations between the step table 102 and the family table 104th Die Familienschrittreihenfolge-Tabelle 106 umfaßt eine Familienidentifizierungs-Ganzzahl, die in dem Attribut FamilienID für eine jeweilige Familie von Computersystemen spezifiziert ist (aus der Familien- Tabelle 104 ), eine Schrittidentifizierungs-Ganzzahl, die in dem Attribut SchrittID (aus der Schritt-Tabelle 102 ) identifiziert ist und die eine jeweilige Gruppe von Schritten, die für diese Familie geeignet sind und eine Reihenfolgenummer identifiziert. The family step order table 106 includes a family identification integer which is specified in the attribute FamilienID for a particular family of computer systems (from the family table 104), a step identification integer in the Attribute SchrittID (from the step table 102 ) is identified and a respective group of steps which are suitable for this family and identifies a sequence number. Die Reihenfolgenummer ist in dem Attribut Schrittreihenfolgenummer enthalten, das eine vorbestimmte Reihenfolge darstellt, in der Schritte, die einer jeweiligen Familie zugeordnet sind, ausgeführt werden sollen. The sequence number is included in the attribute step sequence number, which represents a predetermined order, to be in the steps that are associated with a respective family executed. Testingenieure weisen Reihenfolgenummern zu, die für jede Phase der Herstellung eindeutig sind und die in einer Reihenfolge ausgewählt werden, um für ein jeweiliges Zielsystem am effektivsten zu sein. Test engineers assign sequence numbers that are unique for each stage of manufacture and which are selected in an order to be most effective for a respective target system. Es versteht sich, daß andere Arten der Zuordnung von Reihenfolgenummern verwendet werden können. It is understood that other types of allocation can be used by sequence numbers. Die Familienschrittreihenfolge-Tabelle 106 schließlich umfaßt eine PhasenID. The family step sequence table 106 finally comprises a PhasenID. Die PhasenID zeigt an, in welcher Phase der Herstellung der Schritt ausgeführt werden soll. The PhasenID shows the phase in which the preparation of the step is to be executed. Beispielsweise ist PhasenID eine Ganzzahl, die ausgewählt worden ist, um einer der fünf zuvor genannten Phasen der Herstellung des Computersystems zu entsprechen: Quick Test (Qt), Extended Test1 (ET1), Extended Test2 (ET2), Software Install (SI) und Final Test. For example, PhasenID is an integer that is selected to correspond to one of the five stages of manufacture of the computer system above: Quick Test (Qt), Extended Test1 (ET1), Extended Test2 (ET2), Software Install (SI) and Final Test.

Die Komponenten-Tabelle 108 enthält alle möglichen Komponenten, die in den Computersystemen, die hergestellt werden, enthalten sind. The components of table 108 contains all the possible components that are included in computer systems that are prepared. Die Attribute dieser Tabelle sind KomponentenID, die eine Identifizierung jeder Komponente zuordnet, Beschreibung, die einen Stringnahmen jeder Komponente zuordnet und KlassenID, die den Typ der Komponente bezeichnet (z. B. Festplattenlaufwerk, CD-ROM-Laufwerk). The attributes of this table are KomponentenID that assigns an identification of each component description that maps a string names of each component and class ID that identifies the type of the component (z. B. hard disk drive, CD-ROM drive).

Die Familienkomponenten-Tabelle 112 ist eine relationale Tabelle, die Relationen zwischen jeder Familie von Computersystemen und einer Gruppe von Komponenten enthält, die in der Familie enthalten sein können. The family component table 112 is a relational table containing relationships between each family of computer systems, and a group of components that can be included in the family. Die Attribute der Familienkomponenten-Tabelle 112 umfassen eine Ganzzahl zur Computerfamilien-Identifizierung, die in dem Attribut FamilienID (aus der Familien-Tabelle 104 ) spezifiziert ist und eine Ganzzahl zur Komponenten- Identifizierung, die in dem Attribut KomponentenID (aus der Komponenten- Tabelle 108 ) spezifiziert ist. The attributes of the family component table 112 include an integer number of computer family identification, in the attribute FamilienID is specified (from the family table 104) and an integer to the component identification, (in the attribute KomponentenID from the component table 108 ) is specified.

Die KomponentenSchritt-Tabelle 114 ist eine relationale Tabelle, die Relationen zwischen jeder Komponente und einer Gruppe von Software-Installation- und Testschritten enthält, die für diese Komponente geeignet sind. The components of step table 114 is a relational table containing relationships between each component and a set of software Installation and test steps that are suitable for this component. Die Attribute der KomponentenSchritt-Tabelle 114 umfassen eine Ganzzahl zur Komponenten- Identifizierung, die in dem Attribut KomponentenÉD spezifiziert ist (aus der Komponenten-Tabelle 108 und einer Ganzzahl zur Schritt-Identifizierung, die in dem Attribut SchrittID (aus der Schritt-Tabelle 102 ) identifiziert ist. The attributes of the components step table 114 include an integer to component identification, which is specified in the attribute KomponentenÉD (from the component table 108, and an integer to the step-identification, (in the attribute SchrittID from the step table 102) is identified.

Die Schrittabhängigkeits-Tabelle 116 enthält Daten, die mögliche Konflikte betreffen. The step dependency table 116 contains data relating to possible conflicts. Einige Tests können mit bestimmten Klassen von Komponenten oder spezifischen Komponenten selbst oder Komponenten von bestimmten Herstellern einen Konflikt haben. Some tests can by certain manufacturers have a conflict with certain classes of components or specific components themselves or components. Beispielsweise kann das herzustellende Computersystem 116 eine Festplatte der Marke A haben und ein CD-ROM-Laufwerk der Marke B. Eine Festplatte der Marke A kann normalerweise verlangen, daß der Test C ausgeführt wird, aber es kann sein, daß der Test C mit dem CD-ROM-Laufwerk B inkompatibel ist. For example, the product to computer system 116 may have a hard drive of the brand A and a CD-ROM drive of the brand as a hard disk drive of the brand A may normally require that the test C is running, but it may be that the test C with the CD-ROM drive B is incompatible. Alle diese Abhängigkeiten werden in der Schrittabhängigkeits- Tabelle 116 gespeichert. All these dependencies are stored in the table Schrittabhängigkeits- 116th In dieser Tabelle identifiziert die SchrittID den Schritt, der eine Abhängigkeit hat, TypeID zeigt an, ob oder ob nicht die Abhängigkeit eine Klasse von Komponenten oder eine spezifische Komponente betrifft, ObjektlD ist entweder eine KlassenID oder eine KomponentenID, je nach dem Status von TypeID und DepTypeID, zeigt an, ob oder ob nicht ein bestimmter Schritt beibehalten werden soll oder entfernt werden soll, wenn der Konflikt auftritt. In this table, the SchrittID identifies the step which has a dependency, TypeID indicates whether or not relates to the dependence of a class of components, or a specific component, ObjektlD is either a class ID, or a KomponentenID, depending on the status of TypeID and DepTypeID, indicates whether or not a particular step should be maintained or should be removed when the conflict occurs.

Die Schrittparameter-Tabelle 118 identifiziert Parameter, die bestimmte Schritte benötigen können; The step parameter table 118 identifies parameters that may require specific steps; beispielsweise kann es nötig sein, daß ein Schritt eine bestimmte Zeitdauer abläuft oder mit einer bestimmten Anzahl von Iterationen. For example, it may be necessary that a step occurs in a specific period of time or a certain number of iterations. In der Tabelle 118 identifiziert SchrittID eindeutig den jeweiligen Installations- oder Testschritt. In the table 118 SchrittID uniquely identifies each product's installation or testing step. ParameterID identifiziert jeden Parameter, der diesem Schritt zugeordnet ist; Parameter ID identifies each parameter which is associated with this step; es kann mehr als einen Parameter geben, der einem jeweiligen Schritt zugeordnet ist und jeder wird seine eigene ParameterID haben. there may be more than one parameter is associated with a respective step, and each will have its own parameter ID. Beispielsweise kann derselbe Test, aber mit unterschiedlichen Parametern, verwendet werden für verschiedene Marken von Festplatten. For example, the same test, but can be used with different parameters for different brands of hard drives. DatenTyp identifiziert den Typ von Daten, der in dem entsprechenden Parameter enthalten sein soll. Data type identifies the type of data to be included in the corresponding parameters. Im obigen Beispiel kann DatenTyp spezifizieren, daß sich die Daten auf einen Prozentsatz beziehen oder, alternativ dazu, einen Festplatten-ID-Code. In the above example, the data type may specify that the data refers to a percentage or, alternatively, a disk ID code. Inhalt ist ein Befehlszeilenschalter, wie er in der Programmiersprache C im Zusammenhang mit Befehlen wie "printf" verwendet wird. Content is a command-line switches, as used in the C programming language in conjunction with commands such as "printf". Inhalt kann beispielsweise "-%d" sein, um anzuzeigen, daß ein Prozentsatz für diesen Parameter geeignet ist. Content may, for example - be to indicate that a percentage of this parameter is suitable "% d". Die Schrittreihenfolgenummer und die KlassenID sind wie oben beschrieben. The step sequence number and the class ID are as described above.

Es bleibt festzuhalten, daß die Schrittparameter-Tabelle 118 nur die Typen und Anzahl der Parameter, die einem jeweiligen Schritt zugeordnet sind, speichert, aber nicht den tatsächlichen Wert dieser Parameter. It should be noted that the step parameter table 118, only the types and number of parameters that are associated with a respective step stores, but not the actual value of these parameters. Während des im folgenden beschriebenen Aufbaus der Schrittdatei fügt die Tabelle 118 nicht Parameterwerte in eine Befehlszeile der Schrittdatei ein. During the hereinafter described construction of the step, the file table 118 does not add parameter values in a command line, the step file. Sie enthält statt dessen alle notwendigen Details um zu ermöglichen, daß die Befehlszeile konstruiert wird. It instead contains all the necessary details to enable the command line is constructed. Es ist das Reihenfolgeprogramm 204 , das den Wert des Parameters berechnet und ihn in die Befehlszeile der Schrittdatei während der Ausführung einfügt. It is the order program 204, which calculates the value of the parameter and inserts it into the command line, the step file during execution. Das Reihenfolgeprogramm führt die Berechnung auf der Basis der Information durch, die in der Deskriptorliste enthalten ist. The sequence program performs the calculation on the basis of the information that is included in the descriptor.

Der Vorteil in der Schrittparameter-Tabelle 118 liegt darin, eine größere Flexibilität zu ermöglichen, indem verhindert wird, daß Schritten Parameter dauerhaft zugeordnet werden müssen. The advantage in the step parameter table 118 is to allow for greater flexibility by preventing steps parameters have to be permanently assigned. Dadurch ermöglicht die Tabelle 118 einem Ingenieur, die Parameter schnell zu modifizieren, ohne die Schritt-Tabelle 102 editieren zu müssen. 118 This allows the table an engineer to modify the parameters quickly without having to edit the step table 102nd Die Komponentenklassen-Tabelle 120 ist einfach eine Liste aller Klassen von Komponenten (KlassenID), beispielsweise Festplatte, CD- ROM-Laufwerk etc., zusammen mit einer kurzen Beschreibung dieser Klassen (Klassenname, Beschreibung). The components class table 120 is simply a list of all classes of components (class ID), such as hard disk, CD-ROM drive, etc., along with a brief description of these classes (class name, description).

Die Komponentenklassenattribut-Tabelle 122 listet alle Klassen und alle Attribute, die jeder Klasse zugeordnet sind, auf. The component class attribute table 122 lists all classes and all attributes that are assigned to each class on. AttributID ist ein Code, der jedem verschiedenen Typ von Attribut zugeordnet ist, wie zum Beispiel die Speichergröße, die Arbeitsgeschwindigkeit, der Hersteller etc., während AttributName ein eher beschreibender Name des Attributs ist für einen Ingenieur. AttributID is a code that is assigned to each different type of attribute, such as the memory size, the operating speed, the manufacturer etc., while attribute name a more descriptive name of the attribute is for an engineer. DatenTyp ist eine Anzeige des Typs von Daten, der dazu verwendet wird, um ein jeweiliges Attribut darzustellen. Data type is an indication of the type of data that is used to represent a respective attribute. Beispielsweise kann es ein String von Zeichen sein, wenn das Attribut der Name des Herstellers ist oder es kann eine Ganzzahl sein, wenn das Attribut eine Speichergröße ist. For example, it can be a string of characters if the attribute of the manufacturer's name or it can be an integer if the attribute is a memory size.

Die Komponentenklassen-Tabelle 120 und die Komponentenklassenattributs- Tabelle 122 werden durch das Reihenfolgeprogramm 204 nicht aktiv verwendet, sondern werden in erster Linie von Entwicklungsingenieuren verwendet. The components class table 120 and the table 122 Komponentenklassenattributs- are not actively used by the sequence program 204, but are used primarily by the development engineers. Diese Tabellen umfassen nicht irgendwelche tatsächlichen Werte der Attribute. These tables do not include any actual values ​​of attributes.

Die Operatornachricht-Tabelle 124 schließlich speichert eine Anzahl von Nachrichten für den Testoperator in Abhängigkeit vom gerade ausgeführten Test und der gerade getesteten Komponenten. The operator message table 124 finally stores a number of messages for the test operator, depending on the test being executed and just tested components. Beispielsweise kann ein Prompt ausgegeben werden, um einen Operator daran zu erinnern, ein Band in ein Laufwerk einzulegen vor dem Testen des Laufwerks. For example, a prompt can be issued to remind an operator from a tape in a drive to insert before testing the drive.

Das Zielcomputersystem, das in Fig. 3B dargestellt ist, wird dazu verwendet, um zu illustrieren, wie die oben dargelegte Datenbankstruktur dazu verwendet wird, um Software-Installation und Testschritte abzurufen. The destination computer system that is shown in Fig. 3B, is used, as set forth above database structure will be used to illustrate to retrieve software installation and testing steps. Die Computerfamilien- Identifizierung in der Systemdeskriptorliste, die die Familie X identifiziert, wird der FamilienID zugeordnet, die der Familie X in der Familien-Tabelle 104 entspricht. The Computerfamilien- identification in the Systemdeskriptorliste that identifies the X family, FamilienID is assigned that corresponds to the family X in families table 104th Die Komponenten-Tabelle 108 wird dazu verwendet, um zu überprüfen, ob die Komponenten des Zielcomputersystems, die in der Zielcomputersystembestellung aufgelistet sind, zulässig sind. The components of table 108 is used to verify that the components of the target computer system, which are listed in the target computer system order, are permitted. Mit anderen Worten, stellt das Reihenfolgeprogramm und die Datenbank fest, ob der Prozessor, die Festplatte und der Monitor und die Software, die in der Systemdeskriptorenliste aus Fig. 3 enthalten ist, entsprechende Einträge und entsprechende Ganzzahlen haben, die durch KomponentenID in der Komponenten-Tabelle 108 spezifiziert sind. In other words, represents the sequence program and the database determines whether the processor, hard drive and monitor and the software that is included in the Systemdeskriptorenliste of FIG. 3, have corresponding entries and corresponding integers by KomponentenID in component table specified 108th Wenn eine Komponente nicht zulässig ist (dh wenn eine Komponente in der Systemdeskriptorenliste nicht in der Komponenten-Tabelle 108 enthalten ist), wird ein Fehler-Flag gesetzt. If a component is not permitted (that is, when a component in the Systemdeskriptorenliste is not included in the component table 108), an error flag is set. Die Familienkomponenten-Tabelle 112 ist eine relationale Tabelle, die Abbildungen von der Komponenten-Tabelle 108 und der Familien-Tabelle 104 enthält. The family component table 112 is a relational table, the pictures of the component table 108 and the table 104 contains families. Die Familienkomponenten-Tabelle 112 enthält alle zulässigen Komponenten, die in einem Zielcomputersystem, das zur Familie X gehört, enthalten sein können. The family component table 112 contains all permissible components that can be contained in a target computer system belonging to the family of X. Daher kann die Familienkomponenten-Tabelle 112 dazu verwendet werden, um zu überprüfen, ob alle Komponenten des Zielsystems zulässig sind. Therefore, the components family table 112 may be used to verify that all components of the target system are permitted. In anderen Worten stellt das Reihenfolgeprogramm und die Datenbank fest, ob der Prozessor, die Festplatte, der Monitor und die Software, die in der Systemdeskriptorenliste aus Fig. 3B enthalten ist, entsprechende Relationen in der Familienkomponenten- Tabelle 112 hat. In other words, determines the sequence program and the database to determine whether the processor, the hard disk, the monitor and the software that is included in the Systemdeskriptorenliste of Fig. 3B, corresponding relations in the table 112 has Familienkomponenten-. Wenn eine Komponente nicht zulässig ist (dh wenn eine Komponente in der Systembeschreibungsliste nicht in einem Zielsystem, das zur Familie X gehört, enthalten sein kann), wird ein Fehlerflag gesetzt. If a component is not permitted (that is, when a component in the system description list can not be contained in a target system that belongs to the family X), an error flag is set.

In der relationalen Familienschrittreihenfolge-Tabelle 106 befinden sich Abbildungen von der Schritt-Tabelle 102 und der Familien-Tabelle 104 . In the relational family step sequence table 106 are illustrations of the step table 102 and the Family Table 104th Die Familienschrittreihenfolge-Tabelle 106 enthält alle Software-Installations- und Testschritte, die zulässigerweise auf den Zielcomputersystemen, die zur Familie X gehören, ausgeführt werden können. The family step sequence table 106 contains all software installation and testing steps that can be to the new computer systems belonging to the family X, run lawfully. Darüber hinaus werden in dieser Familienschrittreihenfolge-Tabelle 106 die Reihenfolgen- und Phasennummern jedem Software-Installations- und Testschritt zugeordnet. In addition, in this family step sequence table 106, the Reihenfolgen- and phase numbers are assigned to each software installation and test step. Diese Reihenfolge- und Phasennummern stellen die richtige Reihenfolge dar, in der Schritte für eine jeweilige Familie von Computersystemen ausgeführt werden sollen. This SEQUENCE- and phase numbers represent the right order, to be executed in the steps for a particular family of computer systems. Die Familienschrittreihenfolgetabelle 106 enthält daher eine Liste von Schritten, die auf Zielcomputersystemen der Familie X ausgeführt werden sollen, ebenso wie Reihenfolge und Phasennummern, die die vorbestimmte Reihenfolge darstellen, in der die Schritte ausgeführt werden sollen. Therefore, the family step order table 106 contains a list of steps to be performed on target computer systems, the X family, as well as order and phase numbers that represent the predetermined order in which the steps are to be executed.

Die KomponentenSchritt-Tabelle 114 ist eine relationale Tabelle, die Abbildungen von der Komponenten-Tabelle 108 und der Schritt-Tabelle 102 enthält. The components of step table 114 is a relational table, the pictures of the component table 108 and the step-table 102 contains. Die KomponentenSchritt-Tabelle 114 enthält die Software-Installation und Testschritte, die für den Prozessor, die Festplatte, den Monitor und die Software auf dem Zielcomputersystem ausgeführt werden sollen. The components step table 114 contains the software installation and testing steps to be executed by the processor, hard drive, monitor, and software on the target computer system.

Das Abrufen der Software-Installation und Testschritte, die den entsprechenden Komponenten, die im Zielcomputersystem enthalten sein sollen, zugeordnet sind, umfaßt das Ausführen einer Verbindungsoperation der Familienkomponenten- Tabelle 112 und der KomponentenSchritt-Tabelle 114 , um eine Zwischenmenge zu erhalten, die Schritte auflistet, die auf den Komponenten des Zielcomputersystems 160 ausgeführt werden sollen. Retrieving the software installation and testing steps, which are assigned to the corresponding components to be included in the target computer system, comprises carrying out a connecting operation of the Familienkomponenten- table 112 and component table stage 114 to obtain an intermediate amount, listing the steps of to be performed on the components of the target computer system 160th

Die Verbindungsoperation liefert eine Liste von Schritten, die auf dem Prozessor, der Festplatte, dem Monitor und der Software, die in der Systembeschreibungsliste, die in Fig. 3B dargestellt ist, aufgelistet sind. The join operation returns a list of steps on the processor, the hard drive, the monitor and the software that are in the system description list that is shown in Fig. 3B listed. Das Ergebnis der Verbindung der Familienkomponenten-Tabelle 112 und der KomponentenSchritt-Tabelle 114 wird daraufhin mit der Familienschrittreihenfolge-Tabelle 106 verbunden, die alle Schritte für die Familie X enthält. The result of the connection of the components family table 112 and component table stage 114 is then connected to the family step sequence table 106 that contains all the steps for the family X. Das Ergebnis dieser Verbindungsoperation umfaßt Reihenfolgeinformation in der Form von Reihenfolgenummern und Phasennummern, wobei die Reihenfolgenummern eindeutig innerhalb einer jeweiligen Phase sind. The result of this connection operation includes order information in the form of sequence numbers and phase numbers, the sequence numbers are unique within a respective phase. Die drei Tabellenverbindungen der Familienkomponenten- Tabelle 112 , der KomponentenSchritt-Tabelle 114 und der Familienschrittreihenfolge-Tabelle 106 ergibt die geeigneten Software- Installations- und Testschritte ebenso wie die Reihenfolgeinformation in der Form von Reihenfolge- und Phasennummern zum Installieren und/oder Testen der Software auf dem Zielcomputersystem 160 . The three table compounds of Familienkomponenten- table 112, component table stage 114 and the family step sequence table 106 provides the appropriate software installation and testing steps as well as the order information in the form of SEQUENCE- and phase numbers to install and / or testing of software on the target computer system 160th

Wenn das Ergebnis der ersten Verbindungsoperation (der Verbindung der Familienkomponenten-Tabelle 112 und der KomponentenSchritt-Tabelle 114 ) eine leere Menge ist, wird eine Fehlerbedingung gesetzt, da eine leere Menge anzeigt, daß eine Komponente, die im Zielsystem enthalten sein soll, nicht in die Familie gehört, die in der Systemdeskriptorenliste aufgelistet ist. If the result of the first compound operation (the compound of the family component table 112 and component table stage 114) is an empty set, an error condition is set as the empty set, indicating that a component to be included in the target system, not in the family owns that is listed in the Systemdeskriptorenliste. Ein Beispiel soll dies erläutern. An example will illustrate this. Es sei angenommen, daß eine Systemdeskriptorenliste korrekt anzeigt, daß ein Zielcomputersystem zur Familie Y gehört. It is assumed that a Systemdeskriptorenliste correctly indicates that a target computing system to the family Y belongs. Es sei jedoch angenommen, daß die Systemdeskriptorenliste inkorrekt anzeigt, daß eine Festplatte (die Festplatte Z), die nur zur Zielsystemen in der Familie X gehört, in dem Zielsystem, das in der Familie Y ist, enthalten sein sollte. It is believed, however, that the Systemdeskriptorenliste indicating incorrectly that a HDD (hard disk drive Z), which belongs only to the target systems in the family X, should be included in the target system, which is in the family Y. In diesem Fall enthält die KomponentenSchritt-Tabelle 114 Schritte, die der Festplatte Z zugeordnet sind. In this case, the components of step table 114 includes steps that are associated with the disk Z. Die Familienkomponenten-Tabelle 112 enthält Komponenten, die der Familie Y zugeordnet sind. The family component table 112 contains components that are associated with the Y family. Daher erzeugt das Verbinden der KomponentenSchritt-Tabelle 114 mit der Familienkomponenten-Tabelle 112 eine leere Menge, da die Festplatte Z nicht eine Komponente ist, die der Familie Y zugeordnet ist (statt dessen ist sie nur der Familie X zugeordnet). Therefore, the joining of the components step table 114 generates an empty set with the family component table 112, because the disk Z is not a component is assigned to the Y family (instead it is associated only X of the family). Wie aus dem obigen Beispiel deutlich wird, ermöglicht die bevorzugte Struktur der Datenbank in vorteilhafter Weise das Sicherstellen, daß das Zielsystem einer bestimmten Familie nur Komponenten enthält, die für diese Familie geeignet sind. As is clear from the above example, the preferred structure of the database advantageously allows ensuring that the target system a specific family contains only components that are suitable for this family.

Nachdem die Schritte, die den Komponenten, die im Zielsystem enthalten sein sollen, zugeordnet sind, abgerufen worden sind (vgl. die Fig. 5A und 5C), stellt das Modul 518 des Reihenfolgeprogramms 204 für jeden Schritt fest, ob für diesen Schritt eine Abhängigkeit vorliegt durch das Untersuchen von DepMask für diesen Schritt. After the steps which are assigned to the components that are to be included in the target system have been accessed (see. Figs. 5A and 5C), the module 518 of the order program 204 for each step whether a dependency for this step is present by examining DepMask for this step. In diesem Fall liest das Modul 520 die Abhängigkeit aus der Schrittabhängigkeits-Tabelle 116 und das Modul 522 löst die Abhängigkeit gemäß der DepTypeID. In this case, the module 520 reads the dependency of the step dependency table 116 and the module 522 solves the dependence according to the DepTypeID.

Als nächstes stellt das Modul 524 fest, ob der Schritt einen Parameter benötigt wiederum durch das Untersuchen von DepMask für diesen Schritt. Next, notes the module 524 if the step a parameter needed again by the examining DepMask for this step. In diesem Fall liest das Modul 226 die Parameterdaten aus der Schrittparameter-Tabelle 118 und das Modul 528 berechnet den tatsächlichen Wert des Parameters und fügt ihn in die Befehlszeile für diesen Schritt ein. In this case, the module 226 reads the parameter data from the parameter table 118, step and module 528 calculates the actual value of the parameter and inserts it in the command line for this step.

Jetzt bereitet das Modul 530 Umgebungsvariablen für das Zielcomputersystem vor durch das Lesen der Systembeschreibungsliste und das Erzeugen einer Umgebungsdatei, die den Komponenten entspricht, die im Zielcomputersystem enthalten sein sollen. Now the module prepares 530 environment variables for the target computer system before by reading the System Description list and creating an environment file corresponding to the components to be included in the target computer system. Beispielsweise wird die Systembeschreibungsliste, die in Fig. 3B dargestellt ist, gelesen und eine Umgebungsvariable, wie z. For example, the system description list, which is shown in Fig. 3B is read and an environment variable such. B. "set cpu = pentium" kann vorbereitet werden, die der Prozessor-Hardwarekomponente der Systembeschreibungsliste entspricht. B. "set cpu = pentium" can be prepared corresponding to the processor hardware component of the system description list.

Im Modul 532 wird die Vielzahl der abgerufenen Software-Installation und Testschritte, die durch die Drei-Tabellen-Verbindung, die oben beschrieben worden ist, abgerufen worden sind, mit den aufgelösten Abhängigkeiten und den hinzugefügten Parametern in die vorbestimmte Reihenfolge gebracht. In module 532, the plurality of retrieved software installation and testing steps, which have been accessed by the three tables compound which has been described above, is brought into the predetermined order with the unresolved dependencies and the added parameters. Dieses In- Reihenfolge-Bringen, stimmt mit den entsprechenden Reihenfolge- und Phasennummern überein, um eine Schrittfolge zu erzeugen. This home order-matching, is consistent with the corresponding SEQUENCE- and phase numbers to produce a sequence of steps. Das In-Reihenfolge- Bringen selbst kann erreicht werden unter der Verwendung eines von vielen bekannten Sortieralgorithmen. The in-SEQUENCE- bring itself can be accomplished using one of many known sorting algorithms.

Im Modul 534 gibt das Reihenfolgeprogramm 204 die Schrittdatei und die zuvor erwähnte Setenv.bat-Datei aus. In module 534, the sequence program gives 204 from the step file and the aforementioned Setenv.bat file. Die Schrittdatei ist aufgeteilt in eine Anzahl von Unterdateien, die die Schritte enthalten, die entsprechend während der Quick Test (Qt)-, Extended Test1 (ET1)-, Extended Test2 (ET2)-, Software Install (SI) und Final Test (Ft)-Phasen der Herstellung des Zielcomputersystems ausgeführt werden sollen. The Step file is divided into a number of sub-files containing the steps accordingly during the Quick Test (Qt) - Extended Test1 (ET1) - Extended Test2 (ET2) - Software Install (SI) and Final Test (Ft ) phases of the manufacture of the target computer system to be executed.

Wie dargestellt, speichert das Modul 534 die Ausgabedateien in der Ausführungsform von Fig. 2 als solche oder in einer Datenbank auf dem Dateiserver 202 . As shown, the module 534 stores the output file in the embodiment of Fig. 2 as such or in a database on the file server 202. Die Ausgabedateien, die auf den Dateiserver 202 geschrieben werden, können dazu verwendet werden, um die Ausführung der Software- Installation und Testschritte auf dem Zielcomputersystem 160 zu steuern. The output files that are written to the file server 202 can be used to control the execution of software installation and testing steps on the target computer system 160th

Im Modul 536 wird die Schrittreihenfolge, falls nötig, modifiziert unter der Verwendung eines Schrittreihenfolge-Patches. In module 536, the step sequence is, if necessary, modified by using a sequence of steps patches. In der bevorzugten Ausführungsform ist der Patch modular und ermöglicht, daß Patches für ein spezifisches Zielcomputersystem, eine besondere Familie von Computersystemen oder eine besondere Komponente erzeugt werden. In the preferred embodiment the patch is modular and permits patches for a specific target computer system, a special family of computer systems or a particular component are generated.

Wenn beispielsweise ein Hersteller einen Testschritt vor einem anderen für eine bestimmte Komponente an einem bestimmten Tag ausführen möchte, kann ein Patch gebildet werden, der alle Schrittfolgen, die die Schritte enthalten, deren Reihenfolge modifiziert werden soll, modifiziert und entsprechend die Ausführungsreihenfolge im Modul 536 verändert. For example, if a manufacturer wants to perform a test step before another for a particular component on a given day, a patch can be formed which modifies all of steps which comprise the steps, their order is to be modified, and accordingly changes the order of execution within module 536 ,

Nach dem Korrigieren gibt das Modul 538 überarbeitete Dateien zum Speichern aus, wiederum entweder als solche oder in eine Datenbank auf dem Dateiserver 202 . After correcting the module is 538 revised files to save, again either as such or in a database on the file server 202nd

Das Modul 540 schließlich ermöglicht, auf eine Diskette 150 , vgl. The module 540 finally allows to a floppy disk 150, see. Fig. 1, zu schreiben. To write Fig. 1. Wenn eine Diskette benötigt wird, erzeugt das Modul 442 , anstatt direkt auf die Diskette zu schreiben, eine "virtuelle Diskette" im Speicher und das Modul 544 schreibt daraufhin die gesamte virtuelle Diskette auf die physikalische Diskette in einem Vorgang. If a disk is needed creates the module 442, instead of writing directly to the disk, a "virtual disk" in memory and the module 544 then writes the entire virtual disk to the physical disk in one operation. Dies reduziert die Anzahl der Schreibvorgänge auf dem Diskettenlaufwerk und beschleunigt daher signifikant den Gesamtbetrieb des Programms. This reduces the number of writes to the floppy disk drive and therefore significantly accelerates the overall operation of the program.

Die virtuelle Diskette wird durch das folgende Programm erzeugt, das einen Speicher erzeugt, der der physikalischen Diskette äquivalent ist durch das Allocieren eines Feldes von Speicherblöcken, die jeweils der Größe eines physikalischen Sektors auf der physikalischen Diskette äquivalent sind. The virtual disk is generated by the following program, which generates a memory, which is the physical disk by the equivalent Allocieren an array of memory blocks, each the size of a physical sector on the physical disk equivalent. Das Dateisystem ist FAT12 (verwendet von PC-DOS-, MS-DOS-, Windows 95- und Windows NT-Betriebssystemen). The file system is FAT12 (used by PC-DOS, MS-DOS, Windows 95 and Windows NT operating systems). Der erste Sektor ist der Bootsektor der Diskette. The first sector is the boot sector of the disk. Ein Cluster ist eine logische Gruppierung/Einheit einer Gruppe von Sektoren. A cluster is a logical grouping / unit a group of sectors.

Diese Anzahl ist fest, sobald ein Dateisystem initialisiert worden ist. This number is determined when a file system has been initialized. Beispielsweise ist eine Clustergröße zwei Sektoren. For example, a cluster size of two sectors. Das Dateisystem ermöglicht eine Allocierung nur per Cluster, nicht per Sektor. The file system enables Allocierung only by cluster, not per sector. In diesem Fall wird die kleinste Datei zumindest 1 Cluster (oder 2 Sektoren) verbrauchen. In this case, the smallest file is at least 1 cluster (or 2 sectors) consume.

Start begin
Erzeuge ein Feld eines Speicherblocks. Create a field of a memory block. Die Anzahl des Speicherblocks soll gleich der Anzahl von physikalischen Sektoren auf der Diskette mit dem gegebenen Dateisystem sein. The number of the memory block to be equal to the number of physical sectors on the disk with the given file system.
Initialisiere die Inhalte aller Speicherblöcke auf Null. Initialize the contents of all memory blocks to zero.
Initialisiere den Boot-Sektor durch das Kopieren eines externen Abbildes von ausschließlich dem Boot-Sektor. Initialize the boot sector by copying an external image of only the boot sector. Dieses externe Abbild wird in einer Datei gespeichert. This external image is stored in a file.
Initialisiere die FAT-Tabellen. Initialize the FAT tables. (Wohl definierte Sektoren auf der Diskette durch das Dateisystem). (Well-defined sectors on the disk by the file system).

Wenn ein Dateischreibvorgang verlangt wird. When a file write operation is required.
Lies die Datei. Read the file.
Allociere den benötigten Cluster. Allociere the required cluster.
Wenn ein Fehler auftritt, Verlasse die Funktion mit dem Fehler, da es nicht genügend Speicherplatz gibt. If an error occurs, the function Exit with the error because there is not enough space.
Aktualisiere das Verzeichnis und die FAT-Tabelle für die allocierten Cluster. Update the directory and FAT table for allocierten cluster.
Schreibe den gelesenen Inhalt in die Cluster. Write the contents read into the cluster.

Wenn ein Datei-Lösch-Vorgang benötigt wird. If a file delete operation is needed.
Gib den allocierten Cluster für die gegebene Datei frei. Give freely to allocierten cluster for the given file.
Aktualisiere das Verzeichnis und die FAT-Tabelle für die freigegebenen Cluster. Update the directory and FAT table for the shared cluster.

Wenn der Vorgang zum Schreiben einer physikalischen Diskette verlangt wird. When the process is required for writing a physical disk.
Nimm den Diskettenverwendungszähler, der im vierten Byte des Boot- Sektors von der Diskette gespeichert ist. Take the disk usage count stored in the fourth byte of the boot sector of the disk.
Wenn der Zähler < = der maximalen Zahl ist, Gib einen Fehlercode aus, um den Grund für den Fehler anzuzeigen. When the counter <= the maximum number, give an error code to indicate the reason for the failure.
Wenn der Zähler < als die Maximalzahl ist, Erhöhe den Zähler um 1. When the count is <than the maximum number, Increase the counter by the first
Schreibe den Zählwert zurück in das dritte Byte des Bootsektors auf der virtuellen Diskette. Post the count back in the third byte of the boot sector on the virtual disk.
Schreibe die Speicherblöcke von der virtuellen Diskette auf die physikalische Diskette, Halte an, wenn keine weiteren Speicherblöcke mit Daten übrig sind. Write the memory blocks of the virtual disk on the physical disk holding on if no other memory blocks are left with data.

Ende. The End.

Unter erneuter Bezugnahme auf Fig. 1 und 2 zeigt der Pfeil 130 , daß Modifizierungen an der Datenbank 100 durchgeführt werden können. Referring again to FIGS. 1 and 2 shows the Arrow 130 that modifications to the database 100 can be performed. Wenn beispielsweise eine neue Familie von Computersystemen erzeugt wird, kann man die Datenbank 100 entsprechend modifizieren. For example, if a new family of computer systems is generated can be modified according to the database 100th Genauer ausgedrückt wird der neuen Familie eine neue Familienidentifizierung in FamilienID der Familien- Tabelle 104 zugeordnet und ein Name wird der neuen Familie im Namensattribut der Familien-Tabelle 104 zugeordnet. A new family identification in FamilienID the family table 104 is assigned to the new family and more specifically, a name is associated with the new family in the name attribute of the Family Table 104th Eine Liste von Software-Installations- und Testschritten wird der Familienschrittreihenfolge-Tabelle 106 hinzugefügt, wobei diese Schritte darstellen, welche Schritte und in welcher vorbestimmten Reihenfolge auf der neuen Computersystemfamilie ausgeführt werden. A list of software installation and test steps is added to the family step order table 106, represent these steps, which steps are carried out and in which predetermined order on the new computer system family. Wenn die neue Familie von Computersystemen mit einer existierenden Familie mehrere Gemeinsamkeiten hat, ist es wahrscheinlich, daß die Einträge für die existierende Familie in der Familienschrittreihenfolge-Tabelle 106 modifiziert werden können, um die Einträge für die neue Familie zu erzeugen. When the new family of computer systems has with an existing family more common, it is likely that the entries can be modified for existing family in the Family step sequence table 106 to generate the entries for the new family. Wenn irgendwelche neuen Schritte für die neue Familie von Computersystemen erzeugt werden müssen, werden diese Schritte der Schritt-Tabelle 102 hinzugefügt. If any new steps for the new family must be generated by computer systems, these steps of the step table 102 are added. In ähnlicher Weise werden, wenn irgendwelche Komponenten die neue Familie von Computersystemen begleiten, diese Komponenten zur Komponenten-Tabelle 108 hinzugefügt. , If any components accompany the new family of computer systems in a similar way, add these components to the components table 108th Die Komponentenschritt-Tabelle 114 wird aktualisiert, um jeder Komponente der neuen Familie von Computersystemen geeignete Schritte für ihre Software-Installation und das Testen zuzuordnen. The components step table 114 is updated to each component of the new family of computer systems assign appropriate steps for their software installation and testing. Wenn die neue Familie nur Komponenten verwendet, die bereits in der Datenbank vorhanden sind, muß diese Tabelle nicht modifiziert werden. If the new family uses only components that are already present in the database, this table must not be modified. Die Familienkomponenten-Tabelle 112 wird aktualisiert, so daß eine Liste mit erlaubten Komponenten, die in der neuen Familie enthalten sein können, sich in der Datenbank befindet. The family component table 112 is updated so that the list of allowed components that can be included in the new family, which is in the database. Insbesondere ist es nötig, die SystemID des neuen Computersystems der KomponentenlD von jeder erlaubten Komponente zuzuordnen. In particular, it is necessary to assign the system ID of the new computer system the KomponentenlD of any permitted component. Auch dies kann wiederum durch das Kopieren und anschließende Modifizieren von bestehenden Einträgen in älteren Familien von Computersystemen ausgeführt werden. Again, this can be done by copying and then modifying the existing entries in older families of computer systems.

Es versteht sich, daß bei der Konstruktion einer Datenbank gemäß der bevorzugten Ausführung bestimmte signifikante Vorteile bereitgestellt werden. It will be appreciated that certain significant advantages are provided in the construction of a database according to the preferred embodiment. Insbesondere erlaubt der modulare Aufbau der Datenbank eine leichte Vorbereitung von Software-Installations- und Testschritten für neue Familien von Computersystemen. In particular, the modular structure of the database allows easy preparation of software installation and testing steps for new family of computer systems. Zusätzlich können die Software-Installations- und Testschritte für eine jeweilige Familie von Computersystemen oder für eine bestimmte Komponente modifiziert werden, unabhängig von anderen Software- Installations- und Testschritten. In addition, the software installation and testing steps may be modified for a particular family of computer systems or for a particular component, independent of other software installation and testing steps.

Im folgenden wird die Ausführung der Schrittreihenfolge auf dem Zielsystem 160 beschrieben. In the following, the execution of the sequence of steps will be described on the target system 160th Die Software-Installations- und Testschritte werden auf dem Zielcomputersystem 160 ausgeführt unter Verwendung eines Programmes, das die Schrittfolge liest, interpretiert und ausführt entsprechend dem Zielcomputersystem. The software installation and test steps are executed on the target computer system 160 using a program that reads the sequence of steps, interprets and executes corresponding to the target computer system. In der bevorzugten Ausführungsform wird dieses Programm RunStep genannt und befindet sich auf der Schrittdiskette 150 in der Ausführungsform aus Fig. 1 und auf dem Dateiserver 202 in der Ausführungsform von Fig. 2. In the preferred embodiment, this program is called RunStep and is located on the step disk 150 in the embodiment of Fig. 1 and on the file server 202 in the embodiment of FIG. 2.

Fig. 7 zeigt einen Abschnitt einer Schrittfolge, die in einer Schrittdatei enthalten ist, vor der Ausführung irgendwelcher Software-Installations- und Testschritte. Fig. 7 shows a portion of a step sequence that is included in a file step, prior to the execution of any software installation and testing steps. Wie bereits erwähnt, umfaßt die Schrittreihenfolge Befehle zum Installieren von Software und/oder zum Testen des gemäß einer Bestellung gebauten Zielcomputersystems. As already mentioned, the step sequence includes instructions for installing software and / or testing of the target computer system constructed in accordance with an order. Zusätzlich ermöglicht die Schrittreihenfolge in der Schrittdatei, daß Befehle für eine festgelegte Anzahl von Iterationen oder für eine festgelegte Zeitdauer wiederholt werden. In addition, the sequence of steps in the step allows file that commands for a specified number of iterations or for a specified period of time are repeated. Darüber hinaus enthält die Schrittdatei Bemerkungen, die von dem RunStep-Programm ignoriert werden. In addition, includes the step file comments that are ignored by the RunStep program. In der Schrittdatei werden Markierungen 800 dazu verwendet, um Felder der Schrittreihenfolge voneinander zu trennen. In step 800 file marks are used to separate fields of the sequence of steps of each other. Die Einheiten 810 sind Befehle zum Testen des Zielcomputersystems 810 . The units 810 are commands for testing of the target computer system 810th Die Befehle umfassen beispielsweise einen Befehl zum Testen des Speichers und zum Testen des Small Computer System Interface (SCSI)-Geräte. The commands include, for example a command for testing the memory and for testing the Small Computer System Interface (SCSI) devices. Wie aus der Figur zu sehen ist, kann jeder Befehl Schalter wie zum Beispiel "-o" enthalten, die für die jeweilige Testumgebung geeignet sind. As can be seen from the figure, each command may include switches such as "-o" that are suitable for the particular test environment. Die Einheit 820 ist eine Bemerkung, die vom RunStep-Programm ignoriert wird. The unit 820 is an observation which is ignored by RunStep program. Die Einheit 810 c ist ein Befehl, der zeitlich in einer Schleife ausgeführt wird. The unit 810 c is a command which is executed chronologically in a loop. In der bevorzugten Konstruktion bezeichnet der "begin_time_loop"-Befehl den Startpunkt einer Schleife. In the preferred construction of the "begin_time_loop" command designates the start point of a loop. Der "end_time_loop"- Befehl bezeichnet den Endpunkt einer Schleife. The "end_time_loop" - command designates the end point of a loop. Die "begin_time_loop"- Anweisung wird mit einem Feld kombiniert, das die Zeitdauer für die Iteration in der Schleife anzeigt. The "begin_time_loop" - instruction is combined with a field indicating the length of time for the iteration in the loop. Beispielsweise wird hier der Befehl 810 c für eine Stunde und dreißig Minuten ausgeführt. For example, the command is executed 810 c for an hour and thirty minutes here. Die Einheit 810 d ist ein Befehl, der entsprechend einer Anzahl von Iterationen in einer Schleife ausgeführt wird. The unit 810 d is a command that is executed according to a number of iterations in a loop. In der bevorzugten Ausführungsform weist der "begin_iterate_loop"-Befehl das RunStep-Programm an, daß eine Wiederholungsschleife ausgeführt werden soll. In the preferred embodiment, the "begin_iterate_loop" command instructs the RunStep program that a repeat loop is to be executed. Der "end_iterate_loop"-Befehl signalisiert das Ende der Schleifenbefehle. The "end_iterate_loop" command signals the end of the loop commands. Hier wird der Befehl 810 d dreimal ausgeführt. Here the command is run three times d 810th

Die Fig. 8 bis 13 illustrieren den Ablauf des RunStep-Programms. Figs. 8 to 13 illustrate the sequence of the RunStep program. Als ein Überblick verarbeitet RunStep jede Schritt-Unterdatei zeilenweise, anstatt die gesamte Schritt-Unterdatei in den Speicher zu lesen. As an overview, processed RunStep every step sub-file line by line instead of reading the entire step-sub file into memory. Bei jeder Zeile führt RunStep eine Anzahl von Überprüfungen durch, um festzustellen, ob oder ob nicht es mit der Verarbeitung dieser Zeile fortfahren soll. For each row RunStep performs a number of checks to determine whether or not to continue it with the processing of this line. Wenn beispielsweise RunStep sieht, daß eine Fehlerbedingung registriert worden ist, seitdem die vorhergehende Zeile ausgeführt worden ist, weiß es, daß es keinen Sinn macht, mit dem Programm fortzufahren. For example, if RunStep sees that a fault condition has been registered since the previous line has been executed, it knows that it makes no sense to continue with the program. Alternativ dazu kann RunStep überprüfen um zu sehen, ob oder ob nicht ein Operator die Schritt-Unterdatei verfälscht hat (beispielsweise, um einen mühsamen Test auszulassen) und wird in diesem Fall nicht mit dem Programm fortfahren, um dadurch den Operator zu zwingen, von neuem zu beginnen. Alternatively RunStep can check to see whether or not an operator has distorted the step sub-file (for example to skip a troublesome test) and is not to proceed in this case with the program, thereby forcing the operator again to start. Damit wird eine jeweilige Zeile einer Schritt-Unterdatei nur gelesen, wenn RunStep feststellt, daß diese Zeile korrekter weise als nächstes ausgeführt werden soll - es gibt daher kein überflüssiges Lesen von Zeilen aus der Schritt-Unterdatei. In order for a respective row of a step-sub file is read only when RunStep determines that this line be correct to be executed next - there is therefore no superfluous reading lines from the step-sub file. Dies ist eindeutig ein zeitsparendes Merkmal. This is clearly a time-saving feature.

Fig. 8 ist ein Top-Level Flußdiagramm von RunStep. Fig. 8 is a top-level flow chart of RunStep. Das erste Modul 900 initialisiert den Zustand des Systems. The first module 900 initializes the state of the system. Dies wird ausgeführt, bevor irgendeine Zeile einer Schritt-Unterdatei gelesen wird. This is done before any line of a step-by sub-file is read. Während dieses Stadiums liest RunStep die verschiedenen Umgebungsvariablen (aus der Datei "progress.bat", die im folgenden beschrieben wird), so daß es den genauen Zustand des Systems kennt, z. During this stage RunStep reads the various environment variables ( "progress.bat" from the file, which is described below) so that it knows the exact state of the system, z. B. ob ein Fehler bei der Ausführung der letzten Zeile zurückgegeben worden ist oder ob eine Wiederholung durchgeführt werden muß oder ob RunStep mit dem Lesen der nächsten Zeile fortfahren kann. B. whether an error in the execution of the last line has been returned, or whether repeat should be done or whether RunStep can continue to read the next line.

Fig. 9 beschreibt die Initialisierungsstufe genauer. Fig. 9 describes the initialization more accurate. Das erste Modul 902 setzt eine Kontrollunterbrechung außer Kraft - dies verhindert, daß ein Operator aus dem Programm ausbrechen kann, um einen Schritt zu umgehen. The first module 902 is a control interruption overridden - this prevents an operator can break out of the program to bypass a step. Daraufhin werden Variablen in Modul 904 initialisiert und das Programm liest die Umgebungsvariablen aus der Umgebung im Modul 906 . Then variables are initialized in module 904 and the program reads the environment variables from the environment module 906th Diese Umgebungsvariablen sind hauptsächlich in einer Batch-Datei gespeichert, die progress.bat genannt wird, die im Speicher gehalten wird und in die RunStep geschrieben hat, als es die vorangegangenen Zeilen in der Schritt-Unterdatei ausgeführt hat. These environment variables are mainly stored in a batch file, which is called progress.bat which is maintained in memory and is written into the RunStep, when it has executed the previous rows in the step subfile. Progress.bat enthält den gegenwärtigen Systemstatus und, wie weiter beschrieben (Modul 106 , Fig. 13) wird aktualisiert jeweils wenn eine Zeile aus der Schritt-Unterdatei gelesen wird. Progress.bat containing the current system state and as further described (module 106, Fig. 13) is updated each time a row is read from the step subfile. Progress.bat wird Information umfassen, wie zum Beispiel die Zeilennummer des letzten ausgeführten Schrittes, die Identifizierung, welcher tatsächliche Befehl ausgeführt worden ist, wieviel Zeit vergangen ist, wenn ein jeweiliger Befehl ausgeführt wird innerhalb einer zeitlichen Schleife; Progress.bat information will include, for example, the row number of the last step to be executed, the identification of which actual instruction has been executed, how much time has passed when a respective command is executed within a time loop; welche Test- oder Software-Installationsphase durchgeführt wird. which test or software installation phase is carried out.

Wenn die Umgebungsvariablen erfolgreich gelesen werden, wie durch das Modul 908 festgestellt, liest das Modul 910 die Verzeichnisliste aller Dateien auf dem lokalen Laufwerk in den Speicher des Computers 160 oder 202 , auf dem RunStep läuft. If the environment variables are read successfully, as determined by the module 908, the module reads 910, the directory listing of all files on the local drive in the computer's memory 160 or 202 runs on the RunStep. Wenn daher RunStep überprüfen soll, ob oder ob nicht eine Datei sich auf dem lokalen Laufwerk befindet (Modul 1002 , Fig. 13), kann es dies tun durch das Lesen in der Verzeichnisliste im Speicher und muß nicht das lokale Laufwerk selbst durchsuchen. Therefore, if RunStep should check whether or not a file is on the local drive (module 1002, Fig. 13), it can do this by reading the directory list in memory and does not need to browse the local drive itself. Dies spart Zeit. This saves time.

Wenn RunStep erfolgreich die Verzeichnisliste liest, wie durch das Modul 912 festgestellt, ruft das Modul 914 den aktuellen Prozeßstatus ab. If RunStep successfully reads the directory listing, as determined by the module 912, the module retrieves 914 from the current process status. In diesem Stadium setzt RunStep eine Anzahl von Flags in Übereinstimmung mit dem Zustand des Systems, dh Versagen oder Wiederholung etc. Diese Flags bestimmen den Fluß von RunStep durch die nachfolgenden Module 916 , 918 , 920 . At this stage RunStep sets a number of flags in accordance with the state of the system, ie failure or repetition etc. These flags determine the flow of RunStep by the following modules 916, 918, 920th Diese Module steuern je nachdem RunStep in die Unterroutinen A, B oder C, vergleiche Fig. 10. These modules control depending RunStep in subroutines A, B or C, compare Fig. 10.

Unter Bezugnahme auf Fig. 10(a) wird die Routine A betreten, wenn RunStep festgestellt hat im Modul 916 , daß der nächste Schritt ein normaler Prozeßschritt ist. Referring to Fig. 10 (a) A, the routine is entered when RunStep has determined in module 916, that the next step is a normal process step. Das erste Modul in der Routine A, das Modul 922 , verifiziert verschiedene Kontrollsummen. The first module in the routine A, the module 922 verifies various checksums. Dies geschieht um zu gewährleisten, daß die Schritt- Unterdateien nicht verfälscht worden sind, dh RunStep liest bestimmte Kontrollsummen und vergleicht sie mit Kontrollsummen, die in Progress.bat gespeichert sind - irgendwelche Unterschiede würden anzeigen, daß eine nicht autorisierte Person die Schritt-Unterdatei modifiziert hat. This is done to ensure that the step subfiles has been distorted, that RunStep reads certain checksums and compares it with checksums stored in Progress.bat - any differences would indicate that an unauthorized person modifies the step subfile Has. Wenn alle Kontrollsummen korrekt sind, wie durch das Modul 924 festgestellt, setzt das Programm verschiedene Variablen zurück (räumt auf) und liest die aktuelle Zeit im Modul 926 . If all the checksums are correct, as determined by the module 924, the program sets different variables back (clean up) and reads the current time in the module 926th

Die Routine B in Fig. 10(b) wird geöffnet, wenn die Umgebung anzeigt, daß der letzte Schritt wiederholt werden muß, wie durch das Modul 918 festgestellt. The routine B in FIG. 10 (b) is opened when the ambient indicates that the final step has to be repeated as determined by the module 918th Der Zweck der Routine B ist, einem autorisierten Operator eine Möglichkeit zu geben, in das Programm einzugreifen, um zu verhindern, daß der letzte Schritt wiederholt wird, wenn dies gewünscht wird. The purpose of the routine B is a way to give an authorized operator to intervene in the program in order to prevent that the last step is repeated, if desired. Somit wird im Modul 928 eine Nachricht angezeigt, daß der Operator innerhalb von fünf Sekunden Herstellungswerkzeuge auswählen kann (manufacturing tools, MFGTools) oder die Wiederholung wird fortgesetzt. Thus, in the module 928 a message is displayed that the operator can select within five seconds manufacturing tools (manufacturing tools, MFGTools) or the repetition is continued. Die Herstellungswerkzeuge sind eine geeignete Methode, mit denen ein autorisierter Operator mit einem passenden Passwort in die Schrittdatei eingreifen kann und sie wie gewünscht modifizieren kann. The production tools are a suitable method by which an authorized operator can engage with a matching password in the step file and can modify them as desired. Das Modul 930 stellt fest, ob der letzte Schritt wiederholt werden soll, in Abhängigkeit von der Antwort des Operators und das Modul 932 wird gegebenenfalls die Progress-Umgebung (progress.bat) ablaufen lassen, um MFGTools auszuführen. The module 930 determines whether the last step is to be repeated, the Progress environment (progress.bat) is optionally run to run MFGTools depending on the response of the operator and the module 932nd

Die Routine C, vgl. The routine C, see. Fig. 10(c) setzt einfach die Progress-Umgebung (progress.bat), um MFGTools im Modul 934 auszuführen. Fig. 10 (c) simply sets (progress.bat) to execute the module 934 the MFGTools Progress environment.

Unter erneuter Bezugnahme auf Fig. 9 stellt das Modul 936 fest, ob ein Fehler zurückgegeben worden ist und das Modul 938 prüft, falls dies nicht der Fall ist, ob die gegenwärtige Phase zulässig ist. Referring again to Fig. 9 detects the module 936, if an error is returned, and the module 938 checks to see if this is not the case, whether the current phase is permitted.

Nachdem das Initialisierungsmodul 900 abgeschlossen ist, vgl. After the initialization is complete 900; see. Fig. 8, und wenn "Erfolg" zurückgegeben worden ist, wie durch das Modul 950 bestimmt, schreitet RunStep zum Modul 952 fort, das die "Schrittdatei-Verarbeitung" ist. Fig. 8, and if "success" has been returned, as determined by the module 950, RunStep proceeds to module 952, which is the "step-file processing". Wenn RunStep dieses Stadium erreicht hat, hat es genug Information aus der Umgebung gelesen, um zu wissen, ob oder ob nicht es mit der nächsten Zeile der Schritt- Unterdatei fortfahren soll, den vorherigen Schritt wiederholen soll oder abbrechen soll. If RunStep has reached this stage, it has read enough information from the environment, in order to know whether or not it should continue with the next line of stepper sub file to repeat the previous step or to cancel.

Fig. 11 zeigt das Modul 952 "Verarbeite Schrittdatei" genauer. Fig. 11 shows the module 952 "Processing step file" in more detail. Das Modul 954 stellt fest, ob oder ob nicht die Herstellungswerkzeuge ausgewählt worden sind oder ob ein Re-Run benötigt wird. The module 954 determines whether or not the manufacturing tools have not been selected or whether a re-run is required. Wenn eine von diesen Bedingungen wahr ist, ist keine weitere Vorbereitung notwendig und dieser Teil des Programmes kann Erfolg zurückgeben. If one is true of these conditions, no further preparation is necessary and this part of the program may return success. Wenn keine dieser Bedingungen wahr ist (dh RunStep soll jetzt fortfahren zur nächsten Zeile der Schritt-Unterdatei), wird im Modul 956 die geeignete Phasen-Schritt-Unterdatei geöffnet. If none of these conditions is true (ie RunStep will now proceed to the next line of the step-sub file) opens the appropriate phase stepper sub-file in the module 956th Das heißt, daß RunStep die Schritt- Unterdatei öffnet, die der jeweiligen Phase des Testens oder der Software- Installation zugeordnet ist, die gerade ausgeführt wird (z. B. quick test, extended test, etc.). That is, RunStep opens the step sub-file that is associated with the respective phase of the testing or of the software installation that is being executed (z. B. quick test, extended test, etc.).

Das Modul 958 stellt fest, ob oder ob nicht eine Rückspulphase vorliegt. The module 958 determines whether or not a Rückspulphase present. Eine Rückspulphase ist ein Spezialfall einer Wiederholung, bei der die gesamte Phase des Testens wiederholt werden muß für den Fall eines Versagens von einem Schritt, dh RunStep muß zum Anfang der Schritt-Unterdatei für diese Phase zurückgehen. A Rückspulphase is a special case of a repetition, in which the entire phase of testing must be repeated decline in the event of a failure of one step, that must RunStep the beginning of the subfile step for that phase. Wenn RunStep feststellt, daß es eine Rückspulphase ist, dann bereitet das Modul 960 die Umgebung entsprechend vor und Erfolg wird zurückgegeben. If RunStep determines that there is a Rückspulphase, then prepares the module 960, the area corresponding to before and success is returned.

Wenn es keine Rückspulphase ist, dann liest das Modul 962 die nächste Zeilennummer aus der Schritt-Unterdatei und überprüft ferner, daß die Zeilennummer, die es gerade gelesen hat, die Zeile ist, von der es erwartet, daß er sie liest, durch die Übereinstimmung der Zeilennummer mit derjenigen, die in progress.bat gespeichert ist, die RunStep während der Initialisierungsstufe gelesen hat. If there is no Rückspulphase, the module 962 reads the next line number from the step-sub-file and also checks that the line number that it has just read is the line from which it expected to read it, by the match the line number with that stored in progress.bat that RunStep has read during the initialization stage. Auch dies ist wiederum eine Vorrichtung gegen das Verfälschen. Again, this is a device against tampering.

Insbesondere wird progess.bat, wenn RunStep läuft, Information enthalten, die den letzten ausgeführten Schritt betrifft, dh Information wie die Zeilennummer in der Schritt-Unterdatei, die Befehls-ID des Befehls, der ausgeführt worden ist und andere Überprüfungen oder relevante Informationen. Specifically progess.bat when RunStep running, contain information concerning the last step executed, that is, information such as the line number in the step subfile, the command ID which has been carried out, and other screening of relevant information or, command. In Modul 962 liest RunStep die progress.bat-Datei, die im Speicher enthalten ist und springt eine spezifische Anzahl von Zeilen der Schritt-Unterdatei runter, wie festgelegt durch die Zeilenanzahl in progress.bat. In module 962 reads the RunStep progress.bat file contained in the memory and jumps a specific number of rows of the step-down sub-file, as determined by the number of lines in progress.bat. Es überprüft daraufhin, ob oder ob nicht die Zeilenanzahl, bei der es sich tatsächlich befindet, mit der Zeilenzahl übereinstimmt, von der es erwartet, daß es sich bei ihr befindet. It checks to see whether or not that matches the number of lines in which it is actually placed with the number of rows from the expected, that it is with her. Es überprüft ferner, ob oder ob nicht der Befehl in dieser Zeile derselbe ist, wie derjenige, von dem ihm erzählt worden ist, daß er gerade ausgeführt worden ist, dh RunStep validiert, daß die Zeile, bei der es sich jetzt befindet, tatsächlich der letzte Schritt ist, der ausgeführt worden ist. It further checks whether or not the instruction in this line is the same as that from which it has been told that he has just been executed, that RunStep validated that the line where it is now, in fact the final step which has been executed.

Falls dies der Fall ist, wie durch das Modul 964 festgestellt, liest RunStep im Modul 966 den Schritt und bereitet die Progress-Umgebung zur Ausführung des nächsten Schrittes vor. If this is the case, as determined by the module 964, reads the RunStep step in the module 966 and prepares the Progress environment for execution of the next step before. Das Modul 968 überprüft, daß das Lesen des Schrittes gültig war und gibt Erfolg zurück, wenn dies der Fall war. The module 968 verifies that the reading of the step was valid and returns success if this was the case. Wenn kein gültiger Schritt gelesen worden ist, überprüft RunStep im Modul 970 , ob oder ob nicht es tatsächlich die letzte Zeile der Schritt-Unterdatei der letzten Phase erreicht hat. If a valid step has been read, RunStep checked in module 970, whether or not it has actually reached the last line of step-sub-file the final phase. In diesem Fall gibt RunStep eine Nachricht "alle Schritte verarbeitet" zurück, die anzeigt, daß das gesamte Testen vollständig ist. In this case RunStep are "processed all of the steps" a message back indicating that the entire test is complete. Andernfalls gibt RunStep ein Versagen zurück. Otherwise RunStep returns a failure.

Wenn andererseits das Modul 964 von RunStep zeigt, daß die Zeilenzahl, die es gerade gelesen hat, nicht mit der Zeilenzahl übereinstimmt, die es erwartet, schreitet RunStep fort zu der Routine, gezeigt in Fig. 12. Das erste Modul 972 überprüft, ob RunStep tatsächlich die letzte Zeile der Schritt-Unterdatei für die letzte Phase erreicht hat. On the other hand, the module 964 of RunStep shows that the number of rows that it has just read, does not coincide with the line number that it expects RunStep proceeds to the routine shown in Fig. 12. The first module 972 checks whether RunStep actually has reached the final phase, the last line of the step-sub file. In diesem Fall wird eine Nachricht zurückgegeben, die anzeigt, daß das gesamte Testen abgeschlossen ist. In this case, a message is returned, indicating that the entire testing is complete. Andernfalls überprüft das Modul 974 , ob die letzte Zeile in einer Schritt-Unterdatei erreicht worden ist. Otherwise, the module 974 checks whether the last line has been achieved in a step-sub file. In diesem Fall kehrt RunStep zum Modul 956 zurück und öffnet die Schritt- Unterdatei für die nächste Phase des Testens. In this case RunStep returns to module 956 and opens the file under step for the next phase of testing.

Wenn andererseits RunStep feststellt, daß es nicht am Ende der Schritt-Unterdatei ist, überprüft es im Modul 976 , ob oder ob nicht die Zeilenzahl, die es gerade gelesen hat, die Zeile, die es erwartet (vom Lesen des Speichers) übertrifft. On the other hand RunStep determines that it is not at the end of step sub-file, it checks the module 976, whether or not the number of rows that it has just read the line that it expects exceeds (by reading the memory). Wenn die Zeilennummer übertroffen wird, zeigt dies RunStep an, daß ein manuelles Verfälschen der Schritt-Unterdatei stattgefunden hat (dh ein Operator hat einen Schritt aus der Schritt-Unterdatei entfernt) und RunStep gibt ein Versagen zurück. If the line number is exceeded, this indicates RunStep that a manual tampering with the step-by sub-file has occurred (ie, an operator has to step out of step subfile away) and RunStep is a failure back. Wenn die Zeilenzahl nicht übertroffen wird, kehrt RunStep zum Modul 962 zurück. If the line number is not exceeded, RunStep returns to module 962nd

Daraufhin kehrt RunStep zum Modul 990 zurück, vgl. Then RunStep returns to module 990, see. Fig. 8, und berichtet an den Operator, wenn das Ende der Schritt-Unterdatei erreicht worden ist. Fig. 8, and reported to the operator if the end of the step-by sub-file has been reached. RunStep überprüft ferner, ob oder ob nicht ein Versagen im Modul 992 zurückgegeben worden ist. RunStep also checks whether or not it has been a failure in the module 992 returned. In diesem Fall wird es berichtet und RunStep wird verlassen. In this case it is reported and RunStep is exited.

An diesem Punkt hat RunStep den genauen Status des Systems festgestellt. At this point RunStep has determined the exact status of the system. Es weiß, ob oder ob nicht es dabei ist, einen Schritt zu wiederholen, eine Phase zurückzuspulen oder die nächste Zeile in der Schritt-Unterdatei auszuführen und es hat den Speicher entsprechend vorbereitet. It knows whether or not it is going to repeat a step, rewind a phase or execute the next line in the step subfile and it has prepared the memory accordingly. Vor dem Fortfahren speichert RunStep alle Information, die es in den vorherigen Stadien gelernt hat. Before proceeding RunStep stores all the information that it has learned in the previous stages. Dies geschieht in Modul 994 , das genauer in Fig. 13 dargestellt ist. This is done in module 994, which is shown in more detail in Fig. 13.

Als erstes ergreift das Modul 1000 die Gelegenheit, um alle Dateien aufzuräumen, die nicht länger benötigt werden. First, the module 1000 takes the opportunity to clean up all the files that are no longer needed. Daraufhin stellt das Modul 1002 fest, ob oder ob nicht Dateien, die für das Testen oder die Software-Installation, die stattfinden sollen, benötigt werden auf dem lokalen Laufwerk gespeichert sind oder über ein Netzwerk erhalten werden müssen und speichert diese Information. Then determines the module 1002, whether or not files that are required for testing or software installation, to be held stored on the local drive or to be received over a network and stores this information. Als nächstes verwendet RunStep in den Modulen 1004 , 1006 die Information, die es in den vorherigen Stadien gelernt hat, um die Umgebungsvariablen (in progress.bat) zu sezten, so daß, wenn RunStep das nächste Mal von Beginn an ausgeführt wird, alle Umgebungsvariablen aktualisiert worden sind, um den aktuellen Zustand des Systems darzustellen. Next RunStep used in the modules 1004, 1006, the information that it has learned in the previous stages to sezten the environment variables (in progress.bat), so that when RunStep next time is executed from the beginning, all environment variables have been updated to reflect the current state of the system.

Nachdem es im Modul 1008 überprüft hat, daß das Schreiben erfolgreich war, schreibt RunStep daraufhin eine Protokolldatei im Modul 1010 . After it has checked in the module in 1008 that the writing was successful, RunStep then writes a log file in module 1010th Wenn dies erfolgreich ist, Modul 1012 , wird die Notwendigkeit für eine Wiederholung im Modul 1014 festgestellt und, falls es notwendig ist, erzeugt es im Modul 1016 eine Wiederholungsdatei. If successful, module 1012, the need is determined for a repeat in the module 1014 and, if needed, it generates a repeat file in the module 1016th

Die Steuerung wird daraufhin an das Modul 1020 , vgl. The control is then to the module 1020, see. Fig. 8, übergeben und, wenn kein Versagen zurückgegeben worden ist, wird das Programm mit einem 255-Fehlerniveau verlassen, das anzeigt, daß die Ausführung der Befehlszeile, die von der Schritt-Unterdatei gelesen worden ist, im Modul 966 stattfinden soll. Fig. 8, transferred and if no failure has been returned, the program is exited with a 255 error level, which indicates that the execution of the command line that has been read from the step-sub-file, to be held in Modul 966. Dies geschieht im Modul 1022 . This is done in the module 1,022th Daraufhin kehrt RunStep zum Anfang zurück, um den nächsten Schritt (Zeile in der Schritt-Unterdatei) zu verarbeiten. Then RunStep returns to the beginning in order to process the next step (step line in the sub-file).

Man erkennt, daß das RunStep-Programm ein Hochsicherheitssystem ist, indem es verschiedene Überprüfungen enthält, um zu verhindern, daß ein nicht autorisierter Operator die Schritt-Unterdatei verfälscht, um mühsame Tests zu umgehen oder Wiederholungen zu verhindern. It is seen that the RunStep program is a high-security system by including various checks to prevent an unauthorized operator falsified step-sub-file to bypass tedious tests or prevent repetitions. Dies wird erreicht durch das Außerkraftsetzen der Kontrollunterbrechung, das Überprüfen der Zeilenzahlen der Schritt-Unterdatei an verschiedenen Stellen; This is achieved by overriding the control interruption, checking the line numbers of the step-sub-file at various points; und das Hinzufügen von Kontrollsummen in das System. and adding checksums in the system. Ein anderer Sicherheitsaspekt ist, daß wann immer ein Versagen auftritt, wie durch RunStep bestimmt an zahlreichen Punkten des obigen Flußdiagramms, RunStep verlassen wird und das Versagen in eine versteckte, schreibgeschützte Datei geschrieben wird; Another safety aspect is that whenever a failure occurs, as will leave determined at numerous points of the above flowchart RunStep by RunStep and the failure is written in a hidden, read-only file; ein flüchtiger Operator wird diese Datei nicht wahrnehmen und nicht in der Lage sein, sie zu finden und kann damit nicht herausfinden, was schiefgegangen ist und wie der Fehler umgangen werden kann, dh er wäre gezwungen, die Komponente zurückzuweisen oder den Test erneut auszuführen, solange bis er erfolgreich ist. a fleeting operator will not perceive this file and not be able to find it and can not figure out what went wrong and how the error can be avoided, that he would be forced to reject the component or perform the test again so long as until it successfully.

Obwohl erläuternde Ausführungsformen gezeigt und beschrieben worden sind, ist ein großer Bereich von Modifizierungen, Veränderungen und Ersetzungen in der vorangegangenen Offenbarung möglich und in einigen Fällen können einige Merkmale der Ausführungsformen verwendet werden ohne die entsprechende Verwendung von anderen Merkmalen. Although illustrative embodiments have been shown and described, a wide range of modifications, changes, and substitutions in the foregoing disclosure is possible and in some instances, some features of the embodiments may be used without the corresponding use of other features. Entsprechend ist es angemessen, daß die nachfolgenden Ansprüche breit konstruiert sind und in einer Weise, die mit dem Bereich der hier offenbarten Ausführungsformen konsistent ist. Accordingly, it is appropriate that the following claims are wide and constructed in a manner that is consistent with the range of the presently disclosed embodiments.

Claims (20)

  1. 1. Verfahren zum Installieren von Software und/oder Testen eines Computersystems, aufweisend: 1. A method for installing software and / or testing of a computer system, comprising:
    Lesen einer Vielzahl von Komponentendeskriptoren aus einer von einem Computer lesbaren Datei, wobei jeder Komponentendeskriptor eine entsprechende Komponente des Computersystems beschreibt; Reading a plurality of Komponentendeskriptoren of a computer readable file, each component descriptor describes a corresponding component of the computer system;
    Lesen einer Vielzahl von Schritten aus einer Datenbank, wobei jeder Schritt einem Komponentendeskriptor zugeordnet ist und eine entsprechende Reihenfolgenummer umfaßt; Reading a plurality of steps from a database, with each step being assigned to a component descriptor and a corresponding sequence number comprises;
    In-Reihenfolge-Bringen der Vielzahl von Schritten in eine vorbestimmte Reihenfolge gemäß der Reihenfolgenummern, um eine Schrittfolge zu schaffen mit Befehlen zum Installieren von Software und/oder Testen des Computersystems; In order bringing the plurality of steps in a predetermined order according to the sequence numbers in order to create a sequence of steps comprising instructions for installing software and / or testing of the computer system;
    Feststellen für jeden Schritt, der aus der Datenbank gelesen wird aus Daten, die diesem Schritt aus der Datenbank zugeordnet sind, ob dieser Schritt inkompatibel ist mit der Anwesenheit einer anderen Komponente als der, die dem Komponentendeskriptor entspricht, der dem Schritt zugeordnet ist in dem Computersystem; Determining for each step that is read from the database data, which are associated with this step from the database, whether that step is incompatible with the presence of a component other than the one corresponding to the component descriptor that is associated with the step in the computer system ; und in diesem Fall Verwerfen des Schritts oder nicht Verwerfen gemäß der weiteren Daten, die diesem Schritt in der Datenbank zugeordnet sind. and in this case rejection of the step or not discarding according to the further data which is assigned to this step in the database.
  2. 2. Verfahren nach Anspruch 1, wobei das Computersystem zu einer bestimmten Familie von Computersystemen gehört und wobei der Schritt des Lesens der Vielzahl von Schritten die Schritte des Verbindens einer ersten Datenbank-Tabelle, die alle Komponenten enthält, die zu der bestimmten Familie gehören, mit einer zweiten Datenbank-Tabelle umfaßt, die alle Software-Installations- und/oder Testschritte enthält, die auf der Vielzahl von Komponenten ausgeführt werden sollen, wobei die Verbindung eine Zwischenmenge erzeugt, und des Verbindens der Zwischenmenge mit einer dritten Datenbank-Tabelle, die alle Software- Installations- und/oder Testschritte enthält, die auf der bestimmten Familie ausgeführt werden sollen, wobei das Verbinden die genannte Vielzahl von Schritten erzeugt. 2. The method of claim 1, wherein the computer system is part of a particular family of computer systems and wherein the step of reading the plurality of steps, the steps of connecting a first database table that contains all the components belonging to the particular family, with comprises a second database table that contains all the software installation and / or testing steps to be performed on the plurality of components, wherein the compound produces an intermediate size, and the joining of the intermediate set comprising a third database table, all software installation and / or testing steps to be performed on the particular family, wherein the connecting generates said plurality of steps.
  3. 3. Verfahren nach Anspruch 2, wobei eine Fehlerbedingung gesetzt wird, wenn die Zwischenmenge leer ist. 3. The method of claim 2, wherein an error condition is set when the intermediate set is empty.
  4. 4. Verfahren nach Anspruch 1, wobei zumindest eine entsprechende Komponente eine Hardware-Komponente ist. 4. The method of claim 1, wherein at least one corresponding component is a hardware component.
  5. 5. Verfahren nach Anspruch 1, wobei zumindest eine Komponente eine Software-Komponente ist. 5. The method of claim 1, wherein at least one component is a software component.
  6. 6. Verfahren nach Anspruch 1, ferner aufweisend den Schritt des Erzeugens einer Vielzahl von abgeleiteten Objekten, die der Vielzahl von Komponentendeskriptoren entsprechen. 6. The method of claim 1, further comprising the step of generating a plurality of derived objects that correspond to the plurality of Komponentendeskriptoren.
  7. 7. Verfahren nach Anspruch 1, weiter aufweisend den Schritt des Vorbereitens einer Umgebungsvariable, entsprechend der Vielzahl von Komponenten. 7. The method of claim 1, further comprising the step of preparing an environment variable, corresponding to the plurality of components.
  8. 8. Verfahren nach Anspruch 1, weiter aufweisend den Schritt des Schreibens der Schrittreihenfolge auf ein nicht flüchtiges Speichermedium, das konfiguriert ist, um das Computersystem während der Herstellung zu begleiten. 8. The method of claim 1, further comprising the step of writing the step sequence on a non-volatile storage medium that is configured to assist the computer system during manufacturing.
  9. 9. Verfahren nach Anspruch 1, wobei die Schrittreihenfolge geeignet ist, Befehle bereitzustellen, die für eine bestimmte Zeitdauer wiederholt werden können. To provide 9. The method of claim 1, wherein the step sequence is suitable commands that can be repeated for a certain period of time.
  10. 10. Verfahren nach Anspruch 1, wobei die Schrittreihenfolge geeignet ist, Befehle bereitzustellen, die für eine bestimmte Anzahl von Wiederholungen wiederholt werden können. To provide 10. The method of claim 1, wherein the step sequence is suitable commands that can be repeated for a certain number of repetitions.
  11. 11. Verfahren des Installierens von Software und/oder Testens eines Computersystems aufweisend: 11. A method of installing software and / or testing a computer system comprising:
    Lesen einer Vielzahl von Komponentendeskriptoren aus einer von einem Computer lesbaren Datei, wobei jeder Komponentendeskriptor eine entsprechende Komponente des Computersystems beschreibt; Reading a plurality of Komponentendeskriptoren of a computer readable file, each component descriptor describes a corresponding component of the computer system;
    Lesen einer Vielzahl von Schritten aus einer Datenbank, wobei jeder Schritt einem Komponentendeskriptor zugeordnet ist und eine entsprechende Reihenfolgenummer umfaßt; Reading a plurality of steps from a database, with each step being assigned to a component descriptor and a corresponding sequence number comprises;
    In-Reihenfolge-Bringen der Vielzahl von Schritten in eine vorbestimmte Reihenfolge gemäß der Reihenfolgenummern, um eine Schrittreihenfolge zu schaffen mit Befehlen zum Installieren der Software und/oder zum Testen des Computersystems; In order bringing the plurality of steps in a predetermined order according to the sequence numbers in order to create a sequence of steps with instructions for installing the software and / or testing of the computer system;
    Feststellen für jeden Schritt, der aus der Datenbank gelesen worden ist aus Daten, die diesem Schritt aus der Datenbank zugeordnet sind, ob dieser Schritt einen Parameter benötigt; Determining for each step that has been read from the database of data associated with this step from the database, whether this step requires a parameter; und falls dies der Fall ist, Berechnen dieses Parameters gemäß weiterer Daten, die diesem Schritt in der Datenbank zugeordnet sind. and if this is the case, computing this parameter in accordance with further data which is assigned to this step in the database.
  12. 12. Verfahren nach Anspruch 11, wobei das Computersystem zu einer bestimmten Familie von Computersystemen gehört und wobei der Schritt des Lesens der Vielzahl von Schritten den Schritt des Verbindens einer ersten Datenbank-Tabelle umfaßt, die alle Komponenten enthält, die zu der bestimmten Familie gehören mit einer zweiten Datenbank-Tabelle, die alle Software-Installations- und/oder Testschritte enthält, die auf der Vielzahl von Komponenten ausgeführt werden sollen, wobei das Verbinden eine Zwischenmenge erzeugt und Verbinden der Zwischenmenge mit einer dritten Datenbank-Tabelle, die alle Software-Installation und/oder Testschritte enthält, die auf der bestimmten Familie ausgeführt werden sollen, wobei das Verbinden die genannte Vielzahl der Schritte erzeugt. 12. The method of claim 11, wherein the computer system is part of a particular family of computer systems and wherein the step of reading said plurality of steps includes the step of connecting a first database table that contains all the components belonging to the particular family with a second database table that contains all the software installation and / or testing steps to be performed on the plurality of components, wherein the joining produces an intermediate quantity, and connecting the intermediate set having a third database table, all software installation and / or test steps to be performed on the particular family, wherein the connecting generates said plurality of steps.
  13. 13. Verfahren nach Anspruch 12, wobei eine Fehlerbedingung gesetzt wird, wenn die Zwischenmenge leer ist. 13. The method of claim 12, wherein an error condition is set when the intermediate set is empty.
  14. 14. Verfahren nach Anspruch 11, wobei zumindest eine entsprechende Komponente eine Hardware-Komponente ist. 14. The method of claim 11, wherein at least one corresponding component is a hardware component.
  15. 15. Verfahren nach Anspruch 11, wobei zumindest eine Komponente eine Software-Komponente ist. 15. The method of claim 11, wherein at least one component is a software component.
  16. 16. Verfahren nach Anspruch 11, weiter aufweisend den Schritt des Erzeugens einer Vielzahl von abgeleiteten Objekten, die der Vielzahl von Komponentendeskriptoren entsprechen. 16. The method of claim 11, further comprising the step of generating a plurality of derived objects that correspond to the plurality of Komponentendeskriptoren.
  17. 17. Verfahren nach Anspruch 11, weiter aufweisend den Schritt des Vorbereitens einer Umgebungsvariable, entsprechend der Vielzahl von Komponenten. 17. The method of claim 11, further comprising the step of preparing an environment variable, corresponding to the plurality of components.
  18. 18. Verfahren nach Anspruch 11, weiter aufweisend den Schritt des Schreibens der Schrittreihenfolge auf ein nicht flüchtiges Speichermedium, das konfiguriert ist, um das Computersystem während der Herstellung zu begleiten. 18. The method of claim 11, further comprising the step of writing the step sequence on a non-volatile storage medium that is configured to assist the computer system during manufacturing.
  19. 19. Verfahren nach Anspruch 11, wobei die Schrittreihenfolge geeignet ist, Befehle bereitzustellen, die für eine bestimmte Zeitdauer wiederholt werden können. To provide 19. The method of claim 11, wherein the step sequence is suitable commands that can be repeated for a certain period of time.
  20. 20. Verfahren nach Anspruch 11, wobei die Schrittreihenfolge geeignet ist, Befehle bereitzustellen, die für eine bestimmte Anzahl von Iterationen wiederholt werden können. To provide 20. The method of claim 11, wherein the step sequence is suitable commands that can be repeated for a certain number of iterations.
DE1999122767 1999-05-18 1999-05-18 Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file Ceased DE19922767A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE1999122767 DE19922767A1 (en) 1999-05-18 1999-05-18 Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file
BR9901699 1999-05-31
AU3583999 1999-06-23

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE1999122767 DE19922767A1 (en) 1999-05-18 1999-05-18 Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file
GB0009896A GB0009896D0 (en) 1999-05-18 2000-04-20 A method of installing software on and/or testing a computer system
FR0005933A FR2794542A1 (en) 1999-05-18 2000-05-10 Method for installing software on a personalized computer system and / or testing of this system

Publications (1)

Publication Number Publication Date
DE19922767A1 true true DE19922767A1 (en) 2000-12-07

Family

ID=27153687

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999122767 Ceased DE19922767A1 (en) 1999-05-18 1999-05-18 Software installation method and/or test method for computer system, by following sequence of steps in accordance with component descriptors read from file

Country Status (3)

Country Link
DE (1) DE19922767A1 (en)
FR (1) FR2794542A1 (en)
GB (1) GB0009896D0 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10101996A1 (en) * 2001-01-18 2002-08-08 Tenovis Gmbh & Co Kg Method and apparatus for analyzing the accuracy of installation and uninstallation of Windows · T · · M · programs on a PC
DE10235816A1 (en) * 2002-08-05 2004-02-26 Infineon Technologies Ag A method for setting a machining sequence and associated units
DE102005051980B4 (en) * 2004-11-02 2017-04-13 Dell Products L.P. System and method for network transmission of an information processing system images

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2383854B (en) * 2001-09-06 2005-06-22 Sun Microsystems Inc Method for checking a computer system configuration
US7403927B2 (en) 2004-01-23 2008-07-22 Dell Products L.P. Method of manufacturing an item of build-to-order equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19836328A1 (en) * 1997-08-29 1999-03-04 Dell Computer Corp Software installation and testing of a built-to-order computer system
DE19836381A1 (en) * 1997-08-29 1999-03-18 Dell Usa Lp Database to facilitate the installation of software and testing for a built-to-order computer system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3386232B2 (en) * 1994-07-15 2003-03-17 富士通株式会社 Test computer system
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
GB2309104B (en) * 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US5991543A (en) * 1997-08-29 1999-11-23 Dell Usa, L.P. Software installation and testing for a build-to-order computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19836328A1 (en) * 1997-08-29 1999-03-04 Dell Computer Corp Software installation and testing of a built-to-order computer system
DE19836381A1 (en) * 1997-08-29 1999-03-18 Dell Usa Lp Database to facilitate the installation of software and testing for a built-to-order computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10101996A1 (en) * 2001-01-18 2002-08-08 Tenovis Gmbh & Co Kg Method and apparatus for analyzing the accuracy of installation and uninstallation of Windows · T · · M · programs on a PC
DE10235816A1 (en) * 2002-08-05 2004-02-26 Infineon Technologies Ag A method for setting a machining sequence and associated units
DE102005051980B4 (en) * 2004-11-02 2017-04-13 Dell Products L.P. System and method for network transmission of an information processing system images

Also Published As

Publication number Publication date Type
GB2353373A (en) 2001-02-21 application
GB0009896D0 (en) 2000-06-07 grant
FR2794542A1 (en) 2000-12-08 application

Similar Documents

Publication Publication Date Title
US20040015908A1 (en) Apparatus and method for analysis driven issue report generation
US20040167906A1 (en) System consolidation tool and method for patching multiple servers
DE102014215621A1 (en) Template system to generate user-customized documents
US20070174710A1 (en) Apparatus and method for collecting and displaying data for remote diagnostics
DE19926206A1 (en) Vehicle electrical system configuration
EP0770945A1 (en) Method for the automated generation of a technical process scheme
DE102014204840A1 (en) Improved data integration tool
EP0849666A2 (en) Method for instantiating class versions
US7529648B2 (en) Method, system and computer program product for automatically generating a subset of task-based components from engineering and maintenance data
DE10346478A1 (en) Flexible software update for automation systems via Internet
DE102007038340A1 (en) Systems and procedures for maintenance of process control systems
DE10138533A1 (en) Protection of control programs transmitted over the Internet from a developer to a customer using asymmetric encryption of the program code, which is decrypted by the end user after parameter editing
DE10308725A1 (en) System and method for managing and for exchanging data of a technical project, a technical plant and individual system components
EP1589416A2 (en) Method and system for generating a source code for a computer program
WO2001071502A1 (en) Method of and system for testing software in computers
DE10357831A1 (en) System as well as a procedure for the re-engineering of object model components for the generating of web services
Rotschke et al. Architecture analysis tools to support evolution of large industrial systems
DE10028870A1 (en) Electronic chassis check card is available to different detection stations and/or is expandable and/or can be updated; quality-relevant data are fully represented in data processing system
DE10055679A1 (en) Model-based generation of test scenarios by forming classification tree and extracting information from simulation model
DE19914819A1 (en) Product development tool uses networked locations connected to object-oriented database with different links
DE10356348A1 (en) System for automatic generation and installation of functionalities into data files, esp. system components in distributed automation system, has system information for data management stored in planning databank
DE10353052A1 (en) Automation system with mutually communicating components
DE4310615A1 (en) Method and device to provide a system which can be configured by the user, and integrates and manages several different tasks and software tools
DE10235610A1 (en) Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation
DE102007006614A1 (en) Application of a distributed diagnostic architecture in AUTOSAR

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection