DE19922766A1 - Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system - Google Patents

Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system

Info

Publication number
DE19922766A1
DE19922766A1 DE1999122766 DE19922766A DE19922766A1 DE 19922766 A1 DE19922766 A1 DE 19922766A1 DE 1999122766 DE1999122766 DE 1999122766 DE 19922766 A DE19922766 A DE 19922766A DE 19922766 A1 DE19922766 A1 DE 19922766A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
step
table
family
component
apparatus
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
DE1999122766
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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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

Abstract

Device comprises a step table containing all the software installation or test steps for all components of all computer systems, a component table containing all the components included in all computer systems manufactured at a given site and a table step-dependence that identifies all steps in the step table that are incompatible with a component other than that specified. An Independent claim is made for a system having an additional table called parameter-step that identifies all the parameters required by a step table.

Description

Hintergrund background

Die vorliegende Offenbarung betrifft eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems. The present disclosure relates to a device for use in the production of a computer system.

Die Anmeldung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nummer 198 36 328.1 verwandt, die am 11. August 1998 eingereicht worden ist und den Titel trägt 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 number 198 36 328.1, filed August 11, 1998 and entitled SOFTWARE INSTALLATION and testing FOR UNDER AN ORDER BUILT COMPUTER SYSTEM with inventors Richard D. Amberg Roger W. Wong and Michael A. Brundridge.

Diese Erfindung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nummer 198 36 333.8 verwandt, die am 11. August 1998 eingereicht worden ist und den Titel trägt 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. This invention is related to co-pending German patent application number 198 36 333.8, filed August 11, 1998 and entitled SOFTWARE INSTALLATION and testing FOR UNDER AN ORDER BUILT COMPUTER SYSTEM with inventors Richard D. Amberg Roger W. Wong and Michael A. Brundridge.

Diese Erfindung ist mit der ebenfalls anhängigen deutschen Patentanmeldung mit der Nummer 198 36 381.8 verwandt, die am 11. August 1998 eingereicht worden ist und den Titel trägt DATENBANK ZUM ERLEICHTERN DER SOFTWARE- INSTALLATION UND DES TESTENS FÜR EIN GEMÄSS EINER BESTELLUNG GEBAUTES COMPUTERSYSTEM mit den Erfindern Richard D. Amberg, Roger W. Wong und Michael A. Brundridge. This invention is related to co-pending German patent application number 198 36 381.8, filed August 11, 1998 and entitled DATABASE TO FACILITATE THE SOFTWARE INSTALLATION and testing FOR UNDER AN ORDER BUILT COMPUTER SYSTEM with the inventors 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 üblicherweise als ein auf einem Tisch oder auf 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 can usually be defined as a arranged on a table or on the 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 comprises hard disk storage, and 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 Softwareinstallation 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 Computersystems auftreten. Testing discovered and analyzed generally errors that occur in both the hardware and the software of the computer system. Tests der Hardware des Computers können Diagnose von Hardwarekomponenten wie z. Tests the hardware of the computer can diagnose hardware components such. B. des Prozessors, des Speichers, der Festplatte, einer Audioeinrichtung, Grafikeinrichtung, der Tastatur, der Maus und des Druckers einschließen. As the processor, memory, hard disk drive, an audio device, video device, the keyboard, mouse and printer include. Im Rahmen der Softwareinstallation 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 Softwaretestens 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 Softwareinstallation 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 Daten zur Durchführung von Tests auf dem gekauften Computersystem. The disk also contains all executable data 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 ausgeführt werden. These diskettes accompany the computer systems during the production inside the factory, in which tests are carried out 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-Dateien 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, batch files and executables of 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 Tests- und Softwareinstallationsverfahren 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 testing- 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 Softwareinstallation 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 Softwareinstallation 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 eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems benötigt, die Verbesserungen gegenüber dem Stand der Technik schafft. Therefore, an apparatus for use in the production of a computer system is needed that creates improvements over the prior art.

Zusammenfassung Summary

Entsprechend wird in einer Ausführungsform eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems geschaffen, wobei die Vorrichtung eine Schritttabelle umfaßt, die im wesentlichen alle Softwareinstallationen und/oder Testschritte für alle Komponenten von allen Computersystemen, die an einer gegebenen Stelle hergestellt werden, enthält, eine Komponententabelle, die im wesentlichen alle Komponenten enthält, die in allen Computersystemen, die an der Stelle hergestellt werden, enthalten sind, und eine Schrittabhängigkeitstabelle, die Schritte in der Schritttabelle identifiziert, die inkompatibel sind mit der Anwesenheit einer anderen Komponenten im Computersystem als der, die dem Schritt entspricht. According to an apparatus for use in the production of a computer system is in one embodiment provided, the device comprising a step table that contains substantially all of the software installations and / or test steps for each component of all computer systems, which are produced at a given site, a component table that contains all the components are substantially contained in all computer systems, which are manufactured at the site, and a step dependency table identifies the steps in the step table, which are incompatible with the presence of other components in the computer system than that of the corresponds to the step.

In einer weiteren Ausführungsform wird eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems geschaffen, wobei die Vorrichtung eine Schritttabelle umfaßt, die im wesentlichen alle Softwareinstallation und/oder Testschritte enthält für alle Komponenten von allen Computersystemen, die an einer gegebenen Stelle hergestellt werden, eine Komponententabelle, die im wesentlichen alle Komponenten enthält, die in allen Computersystemen, die an der Stelle hergestellt werden, enthalten sind, und eine Schrittparametertabelle, die Schritte in der Schritttabelle identifiziert, die einen Parameter benötigen. In another embodiment, an apparatus for use in the production of a computer system is provided, wherein the apparatus comprises a step table that contains substantially all the software installation and / or testing steps for all components of all computer systems, which are produced at a given location, a component table that contains all the components are substantially contained in all computer systems, which are manufactured at the site, and a step parameter table identifies the steps in the step table, which require a parameter.

In einer bevorzugten Ausführungsform entspricht das Computersystem einer Familie von Computersystemen, und die Vorrichtung umfaßt ferner eine Familienschritt-Beziehungstabelle, eine Familienkomponenten-Beziehungstabelle und eine Komponentenschritt-Beziehungstabelle. In a preferred embodiment, the computer system of a family of computer systems corresponds, and the apparatus further comprises a family step relation table, a family relationship table component and a component step relation table. Die Familienschritt- Beziehungstabelle identifiziert die Beziehung zwischen einer Gruppe von Softwareinstallationsschritten und jeder Familie von Computersystemen, die hergestellt wird. The Familienschritt- relationship table identifying the relationship between a group of software installation steps, and each family of computer systems is prepared. Die Familienkomponenten-Beziehungstabelle identifiziert die Beziehung zwischen der Familie von Computersystemen und der Gruppe von Komponenten. The family component relation table identifies the relationship between the family of computer systems and the group of components. Die Komponentenschritt-Beziehungstabelle identifiziert die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallationsschritten, die für die entsprechende Komponente geeignet sind. The components of step relation table identifying the relationship between a component and a group of software installation procedures, which are suitable for the respective component.

Die Vorrichtung entsprechend einer Ausführungsform schafft ein effektives Softwareinstallieren und Computertesten, das eine direkte Fehlerbeseitigung und Anpassung der gemäß einer Bestellung gebauten Computersysteme ermöglicht. The device according to one embodiment provides an effective software installing and testing computer that allows a direct debugging and adjusting the computer systems constructed in accordance with an order. Der modulare Aufbau der Vorrichtung ermöglicht in vorteilhafter Weise die elementare Wartung eines Testsystems und die schnelle Erzeugung von Schritten für neue Computersysteme und Familien. The modular design of the device allows advantageously the elementary maintenance of a test system and the rapid creation of steps for new computer systems and families.

Kurze Beschreibung der Zeichnungen Brief Description of Drawings

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

Fig. 2 ist ein schematisches Diagramm der Softwareinstallation und des Testens gemäß einer weiteren Ausführungsform. Fig. 2 is a schematic diagram of the software installation and testing according to another embodiment.

Fig. 3a ist ein Flußdiagramm, das das Konvertieren einer Computerbestellung in eine Systemdeskriptorenliste gemäß der vorliegenden Erfindung zeigt. Fig. 3a is a flow chart showing how to convert a computer in order a Systemdeskriptorenliste according to the present invention.

Fig. 3b zeigt einen Abschnitt einer beispielhaften Computerbestellung, einer Base-Assembly-Record (BAR)-Datei und einer 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 Schaffen einer Schrittreihenfolge. Fig. 4 is a flow chart for generating and providing a sequence of steps.

Fig. 5a ist eine schematische Erläuterung der Beziehung zwischen den Fig. 5b und 5c. FIG. 5a is a schematic illustrating 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 Teils einer Schrittdatei. Fig. 7 is an example of part of a step file.

Die Fig. 8 bis 13 sind ein Flußdiagramm des Betriebs eines Programms zum Ausfuhren einer Schrittreihenfolge. Figs. 8 to 13 are a flowchart of the operation of a program to export a step sequence.

Detaillierte Beschreibung Detailed description

Die Beschreibung soll erläuternd sein und sollte nicht als Begrenzung verstanden werden. The description is intended to be illustrative and should not be construed as limiting. In den Zeichnungen werden ähnliche oder gleiche Elemente mit dem gleichen Bezugszeichen bezeichnet. In the drawings, similar or identical elements with the same reference numerals are designated. 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 eines Softwareinstallation- und Testsystems 90 an einer Stelle zum Herstellen von Computersystemen. Fig. 1 is a schematic diagram of a test system Softwareinstallation- and 90 at a location for the manufacture of computer systems. Im Betrieb wird eine Bestellung 92 aufgegeben, um ein gemäß einer Bestellung gebautes Computersystem 160 zu kaufen. In operation, an order is placed 92 to buy a built-to-order computer system 160th Das Zielsystem 160 soll so hergestellt werden, daß es eine Vielzahl von Hardware- und Software-Komponenten enthält. The target system 160 is to be prepared so that it contains a variety of hardware and software components. Das Zielsystem 160 kann beispielsweise eine Festplatte einer bestimmten Marke, einen Prozessor einer bestimmten Marke und eine bestimmte Version eines Betriebssystems enthalten. The target system 160 may include, for example, a hard disk of a particular brand, a processor of a particular brand and a particular version of an operating system. 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. Diese Softwareinstallierung und das Testen gewährleistet vorteilhafterweise ein zuverlässiges, arbeitendes Computersystem, das betriebsbereit ist, sobald es empfangen worden ist. This software installation and testing advantageously ensures a reliable, working computer system that is operational as soon as it is received.

Da verschiedene Familien von Computersystemen und unterschiedliche einzelne Computerkomponenten verschiedene Softwareinstallations- und Testschritte benötigen, ist es notwendig, festzulegen, welche Tests auf dem Zielcomputersystem 160 ausgeführt werden müssen und in welcher Reihenfolge diese Tests ausgeführt werden sollen, um einen effektiven Softwareinstallations- 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 computer system 160 and the order in which these tests are to be carried out to achieve effective software installation and testing process ,

Der Schritterzeuger 140 ist ein Computersystem, das konfiguriert ist, um die Softwareinstallations- und die 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 the test steps are to be executed on the target system 160, in an order. Um die Softwareinstallations- und/oder die Testschritte in eine Reihenfolge zu bringen, liest der Schritterzeuger 140 und insbesondere das Reihenfolgeprogramm 204 , das auf dem Schritterzeuger 140 läuft, zuerst eine Vielzahl von Komponentendeskriptoren aus der Deskriptordatei 96 . To bring the software installation and / or testing steps in an order, reads the step generator 140 and in particular the order program 204 running on the step generator 140, a plurality of first Komponentendeskriptoren from the descriptor 96th Die Deskriptordatei 96 wird durch das Konvertieren einer Bestellung 92 geschaffen, die einem gewünschten Computersystem mit den gewünschten Komponenten entspricht. The descriptor 96 is created by converting an order 92 that corresponds to a desired computer system with the desired components. Die Umwandlung erfolgt dabei über das Umwandlungsmodul 94 in ein von einem Computer lesbares Format. The conversion takes place via the conversion module 94 in a computer readable format.

Komponentendeskriptoren sind computerlesbare Beschreibungen der Komponenten des Zielsystems 160 , dessen Komponenten durch die Bestellung 92 festgelegt sind. Komponentendeskriptoren are computer-readable descriptions of the components of the target system 160, the components of which are determined by the order 92nd Im bevorzugten Ausführungsbeispiel sind die Komponentendeskriptoren in einer Deskriptordatei enthalten, die Systemdeskriptorenliste genannt wird. In the preferred embodiment, the Komponentendeskriptoren are included in a descriptor, which is called Systemdeskriptorenliste. Dabei handelt es sich um eine computerlesbare Datei, die eine Liste der Komponenten, seien es Hardware- und/oder Software-Komponenten, enthält, die auf dem Zielsystem 160 installiert werden sollen. It is a computer-readable file that contains a list of the components are, it includes hardware and / or software components that are to be installed on the target system 160th Nachdem das Reihenfolgeprogramm 204 die Vielzahl der Komponentendeskriptoren gelesen hat, ruft es über die Netzwerkverbindung 110 auf der Datenbank 100 eine Vielzahl von Softwareinstallations- und/oder Testschritten ab, die den Komponentendeskriptoren entsprechen. After the order program 204 has read the plurality of Komponentendeskriptoren, it calls over the network connection 110 to the database 100, a plurality of software installation and / or testing steps from that match the Komponentendeskriptoren. Die Netzwerkverbindung 110 kann irgendeine bekannte Netzwerkverbindung sein, z. The network connection 110 may be any known network connection such. B. ein LAN (Local Area Network), eine Intranet oder das Internet. As a LAN (Local Area Network), an intranet or the Internet. Die in der Datenbank 100 enthaltene Information kann durch die mit dem Pfeil 130 dargestellte Änderung aktualisiert werden. The information contained in the database 100 can be updated by the shown by the arrow 130 change.

Nachdem das Reihenfolgeprogramm 204 die für das Zielsystem 160 passenden Softwareinstallations- und/oder Testschritte abgerufen hat, bringt es die Schritte in eine vorbestimmte Reihenfolge gemäß den einem einzelnen Schritt entsprechenden Reihenfolgenummern. After the sequence program 204 retrieves the matching for the target system 160 software installation and / or testing steps, it brings the steps in a predetermined order according to the corresponding a single step sequence numbers. Nachdem die für das Zielsystem 160 notwendigen Schritte angeordnet worden sind, schreibt das Reihenfolgeprogramm 204 eine Serie von Ausgabedateien auf die Schrittdiskette 150 . After the necessary for the target system 160 steps have been arranged, writes the sequence program 204, a series of output files on the diskette step 150th In dem Ausführungsbeispiel, das in Fig. 1 dargestellt ist, enthalten die Ausgabedateien Textdateien mit Befehlszeilen zur Ausführung der passenden Softwareinstallation- und/oder Testschritte auf dem Zielsystem 160 . In the embodiment illustrated in Fig. 1, the output files contain text files with command line for executing the matching Softwareinstallation- and / or test steps on the target system 160. Die Ausführung wird in einer vorbestimmten Reihenfolge gemäß den einem einzelnen Schritt entsprechenden Reihenfolgenummern durchgeführt. The execution is performed in a predetermined order according to the corresponding a single step sequence numbers. Die Schrittdiskette 150 begleitet das Zielsystem 160 in der Fabrik, wo die Tests direkt von der Schrittdiskette 150 oder alternativ vom Server 190 ausgeführt werden können, der mit dem Zielsystem 160 über die Netzwerkverbindung 180 verbunden ist. The step disk 150 accompanies the target system 160 in the factory where the tests can be run directly from the floppy step 150 or alternatively from the server 190, which is connected to the target system 160 via the network connection 180th Vorzugsweise ist die Netzwerkverbindung 180 ein generisches bzw. eigenständiges Netzwerkgerät, das in einen entsprechenden Netzwerkport des Zielcomputersystems gesteckt wird. Preferably, the network connection 180 is a generic stand-alone or network device that is plugged into a corresponding network port of the target computer system. Nach der Ausführung der Softwareinstallations- und Testschritte werden die Ergebnisse der Installation und der Tests über die Netzwerkverbindung 180 auf dem Server 190 protokolliert. After the execution of software installation and testing steps, the results of the installation and the tests are logged on the network connection to the server 180 190th

Fig. 2 ist ein schematisches Diagramm des Softwareinstallations- und Testsystems 192 entsprechend einem weiteren Ausführungsbeispiel der vorliegenden Erfindung. Fig. 2 is a schematic diagram of the software installation and test system 192 according to another 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 so hergestellt, daß es eine Vielzahl von Komponenten enthält, wobei es sich bei den Komponenten um Hardware- und/oder Software-Komponenten handeln kann. The target system 160 is prepared so that it contains a plurality of components, which may be the components are hardware and / or 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. Diese Installation und das Testen gewährleistet vorteilhafterweise ein zuverlässiges, arbeitendes Computersystem, das betriebsbereit ist, sobald es vom Kunden empfangen wird. This installation and testing advantageously ensures a reliable, working computer system that is operational as soon as it is received by the customer.

Um die Softwareinstallations- und Testschritte in eine Reihenfolge zu bringen, liest das Reihenfolgeprogramm 204 eine Vielzahl von Komponentendeskriptoren aus der Deskriptordatei 96 . 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 mit dem Umwandlungsmodul 94 in die Deskriptordatei 96 umgewandelt. This order 92 is converted by the conversion module 94 in the descriptor 96th Die Komponentendeskriptoren sind computerlesbare Beschreibungen der Komponenten des Zielsystems 160 . The Komponentendeskriptoren are computer readable descriptions of the components of the target system 160th In dem bevorzugten Ausführungsbeispiel sind die Komponentendeskriptoren in einer Deskriptordatei enthalten, die Systemdeskriptorenliste genannt wird. In the preferred embodiment, the Komponentendeskriptoren are included in a descriptor, which is called Systemdeskriptorenliste. Dabei handelt es sich um eine computerlesbare Datei, die eine Liste mit jeder Komponente enthält, sei es eine Hardware- oder eine Software-Komponente, die auf dem Zielsystem 160 installiert werden soll. It is a computer-readable file containing a list of each component, either a hardware or software component to be installed on the target system 160th Die Systemdeskriptorenliste kann direkt auf dem Server 202 gespeichert werden. The Systemdeskriptorenliste can be stored directly on the server 202nd Das Reihenfolgeprogramm 204 ruft eine Vielzahl von Softwareinstallations- 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 das Reihenfolgeprogramm 204 die passenden Softwareinstallations- und/oder Testschritte für das Zielsystem 160 abgerufen hat, bringt es die Schritte in eine vorbestimmte Reihenfolge gemäß den einem einzelnen Schritt entsprechenden Reihenfolgenummern. After the sequence program retrieves 204 the appropriate software installation and / or testing steps for the target system 160, it brings the steps in a predetermined order according to the corresponding a single step sequence numbers. Nachdem das Reihenfolgeprogramm die Schritte, die für das Zielsystem 160 benötigt werden, in eine Reihenfolge gebracht hat, steuert es die Ausführungen der Softwareinstallations- und der Testschritte auf dem Zielsystem 160 in der vorbestimmten Reihenfolge über die Netzwerkverbindungen 195 und 180 . After the sequence program has brought the steps that are required for the target system 160 in an order that it controls the versions of the software installation and the test steps on the target system 160 in the predetermined order via the network connections 195 and 180th Bevorzugt ist die Netzwerkverbindung 200 , ein eigenständiges Netzwerkgerät, das in einen entsprechenden Port des Zielsystems 160 gesteckt werden kann. The network connection 200, a stand-alone network device, which can be plugged into a corresponding port on the target system 160 is preferred. Das Netzwerk 195 kann irgendeine bekannte Kommunikationsverbindung sein. The network 195 may be any known communication link. Nach der Durchführung der Softwareinstallations- und/oder der Testschritte werden die Ergebnisse der Installation und der Tests über die Netzwerkverbindung 200 auf dem Server 202 protokolliert. After performing the software installation and / or testing steps, the results of the installation and the tests are logged on the network connection to the server 200 202nd Wie aus der Abbildung hervorgeht, ist ein separates Computersystem zur Schritterzeugung 140 aus Fig. 1 nicht notwendig. As is apparent from the figure, a separate computer system for generation step 140 of FIG. 1 is not necessary. Ferner wird keine Schrittdiskette 150 gebraucht. Furthermore, no step disk 150 is needed. Statt dessen wird nur die Startdiskette 220 gebraucht, die konfiguriert ist, um das Zielsystem 160 zu starten und die das Zielsystem 160 in der Fabrik begleitet. Instead, only the startup disk 220 is used that is configured to start the target system 160 and the accompanied at the factory the target system 160th

Nachdem die Softwareinstallations- und Testsysteme allgemein beschrieben worden sind, wird im folgenden der Betrieb der in Fig. 1 und Fig. 2 gezeigten Systeme detaillierter beschrieben. After the software installation and test systems have been generally described in the following, the operation of the systems shown in Fig. 1 and Fig. 2 will be described in more detail.

Fig. 3a zeigt den bevorzugten Vorgang, durch den eine Bestellung für ein Computersystem in eine computerlesbare Systemdeskriptorenliste umgewandelt wird. Fig. 3a shows the preferred process by which an order for a computer system in a computer readable Systemdeskriptorenliste is converted. Genauer dargestellt wird an der Einheit 300 eine Bestellung für ein Zielcomputersystem aufgenommen. An order for a target computer system is shown in greater detail added to the unit the 300th Diese Bestellung kann irgendeine von zahlreichen Formen haben. This order can have any one of numerous forms. Zum Beispiel sind unterschiedliche Bestellformate möglich, ebenso wie unterschiedliche Bestellübertragungsmechanismen. For example, different ordering formats are possible, as well as different order transfer mechanisms. So können z. Thus, can. B. Bestellungen für ein Computersystem per Telefon aufgegeben werden, per Post oder über Computernetzwerke (z. B. das Internet). As orders for a computer system to be abandoned by phone, by mail or via computer networks (eg., The Internet). Unabhängig von den Vorrichtungen zur Aufnahme der Bestellung oder der Form der Bestellung enthält die Bestellung den Typ des Zielcomputersystems, das ein Kunde kaufen möchte und möglicherweise eine explizite Auflistung der speziellen Komponenten, die das Zielcomputersystem gemäß den Wünschen des Kunden enthalten sollen. Regardless of the devices for receiving the order or the 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 to contain the target computer system in accordance with the wishes of the customer. Nachdem die Bestellung aufgenommen worden ist, wird die Steuerung an das Übertragungsmodul 310 übergeben, mit dem die Bestellung des Zielcomputersystems über ein Computernetzwerk an ein Herstellungssystem (nicht gezeigt) übertragen wird, das das Zielcomputersystem herstellt. Once the order has been received, control is passed to the transmission module 310, with which the order of the target computer system over a computer network to a manufacturing system (not shown) is transmitted, which produces the target computing system. Die Bestellung des Zielcomputersystems wird auch an das Softwareinstallations- und Testsystem geliefert, wo es an ein Umwandlungsprogramm im Modul 320 weitergeleitet wird. The order of the target computer system is also provided to the software installation and test system where it is forwarded to a conversion program module in the 320th Das im Modul 310 verwendete Computernetzwerk kann irgendeine Art von bekanntem Netzwerk sein. The computer network used in the module 310 may be any type of known network.

Das Umwandlungsprogramm wandelt die Bestellung des Zielcomputersystems in eine Liste um, die für den Herstellungsprozeß brauchbar ist. The conversion program converts the order of the target computer system into a list, which is useful for the production process. Genauer dargestellt, wandelt das Umwandlungsprogramm die Computerbestellung zuerst im Modul 330 in eine Liste um, die BAR-Datei genannt wird. In more detail, the conversion program converts the computer order first in the module 330 in a list of named BAR file. Die BAR-Datei enthält vorzugsweise eine eindeutige Identifizierung, die das spezielle Zielcomputersystem, das gerade hergestellt wird, identifiziert. The BAR file preferably contains a unique identifier that identifies the specific target computer system being manufactured. Die BAR-Datei enthält ferner eine detaillierte Liste der Komponenten, seien es Hardware- und Software-Komponenten, die das Zielsystem enthalten soll. The BAR file also contains a detailed list of components, whether hardware and software components that will contain the target system. Ferner enthält die BAR-Datei vorzugsweise herstellerspezifische Teilenummern oder nützliche Identifizierungen für jede Komponente. Furthermore, the BAR file preferably contains manufacturer-specific part numbers or useful identifications for each component. Schließlich kann die BAR-Datei kundenspezifische Informationen wie z. Finally, the BAR file can customer-specific information such as. B. den Namen, die Adresse oder die Telefonnummer enthalten. B. contain the name, address or phone 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 gemäß des bevorzugten Ausführungsbeispiels eine computerlesbare Datei, die Hardware- und Software-Komponenten beschreibt, die das Zielcomputersystem enthalten soll. A Systemdeskriptorenliste is described according to the preferred embodiment of a computer readable file, the hardware and software components that will contain the target computing system. In einem bevorzugten Ausführungsbeispiel enthält die Systemdeskriptorenliste eine Liste der Komponenten des Zielsystems in einem Format, das Hardwaremarken bzw. Hardwaretags, Softwaremarken, Informationsmarken und Kommentare enthält. In a preferred embodiment, the Systemdeskriptorenliste lists the components of the target system in a format that hardware brands or hardware tags, software brands, information and comments brands contain. Eine Hardwaremarke zeigt dem Reihenfolgeprogramm 204 an, daß die Information, die der Marke folgt, sich auf eine Hardwarekomponente bezieht. A hardware mark indicates the order program 204 that the information that follows the mark, refers to a hardware component. Die Softwaremarke zeigt entsprechend, daß die Information, die der Marke folgt, sich auf eine Softwarekomponente bezieht. The software brand correspondingly shows that the information that follows the brand, refers to a software component. Die Informationsmarke zeigt an, daß allgemeine Information folgt. The information mark indicates that general information follows. Kommentare ermöglichen es, verschiedene Einträge mit in die Systemdeskriptorenliste aufzunehmen, die von dem Reihenfolgeprogramm 204 ignoriert werden. Comments allow you to record various entries in the Systemdeskriptorenliste that are ignored by the sequence program 204th Vorzugsweise ist die Systemdeskriptorenliste eine Textdatei, die von Menschen gelesen werden kann und leicht zu verstehen ist. Preferably, the Systemdeskriptorenliste is a text file that can be read by humans and is easy to understand. Solch eine Datei erlaubt vorteilhafterweise eine einfache Fehlersuche und die einfache Wartung des Installations- und Testvorgangs. Such a file advantageously allows for easy 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 entsprechen. It is understood that the Systemdeskriptorenliste can be any list of unique identifiers that correspond to a unique set of labels. So kann in einem einfachen Beispiel die Systemdeskriptorenliste eine Liste von Teilenummern sein. Thus, in a simple example, the Systemdeskriptorenliste may be a list of part numbers.

Fig. 3b zeigt eine beispielhafte Zielcomputersystem-Bestellung 350 , eine entsprechende BAR-Datei 360 und eine entsprechende Systemdeskriptorenliste 370 . FIG. 3b shows an exemplary target computer system order 350, a corresponding BAR file 360 and a corresponding Systemdeskriptorenliste 370th Die Bestellung 350 des Zielcomputersystems enthält den Namen der Computerfamilie, in diesem Beispiel die Familie "X". The order 350 of the target computer system contains the name of the computer family, in this example the "X" family. Ferner enthält die Bestellung 350 drei beispielhafte Hardware-Komponenten, darunter einen Pentium-Prozessor, eine Festplatte und einen Monitor. In addition, the order includes 350 three exemplary hardware components including a Pentium processor, a hard drive and a monitor. Die BAR-Datei 360 entsteht, indem die Bestellung 350 des Zielcomputersystems durch ein Umwandlungsprogramm geschickt wird, wie im Modul 320 von Fig. 3a dargestellt. The BAR file 360 is created by the order 350 of the destination computer system is passed through a conversion program, as in the module 320 of FIGS. 3a. Die BAR-Datei 360 enthält eine eindeutige Identifizierung für ein bestimmtes Zielcomputersystem innerhalb der Familie "X". The BAR file 360 contains a unique identifier for a specific target computer system within the family "X". Die BAR-Datei 360 enthält ebenfalls herstellerspezifische Teilenummern für alle Komponenten, die in der Bestellung des Zielcomputersystems aufgelistet sind. The BAR file 360 also contains manufacturer-specific part numbers for all 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 jeder Komponente angibt, sowie eine Textbeschreibung jeder Komponente, die das Zielcomputersystem enthalten soll. Further, the BAR file 360 contains an identifier which specifies the desired number of each component, and a text description of each component, which is to contain the target computer system. 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 dargestellt, enthält die Systemdeskriptorenliste 370 auch die eindeutige Identifizierung für das spezielle Zielcomputersystem innerhalb der Familie "X". As illustrated, 370 contains the Systemdeskriptorenliste the unique identifier for the specific target computer system within the family "X". Darüber hinaus enthält die Systemdeskriptorenliste 370 geeignete Marken, die ihr anzeigen, daß es sich bei dem Prozessor, der Festplatte und dem Monitor jeweils um Hardware- und nicht um Software-Komponenten handelt. In addition, the Systemdeskriptorenliste contains 370 suitable brands that show her that it is in the processor, hard disk and monitor each to hardware and not software components. Die Systemdeskriptorenliste 370 beschreibt diese Komponenten in einer Textbeschreibung. The Systemdeskriptorenliste 370 describes these components in a text description. Die beispielhafte Systemdeskriptorenliste 370 enthält zusätzlich eine Softwaremarke, die anzeigt, daß eine bestimmte Soft vare auf dem Zielcomputersystem, das zur Familie "X" gehört, installiert oder getestet werden soll. The exemplary Systemdeskriptorenliste 370 additionally includes a software flag indicating that a particular soft Vare on the target computer system that belongs to the family "X", or installed to be tested. Die Softwaremarke kann beispielsweise anzeigen, daß ein bestimmtes, für den Pentium-Prozessor geeignetes Betriebssystem immer auf die Festplatte des Zielcomputersystems, das zur Familie "X" gehört, installiert werden soll. The software brand, for example, show that a specific, suitable for the Pentium processor operating system should always be installed on the hard drive of the target computer system belonging to the family of "X". In Fig. 4 ist das bevorzugte, allgemeine Verfahren zur Anordnung der Softwareinstallation- und der Testschritte dargestellt. In FIG. 4, the preferred, general method for the arrangement of the Softwareinstallation- and the test steps are indicated. 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 dem Ausführungsbeispiel, das in Fig. 1 dargestellt ist, erzeugt ein Anwender, der am Computersystem 140 zur Schritterzeugung sitzt, die eindeutige Identifizierung (dh die BAR-Identifizierung, die als Nachverfolgungs-Code dient) für das Reihenfolgeprogramm 204 des Schritterzeugers 140 . In the embodiment illustrated in Fig. 1, generates a user sitting at the computer system 140 to step generation, the unique identifier (ie, the BAR-identification, which serves as Nachverfolgungs code) for the order program 204 of the step generator 140. Alternativ dazu wird in dem Ausführungsbeispiel von Fig. 2 die eindeutige Identifizierung automatisch in das Reihenfolgeprogramm 204 eingelesen, nachdem die Bestellung des Zielcomputersystems aufgenommen worden ist. Alternatively, the unique identification is automatically read in the order program 204, after the order of the target computer system has been added to the embodiment of FIG. 2.

Im Modul 410 wird eine Systemdeskriptorenliste, die der BAR-Identifizierung entspricht, ausfindig gemacht. In the module 410 is a Systemdeskriptorenliste corresponding to the BAR-identifying identified. In dem Ausführungsbeispiel von 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 dem Ausführungsbeispiel von 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 übergeben. In module 420 the retrieved Systemdeskriptorenliste is passed to the sequence program 204th In dem Ausführungsbeispiel nach Fig. 1 läuft das Reihenfolgeprogramm auf dem Computersystem 140 zur Schritterzeugung, während in dem Ausführungsbeispiel nach Fig. 2 das Reihenfolgeprogramm auf dem Server 202 läuft. In the embodiment according to Fig. 1, the sequence program is run on the computer system 140 for generation step, while the sequence program is run in the embodiment shown in Fig. 2 on the server 202. Das Reihenfolgeprogramm 204 arbeitet zusammen mit der Datenbank 100 (der Fig. 1 und 2), um die Softwareinstallations- und Testschritte für das Zielcomputersystem 160 in einer Reihenfolge anzuordnen. The sequence program 204 cooperates with the database 100 (Fig. 1 and 2) in order to arrange the software installation and testing steps for the target computer system 160 in an order. Wenn die für ein bestimmtes Zielcomputersystem geeigneten Softwareinstallations- und Testschritte in Reihenfolge angeordnet sind, erzeugt das Reihenfolgeprogramm 204 Ausgabedateien, wie im Modul 430 dargestellt. If appropriate for a particular target computer system software installation and testing steps are arranged in order, the order program 204 generates the output files, as shown in the module 430th

In dem in Fig. 1 dargestellten Ausführungsbeispiel sind die Ausgabedateien, die auf die Schrittdiskette 150 geschrieben werden (vgl. Fig. 1) eine Schrittdatei und eine Setenv.bat-Datei. In the example shown in Fig. 1 embodiment, the output files which are written to the disk step 150 (see FIG. 1 to FIG.) Are a step file and a Setenv.bat file. Die Schrittdatei ist eine ASCII-Textdatei mit einer Liste von geeigneten Befehlszeilen zur Ausführung der Softwareinstallation- und Testschritte für das bestellte Zielcomputersystem. The Step file is an ASCII text file with a list of appropriate command line to execute the Softwareinstallation- and testing steps for the ordered target computer system. In einem bevorzugten Ausführungsbeispiel umfaßt die Schrittdatei auch 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 heißt das, daß die Schrittdatei ermöglicht, daß Befehle über eine festgelegte Anzahl von Iterationen oder über eine festgelegte Zeitdauer hinweg wiederholt werden. More specifically, this means that the step file allows commands over a predetermined number of iterations or for a specified period of time are repeated. Solch ein Format ermöglicht in vorteilhafter Weise, daß Softwareinstallation- oder Testschritte in einer berechneten, vorbestimmten Art und Weise wiederholt werden können. Such a format enables in an advantageous manner that Softwareinstallation- or test steps may be repeated in a calculated, predetermined manner. 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-Textskriptdateien, die eine Liste von geeigneten Befehlszeilen zur Ausführung 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 execute the Installation and testing steps for the target computer system. Die Schrittdatei ist aufgeteilt in eine Anzahl von individuellen Unterdateien, die jeweils die Schritte für eine entsprechende Phase der Herstellung enthalten, dh Quicktest (QT), Extended Test 1 (ET 1), Extended Test 2 (ET 2), Software Install (SI) und Final Test (Ft) Phasen zur Herstellung des Zielcomputersystems. The step file is divided into a number of individual sub-files, each containing the steps for a respective phase of the production, ie Quick Test (QT), Extended Test 1 (ET 1), Extended Test 2 (ET 2) Software Install (SI) and Final test (Ft) phases for the preparation of the target computer system.

In dem Ausführungsbeispiel 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 written displayed in a step disk as in FIG. 1. Statt dessen befinden sich die Ausgabedateien auf dem Dateiserver 202 oder dem Dateiserver 190 , wo sie dazu verwendet werden, um die Ausführung der Softwareinstallation- 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 Softwareinstallation- and / or testing steps on the target computer system 160th

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

Das Entscheidungsmodul 500 bestimmt den Ursprung einer Bestellung. 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 einen oder mehrere Patchs auf die Systemdeskriptorenliste an. If necessary, the module 502 one or more patches to the Systemdeskriptorenliste applies. In der bevorzugten Ausführungsform ist dieser Patch modular und ermöglicht, daß Patchs für ein spezielles Zielcomputersystem, eine spezielle Familie von Computersystemen oder für eine spezielle Komponente erzeugt werden. In the preferred embodiment of this patch is modular and permits patches for a particular target computer system, a special family of computer systems or for a particular component is generated. Wenn beispielsweise ein Hersteller eine Marke einer Festplatte gegen eine andere austauschen will für eine bestimmte Familie von Computersystemen an einem bestimmten Tag, kann ein Patch gebildet werden, der alle Systemdeskriptorenlisten modifiziert, die die zu ersetzende Festplatte enthalten 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 (mit einem Patch korrigierte) Systemdeskriptorenliste, die dem Zielcomputersystem 160 entspricht, in das Reihenfolgeprogramm 204 ein. Thereafter, the module 504 returns the (with a patch corrected) Systemdeskriptorenliste corresponding to the target computer system 160 in which a sequence program 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 eine Softwarekomponente 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 jeweils der Vielzahl der Komponenten des Zielcomputersystems 160 entsprechen. In module 508, the order program 204 generates a plurality of derived objects, each corresponding to the plurality of components of the target computer system 160th In dem bevorzugten Ausführungsbeispiel werden diese abgeleiteten Objekte dazu verwendet, Information, die aus der Datenbank 100 erhalten worden ist, über die Softwareinstallation- und Testschritte, die auf dem Zielcomputersystem 160 ausgeführt werden müssen, zu speichern. In the preferred embodiment, these derived objects are used to store information that has been obtained from the database 100 via the Softwareinstallation- and test steps to be executed on the target computer system 160. 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 wenden wir uns dem rechten Zweig des Moduls 500 zu. At this point, we turn to the right branch of the module 500th In diesem Fall wird angenommen, daß die Bestellung direkt von einem Kunden als ein Eintrag in einer Datenbank in der Form einer Materialliste gespeichert wird, wobei solch ein Eintrag Komponentendeskriptoren umfaßt, 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 entry includes Komponentendeskriptoren relating to the target computing system 160th Das Modul 512 , das zum Modul 502 äquivalent ist, wendet Veränderungen (Patchs) auf die Materialliste an, während das Modul 514 die Materialliste aus der Datenbank liefert, in der sie zur Verwendung durch das Reihenfolgeprogramm 204 gespeichert ist. The module 512, which is equivalent to 502 module, applies changes (patch) on the material list, while the module 514 provides the list of materials from the database in which it is stored for use by the program sequence 204th Im Modul 516 werden die Softwareinstallation- und Testschritte, die den entsprechenden Komponenten des Zielcomputersystems 160 zugeordnet sind, aus der Datenbank 100 abgerufen und in dem passenden abgeleiteten Objekt gespeichert. In module 516, the Softwareinstallation- and testing steps, which are assigned to the corresponding components of the target computer system 160, retrieved from the database 100 and stored in the matching derived object. In dem Ausführungsbeispiel aus Fig. 1 werden die Schritte über die Netzwerkverbindung 110 abgerufen, während in dem Ausführungsbeispiel 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 der bevorzugten Konstruktion dieser Datenbank notwendig. In order to describe how the steps from the database 100 will be accessed in the preferred embodiment, a description of the preferred construction of 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 Reihenfolgen von Softwareinstallations- und/oder Testschritten, in einer vorherbestimmten Reihenfolge, Familien von Computersystemen zu. The database 100 assigns sequences of software installation and / or testing steps in a predetermined order, family 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 Softwareinstallations- und/oder Testschritte Komponenten von Computersystemen zu. Further, the database 100 associates 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 Attribute enthalten, die dazu geeignet sind, die og Zuordnungen zu erzeugen. The database 100 includes a plurality of tables, each containing attributes that are suitable to produce the above assignments.

Die Datenbank 100 enthält eine Schritttabelle 102 , eine Familientabelle 104 , eine Familienschritt-Reihenfolgetabelle 106 , eine Komponententabelle 108 , eine Familienkomponenten-Tabelle 112 , eine Komponentenschritttabelle 114 , eine Schrittabhängigkeitstabelle 116 , eine Schrittparametertabelle 118 , eine Komponentenklassentabelle 120 , eine Komponentenklassen-Attributtabelle 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 step table 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 Schritttabelle 102 enthält alle Softwareinstallation- und Testschritte für alle möglichen Komponenten von allen Computerfamilien. The step table 102 contains all Softwareinstallation- and testing steps for all possible components of all computer families. In der bevorzugten Ausführungsform hat die Schritttabelle 102 Attribute wie SchrittlD, Name, Befehl, Befehlstyp, AfterActionType, MaxInstance, Klassen-ID und DepMask. In the preferred embodiment, the step table 102 has attributes such as SchrittlD, name, command, command type, After Action Type, MaxInstance, class ID and DepMask. Schritt-ID ist eine eindeutige Identifizierungsnummer für jeden Softwareinstallations- oder Testschritt. Step ID is a unique identification number for each software installation or testing step. Name ist ein String, der einen Namen zuweist, der den Schritt beschreibt. Name is a string that assigns a name that describes the step. Befehl ist ein String, der eine ausführbare Befehlszeile zur Ausführung des Softwareinstallations- oder Testschritts auf dem Zielcomputersystem 160 zuweist (vgl. die Fig. 1 und 2). Command is a string that assigns an executable command line for executing the software installation or test step on the target computer system 160 (see FIG. FIGS. 1 and 2). AfterActionType ist eine Identifizierung, die festlegt, ob ein Anhalten oder ein Neustart notwendig ist, nachdem der Softwareinstallation- oder Testschritt ausgeführt worden. After Action Type is an identifier that determines whether a stop or a restart is necessary after the Softwareinstallation- or test step has been executed. MaxInstance ist eine Identifizierung, die die maximale Anzahl der erlaubten Wiederholungen für einen Schritt anzeigt. MaxInstance is an identifier indicating the maximum number of allowed repetitions for one step. Klassen-ID identifiziert einen bestimmten Typ oder eine Klasse von Komponenten (beispielsweise Festplatte, CD-ROM-Laufwerk), der dem Softwareinstallation- oder Testschritt zugeordnet ist. Class ID identifies a particular type or class of components (e.g., hard disk, CD-ROM drive), which is assigned to the Softwareinstallation- or test step.

DepMask speichert Informationen, ob oder ob nicht ein besonderer Schritt, eine Schrittabhängigkeit und/oder einen Schrittparameter hat und legt daher fest, ob oder ob nicht die Schrittabhängigkeitstabelle 116 und/oder die Schrittparametertabelle 118 geöffnet werden muß. DepMask stores information as to whether or not a particular step, a step dependency and / or a step parameter has and thus determines whether or not the step dependency table 116 and / or the step parameter table must be opened 118th

Die Familientabelle 104 identifiziert jede Familie von Computersystemen mit einer Identifizierungsganzzahl, die in dem Attribut Familien-ID spezifiziert ist. The family table 104 identifies each family of computer systems with an identification integer specified in the attribute family ID. Ferner ist in der Familientabelle ein String enthalten, der den Namen der Familie identifiziert. Furthermore, in the family table is a string containing that identifies the name of the family.

Die Familienschritt-Reihenfolgetabelle 106 ist eine relationale Tabelle, die Beziehungen zwischen der Schritttabelle 102 und der Familientabelle 104 enthält. The family step-order table 106 is a relational table, the relationship between the step table 102 and the family table 104 contains. Die Familienschritt-Reihenfolgetabelle 106 enthält eine Familienidentifizierungs- Ganzzahl, die in dem Attribut Familien-ID für die jeweilige Familie von Computersystemen spezifiziert ist (aus der Familientabelle 104 ), eine Schrittidentifizierungs-Ganzzahl, die in dem Attribut Schritt-ID (aus der Schritttabelle 102 ) spezifiziert ist und die eine jeweilige Gruppe von Schritten, die für diese Familie geeignet sind, identifiziert, und eine Reihenfolgenummer. The family step-order table 106 includes a Familienidentifizierungs- integer that is specified in the attribute family ID for each family of computer systems (from the family table 104), a step identification integer (in the attribute step-ID from the step table 102 ) is specified and a respective group of steps which are suitable for this family, identified, and 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, die innerhalb einer Phase der Herstellung eindeutig sind, in einer Reihenfolge zu, die danach ausgewählt ist, damit sie für das spezielle Zielsystem möglichst effektiv ist. Test engineers have sequence numbers that are unique within a period of production, in an order to selected afterwards so that it is as effective as possible for the specific target system. Es versteht sich, daß auch andere Verfahren zum Zuordnen von Reihenfolgenummern verwendet werden können. It is understood that other methods can be used to assign sequence numbers. Die Familienschritt-Reihenfolgetabelle 106 schließlich umfaßt die Phasen-ID. The family step-order table 106 finally comprises the phases ID. Die Phasen-ID bezeichnet, in welcher Phase der Herstellung der Schritt ausgeführt werden soll. The phases ID indicates the phase in which the preparation of the step is to be executed. Beispielsweise ist Phasen-ID eine Ganzzahl, die ausgewählt ist, um eine der fünf zuvor genannten Phasen der Herstellung des Computersystems zu entsprechen: Quicktest (QT), Extended Test 1 (ET 1), Extended Test 2 (ET 2), Software Install (SI) und Final Test. For example, phase-ID is an integer which is selected to correspond to one of the five above-mentioned stages of manufacture of the computer system: Quick Test (QT), Extended Test 1 (ET 1), Extended Test 2 (ET 2) Software Install ( SI) and Final test.

Die Komponententabelle 108 enthält alle möglichen Komponenten, die in dem hergestellten Computersystem enthalten sind. The components of table 108 contains all the possible components that are contained in the produced computer system. Die Attribute dieser Tabelle sind vorzugsweise Komponenten-ID, die jeder Komponente eine Identifizierung zuordnet, Beschreibung, die jeder Komponente einen Stringnamen zuordnet und Klassen-ID, die den Typ der Komponente bezeichnet (beispielsweise Festplatte, CD-ROM-Laufwerk). The attributes of this table are preferably component ID that associates each component identification, description, which assigns each component a string name and class ID that identifies the type of component (e.g., hard disk, CD-ROM drive).

Die Familienkomponententabelle 112 ist eine relationale Tabelle, die die Beziehungen zwischen jeder Familie von Computersystemen und einer Gruppe von Komponenten enthält, die in der Familie enthalten sein kann. The family component table 112 is a relational table that contains the relationships between each family of computer systems, and a group of components that may be included in the family. Die Attribute der Familienkomponententabelle 112 umfassen eine Ganzzahl zur Identifizierung der Computerfamilie, die in dem Attribut Familien-ID spezifiziert ist (aus der Familientabelle 104 ) und eine Ganzzahl zur Komponenten-Identifizierung, die in dem Attribut Komponenten-ID (aus der Komponententabelle 108 ) spezifiziert ist. The attributes of the family component table 112 comprises an integer identifying the family of computers, which is specified in the attribute family ID specified (from the family table 104) and an integer to the component identification, in the attribute component ID (from the component table 108) is.

Die Komponentenschritttabelle 114 ist eine relationale Tabelle, die Beziehungen zwischen jeder Komponente und einer Gruppe von Softwareinstallations- 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 Komponentenschritttabelle 114 umfassen eine Ganzzahl zur Identifizierung einer Komponente, die in dem Attribut Komponenten-ID spezifiziert ist (aus der Komponententabelle 108 ) und eine Ganzzahl zur Schritt-Identifizierung, die in dem Attribut Schritt-ID (aus der Schritttabelle 102 ) spezifiziert ist. The attributes of the components Step table 114 include an integer for identifying a component that is specified in the attribute component ID is specified (from the component table 108) and an integer to the step-identifying, in the attribute step-ID (from the step table 102) is.

Die Schrittabhängigkeitstabelle 116 enthält Daten in Bezug auf mögliche Konflikte. The step dependency table 116 contains data related to possible conflicts. Einige Tests können einen Konflikt haben mit bestimmten Klassen von Komponenten und spezifischen Komponenten selbst, oder Komponenten eines bestimmten Herstellers. Some tests may have a conflict with certain classes of components and specific components themselves, or components from a specific manufacturer. Beispielsweise kann das zu bauende Computersystem 160 eine Festplatte der Marke A umfassen und ein CD-ROM-Laufwerk der Marke B. Eine Festplatte der Marke A kann normalerweise erfordern, daß der Test C ausgeführt werden soll, aber es kann sein, daß der Test C mit dem CD-ROM- Laufwerk B inkompatibel ist; For example, to be built computer system 160 may include a hard disk 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 to be performed, but it may be that the test C is incompatible with the CD-ROM drive B; alle diese Abhängigkeiten werden in der Schrittabhängigkeitstabelle 116 gespeichert. all these dependencies are stored in the step dependency table 116th In dieser Tabelle identifiziert die Schritt-ID den Schritt, der eine Abhängigkeit hat, Type-ID zeigt an, ob sich die Abhängigkeit auf eine Klasse von Komponenten oder eine spezifische Komponente bezieht, Objekt-ID ist entweder eine Klassen-ID oder eine Komponenten-ID je nach dem Status von Type-ID und DepType-ID zeigt an, ob oder ob nicht ein spezieller Schritt beibehalten werden soll oder entfernt werden soll, wenn ein Konflikt auftritt. In this table, the step-ID identifies the step which has a dependency, type ID indicates whether the dependence on a class of components, or a specific component is related, object ID is either a class ID, or a component ID depending on the status of Type ID and DepType ID indicates whether or not a specific step should be maintained or should be removed if a conflict occurs.

Die Schrittparametertabelle 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 über eine bestimmte Zeitdauer läuft oder für eine bestimmte Anzahl von Wiederholungen. For example, it may be necessary that a step over a certain period of time passes or for a certain number of repetitions. In der Tabelle 118 identifiziert Schritt-ID eindeutig den speziellen Installations- oder Testschritt. In the table 118 step-ID uniquely identifies the particular installation or testing step. Parameter-ID identifiziert jeden Parameter, der diesem Schritt zugeordnet ist; Parameter ID identifies each parameter which is associated with this step; es kann mehr als ein Parameter einem speziellen Schritt zugeordnet werden und jeder hat seine Parameter-ID. there may be more than one parameter to be assigned to a particular step and each has its parameter ID. Beispielsweise kann derselbe Test mit verschiedenen Parametern für unterschiedliche Marken von Festplatten verwendet werden. For example, the same test with different parameters can be used for different brands of hard drives. DataType identifiziert den Datentyp, der in dem entsprechenden Parameter enthalten sein soll. DataType identifies the type of data to be included in the corresponding parameter. In dem obigen Beispiel kann der Datentyp spezifizieren, daß die Daten sich auf eine Prozentzahl oder alternativ auf einen Identifizierungscode für eine Festplatte beziehen. In the above example, the data type may specify that the data refers to a percentage or alternatively an identification code for a hard disk. Der Inhalt ist ein Befehlszeilenschalter, wie er in der Programmiersprache C in Zusammenhang mit Befehlen wie "printf" benutzt wird. The content is a command-line switch, as used in the C programming language for commands like "printf". Beispielsweise kann der Inhalt sein "-%d", um anzuzeigen, daß ein numerischer Wert für diesen Parameter geeignet ist. For example, the content may be "-% d", to indicate that a numeric value for this parameter is suitable. Schrittreihenfolgenummer und Klassen-ID sind wie oben beschrieben. Step sequence number and class ID are as described above.

Es ist festzustellen, daß die Schrittparametertabelle 118 nur den Typ und die Anzahl der Parameter speichert, die einem jeweiligen Schritt zugeordnet sind, aber nicht die tatsächlichen Werte dieser Parameter. It is noted that the step parameter table 118 stores only the type and number of parameters that are associated with a respective step, but not the actual values of these parameters. Daher fügt während der Konstruktion einer Schrittdatei, die noch beschrieben wird, die Tabelle 118 nicht Parameterwerte in eine Befehlszeile der Schrittdatei ein. Therefore, the table is not added during the construction of a step file, which will be described 118 parameter values ​​in a command line, the step file. Statt dessen enthält sie alle notwendigen Details, um zu ermöglichen, daß die Befehlszeile konstruiert wird. Instead, it contains all the necessary details to enable the command line is constructed. Es ist das Reihenfolgeprogramm 204 , daß 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 that 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 von Information durch, die in der Deskriptorenliste enthalten ist. The sequence program performs the calculation on the basis of information that is included in the descriptor.

Der Vorteil der Schrittparametertabelle 118 liegt darin, eine größere Flexibilität zu ermöglichen, da es nicht notwendig ist, daß Parametern Schritte permanent zugeordnet sind. The advantage of the step parameter table 118 is to allow greater flexibility, since it is not necessary that parameters steps are permanently assigned. Damit ermöglicht die Tabelle 118 einem Ingenieur, die Parameter schnell zu verändern, ohne die Schritttabelle 102 editieren zu müssen. 118 thus allows the table an engineer to change the parameters quickly without having to edit the step table 102nd

Die Komponentenklassentabelle 120 ist einfach eine Liste aller Komponentenklassen (Klassen-ID), beispielsweise Festplatte, CD-ROM, etc., zusammen mit einer kurzen Beschreibung dieser Klassen (Klassen, Name, Beschreibung). The component class table 120 is simply a list of all component classes (Class ID), such as hard disk, CD-ROM, etc., along with a brief description of these classes (class, name, description).

Die Komponentenklassen-Attributstabelle 122 listet alle Klassen und alle Attribute auf, die jeder Klasse zugeordnet sind. The component classes attribute table 122 lists all classes and all attributes that are associated with each class. Attribut-ID ist ein Code, der jedem verschiedenen Typ von Attribut, wie z. Attribute ID is a code that each different type of attribute such. B. Speichergröße, Betriebsgeschwindigkeit, Hersteller, etc. zugeordnet wird, während Attribut Name ein mehr beschreibender Name des Attributs für einen Ingenieur ist. As memory size, operating speed, manufacturer, etc. is allocated, is a more descriptive name of the attribute for an engineer during attribute name. Datentyp ist eine Anzeige des Datentyps, der verwendet wird, um ein spezielles Attribut zu repräsentieren. Data type is a display which is used to represent a special attribute of the data type. Beispielsweise kann dies ein Character String sein, für den Fall, daß das Attribut der Name des Herstellers ist oder es kann eine Ganzzahl sein, wenn das Attribut eine Speichergröße ist. For example, this can be a character string, in the event that the attribute of the manufacturer's name or it can be an integer if the attribute is a memory size.

Die Komponentenklassentabelle 120 und die Komponentenklassen-Attributstabelle 122 werden vom Reihenfolgeprogramm 204 nicht aktiv verwendet, sondern werden primär von Entwicklungsingenieuren verwendet. The component class table 120 and the component classes attribute table 122 are not actively used by the sequence program 204, but are primarily used by design engineers. Diese Tabelle enthalten nicht irgendwelche tatsächlichen Werte der Attribute. This table does not contain any actual values ​​of attributes.

Die Operatornachricht-Tabelle 124 speichert Nachrichten für den Testoperator in Abhängigkeit des Tests, der gerade ausgeführt wird und der gerade getesteten Komponenten. The operator message table 124 stores messages for the test operator, depending on the tests being executed and just tested components. Beispielsweise kann ein Prompt ausgegeben werden, um einen Operator daran zu erinnern, ein Band in ein Laufwerk zu tun, bevor das Laufwerk getestet wird. For example, a prompt can be issued to remind an operator from doing a tape into a drive before the drive is tested.

Das beispielhafte Zielcomputersystem, das in Fig. 3b dargestellt ist, wird dazu verwendet, um zu erläutern, wie die oben dargelegte Datenbankstruktur dazu verwendet wird, um Softwareinstallation- und Testschritte abzurufen. The exemplary target computer system, which is shown in Fig. 3b, is used, as set forth above database structure is used to explain to retrieve Softwareinstallation- and testing steps. Die Identifizierung für die Computerfamilie in der Systemdeskriptorenliste, die die Familie "X" identifiziert, wird der Familien-ID zugeordnet, die der Familie "X" in der Familientabelle 104 entspricht. The identification of the family of computers in the Systemdeskriptorenliste that identifies the "X" family, the family ID is assigned that corresponds to the "X" family in the family table 104th Die Komponententabelle 108 wird dazu verwendet, um zu überprüfen, ob die Komponenten des Zielcomputersystems, die in der Bestellung des Zielcomputersystems aufgelistet sind, zulässig sind. The component table 108 is used to verify that the components of the target computer system that are listed in the order of the target computer system are permitted. Mit anderen Worten entscheiden das Reihenfolgeprogramm und die Datenbank, ob der Prozessor, die Festplatte, der Monitor und die Software, die in der Systemdeskriptorenliste aus Fig. 3b enthalten sind, entsprechende Einträge und entsprechende Ganzzahlen haben, die durch die Komponenten-ID der Komponententabelle 108 spezifiziert sind. In other words, the sequence program and database determine if the processor, hard drive, monitor, and software that are 3b included in the Systemdeskriptorenliste from Fig., Have corresponding entries and corresponding integers by the component ID of the component table 108 are specified. Wenn eine Komponente nicht zulässig ist (dh wenn eine Komponente in der Systemdeskriptorenliste nicht in der Komponententabelle 108 enthalten ist) wird ein Fehlerflag 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 Familienkomponententabelle 112 ist eine relationale Tabelle, die Abbildungen von der Komponententabelle 108 und der Familientabelle 104 enthält. The family component table 112 is a relational table, the pictures of the component table 108 and the family table 104 contains. Die Familienkomponententabelle 112 enthält alle zulässigen Komponenten, die in einem Zielcomputersystem enthalten sein können, das zur Familie "X" gehört. 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 Familienkomponententabelle 112 dazu verwendet werden, um zu prüfen, ob alle Komponenten des Zielsystems zulässig sind. Therefore, the family component table 112 can be used to check whether all the 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 sind, entsprechende Beziehungen in der Familienkomponententabelle 112 haben. In other words, determines the sequence program and the database to see if the processor, hard drive, the monitor and the software contained in the Systemdeskriptorenliste from Fig. 3b, corresponding relationships in the family component table 112 have. Wenn eine Komponente nicht zulässig ist (dh wenn eine Komponente in der Systemdeskriptorenliste nicht in einem Zielsystem enthalten sein kann, das zur Familie "X" gehört), wird ein Fehlerflag gesetzt. If a component is not permitted (that is, when a component in the Systemdeskriptorenliste can not be contained in a target system that belongs to the family "X"), an error flag is set.

In der relationalen Familienschritt-Reihenfolgetabelle 106 befinden sich Abbildungen von der Schritttabelle 102 und der Familientabelle 104 . In the relational family step-order table 106 are illustrations of the step table 102, and the family table 104th Die Familienschritt-Reihenfolgetabelle 106 enthält alle Softwareinstallations- und Testschritte, die zulässig auf Zielcomputersystemen, die zur Familie "X" gehören, ausgeführt werden können. The family step-order table 106 contains all software installation and testing steps that can be permitted, running on target computer systems belonging to the family of "X". Darüber hinaus werden in dieser Familienschritt- Reihenfolgetabelle 106 die Reihenfolge- und Phasennummern jedem Softwareinstallations- und Testschritt zugeordnet. In addition, in this Familienschritt- order table 106, the SEQUENCE- and phase numbers assigned to each software installation and testing step. Diese Reihenfolge- und Phasennummern stellen die richtige Reihenfolge dar, in der die Schritte für eine besondere Familie von Computersystemen ausgeführt werden sollten. This SEQUENCE- and phase numbers represent the correct order in which the steps for a particular family should be executed by computer systems. Daher enthält die Familienschritt-Reihenfolgetabelle 106 eine Liste von Schritten, die auf Zielcomputersystemen der Familie "X" ausgeführt werden sollen, ebenso wie Reihenfolge- und Phasennummern, die eine festgelegte Reihenfolge darstellen, in der die Schritte ausgeführt werden sollten. 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 SEQUENCE- and phase numbers that represent a set order in which the steps should be performed.

Die Komponentenschritttabelle 114 ist eine relationale Tabelle, die Abbildungen von der Komponententabelle 108 und der Schritttabelle 102 enthält. The components of step table 114 is a relational table, the pictures of the component table 108 and the table 102 includes step. Die Komponentenschritttabelle 114 enthält die Softwareinstallations- und Testschritte, die für den Prozessor, die Festplatte, den Monitor und die Software auf dem Zielcomputersystem laufen sollen. The components Step table 114 contains the software installation and testing steps that are to run for the processor, hard drive, monitor, and software on the target computer system. Das Abrufen der Softwareinstallations- und Testschritte, die den entsprechenden Komponenten, die im Zielsystem enthalten sein sollen, zugeordnet sind, umfaßt das Ausführen einer Verbindungsoperation auf die Familienkomponententabelle 112 und die Komponentenschritttabelle 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 system, comprising performing a join operation on the family component table 112 and the components of step table 114 to obtain an intermediate amount that lists the steps to components of the target computer system to be executed 160th

Die Verbindungsoperation resultiert in einer Liste von Schritten, die auf dem Prozessor, der Festplatte, dem Monitor und der Software, die in der Systemdeskriptorenliste aufgeführt sind, die in Fig. 3b gezeigt ist, ausgeführt werden sollen. The compound operation results in a list of steps to be executed on the processor, the hard disk, the monitor and the software that are listed in the Systemdeskriptorenliste shown in Fig. 3b. Das Ergebnis der Verbindungen der Familienkomponententabelle 112 und der Komponentenschritttabelle 114 wird daraufhin mit der Familienschritt-Reihenfolgetabelle 106 verbunden, die alle Schritte für die Familie "X" enthält. The result of the compounds of the family component table 112 and component table 114 step is then connected to the family step-order table 106 containing all of the steps for the family "X". Das Ergebnis dieser Verbindungsoperation umfaßt Reihenfolgeinformation in der Form von Reihenfolgenummern und Phasennummern, wobei die Reihenfolgenummern für jede spezielle Phase eindeutig sind. The result of this connection operation includes order information in the form of sequence numbers and phase numbers, in which the sequence numbers for any particular phase are unique. Damit liefert die Verbindung der drei Tabellen Familienkomponententabelle 112 , Komponentenschritttabelle 114 und Familienschritt-Reihenfolgetabelle 106 die geeigneten Softwareinstallations- und Testschritte ebenso wie die Reihenfolgeinformation in der Form von Reihenfolge- und Phasennummern zum Installieren und/oder Testen der Software auf dem Zielcomputersystem 160 . Thus provides the compound of the three tables family component table 112 component step table 114 and family step-order table 106, 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 the software on the target computer system 160th

Wenn das Ergebnis der ersten Verbindungsoperation (der Verbindung der Familienkomponententabelle 112 und der Komponentenschritttabelle 114 ) eine leere Menge ist, wird eine Fehlerbedingung gesetzt, weil eine leere Menge bedeutet, daß eine Komponente, die das Zielsystem enthalten soll, nicht zu der Familie gehört, die in der Systemdeskriptorenliste aufgeführt ist. If the result of the first compound operation (the compound of the family component table 112 and the components of step table 114) is an empty set, an error condition is set because an empty set means that a component that is to contain the target system, not belonging to the family, is listed in the Systemdeskriptorenliste. Dies wird an einem Beispiel erläutert. This is explained by an example. Angenommen, eine Systemdeskriptorenliste zeigt korrekt an, daß ein Zielcomputersystem zur Familie "Y" gehört. Suppose a Systemdeskriptorenliste shows correctly indicates that a target computing system to the family of "Y" is one. Ferner sei jedoch angenommen, daß die Systemdeskriptorenliste fälschlicherweise anzeigt, daß eine Festplatte (Festplatte "Z"), die nur zu Zielsystemen in der Familie "X" gehört, im Zielsystem der Familie "Y" enthalten sein soll. Further, however, it is assumed that the Systemdeskriptorenliste falsely indicating that a hard disk drive (HDD "Z"), which belongs only to target systems within the family "X", in the target system of the "Y" family to be contained. In diesem Fall enthält die Komponentenschritttabelle 114 Schritte, die der Festplatte "Z" zugeordnet sind. In this case, the components of step 114 table contains steps that are associated with the hard drive "Z". Die Familienkomponententabelle 112 enthält Komponenten, die der Familie "Y" zugeordnet sind. The family component table 112 contains components that are associated with the family "Y". Daher erzeugt die Verbindung der Komponentenschritttabelle 114 mit der Familienkomponententabelle 112 eine leere Menge, da die Festplatte "Z" keine Komponente ist, die der Familie "Y" zugeordnet ist (sie ist statt dessen nur der Familie "X" zugeordnet). Therefore, the connection of the components step table 114 generated with the family component table 112 an empty set, as the disk "Z" is no component associated with the "Y" family (it is instead only the "X" family assigned). Wie aus dem obigen Beispiel ersichtlich, ermöglicht die bevorzugte Struktur der Datenbank vorteilhafterweise sicherzustellen, daß ein Zielsystem einer bestimmten Familie nur Komponenten enthält, die für diese Familie geeignet sind. As can be seen from the above example, enables the preferred structure of the database is advantageously ensure that a target system a specific family contains only components that are suitable for this family.

Nachdem die den Komponenten zugeordneten Schritte, die in dem Zielsystem enthalten sein sollen, aufgefunden worden sind (vgl. Fig. 5a und c) bestimmt das Modul 518 des Reihenfolgeprogramms 204 für jeden Schritt, durch das Untersuchen von DepMask für diesen Schritt, ob es eine Schrittabhängigkeit gibt. Once allocated to the component steps that are to be included in the target system have been discovered (see. Fig. 5a and c) the module 518 of the order program 204 determines for each step by the inspecting DepMask for this step, if there is a are step dependency. In diesem Fall liest das Modul 520 die Abhängigkeit aus der Schrittabhängigkeitstabelle 116 und das Modul 522 löst die Abhängigkeit gemäß der DepType-ID. 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 DepType ID.

Als nächstes bestimmt das Modul 524 , ob der Schritt einen Parameter benötigt, durch erneutes Untersuchen von DepMask für diesen Schritt. Next, the module 524 determines if the step requires a parameter, by re-examining DepMask for this step. In diesem Fall liest das Modul 526 die Parameterdaten aus der Schrittparametertabelle 118 und das Modul 528 berechnet den tatsächlichen Wert des Parameters und fügt ihn in die Befehlszeile des Schrittes ein. In this case, the module 526 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 of the step.

Jetzt bereitet das Modul 530 Umgebungsvariablen für das Zielcomputersystem vor durch das Lesen der Systemdeskriptorenliste und das Erzeugen einer Umgebungsdatei, die den Komponenten entspricht, die in dem Zielsystem enthalten sein sollen. Now the module prepares 530 environment variables for the target computer system before by reading the Systemdeskriptorenliste and creating an environment file corresponding to the components to be included in the target system. Beispielsweise wird die Systemdeskriptorenliste, die in Fig. 3b dargestellt ist, gelesen, und eine Umgebungsvariable, wie z. For example, the Systemdeskriptorenliste shown in Fig. 3b, read, and an environment variable such. B. "set cpu = pentium" kann vorbereitet werden und entspricht damit der Prozessorhardware- Komponente der Systemdeskriptorenliste. B. "set cpu = pentium" can be prepared, and thus corresponds to the component of the Prozessorhardware- Systemdeskriptorenliste.

Im Modul 532 wird die Vielzahl der abgerufenen Softwareinstallations- und Testschritte, die durch die Dreitabellenverbindung, die oben beschrieben worden ist, und mit den aufgelösten Abhängigkeiten und hinzugefügten Parametern in eine vorbestimmte Reihenfolge gebracht. In module 532, the plurality of retrieved software installation and testing steps taken by the three table link that has been described above and with the unresolved dependencies and added to parameters in a predetermined order is. Dieses Anordnen ist in Übereinstimmung mit den Reihenfolge- und Phasennummern, um eine Schrittreihenfolge zu erzeugen. This placement is in compliance with the SEQUENCE- and phase numbers to produce a sequence of steps. Das Inreihenfolgebringen selbst kann unter der Verwendung eines von mehreren wohlbekannten Sortieralgorithmen erreicht werden. The Inreihenfolgebringen itself can be achieved using a well-known of several sorting algorithms.

Im Modul 534 gibt das Reihenfolgeprogramm 204 die Schrittdatei und die Setenv.bat-Datei aus, die oben erwähnt worden sind. In module 534, the sequence program gives 204 from the step file and the Setenv.bat file that have been mentioned above. Die Schrittdatei wird aufgeteilt in eine Anzahl von Unterdateien, die die Schritte enthalten, die entsprechend während Quicktest-Phase (Qt), der Extended-Test-1-Phase (ET 1), der Extended-Test-2-Phase (ET 2), der Software-Install-Phase (SI) und der Final- Test-Phase (Ft) der Herstellung des Zielcomputersystems ausgeführt werden. The step file is divided into a number of sub-files that include the steps accordingly during Quick test phase (Qt), the Extended Test-1 phase (ET 1), the Extended Test 2 phase (ET 2) , the software Install-phase (SI) and the final- test phase (Ft) are carried out the production of the target computer system.

Wie für das Ausführungsbeispiel aus Fig. 2 gezeigt, speichert das Modul 534 die Ausgabedateien, entweder als solche oder in einer Datenbank auf dem Dateiserver 202 . As shown for the embodiment of FIG. 2, the module 534 stores the output files, either 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, die Ausführung der Softwareinstallations- 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 unter der Verwendung eines Schrittreihenfolge-Patchs, modifiziert. In module 536, the step sequence is, if necessary, modified by the use of a step-sequence patch. In dem bevorzugten Ausführungsbeispiel ist dieser Patch modular und ermöglicht, daß Patchs für ein spezielles Zielcomputersystem, eine spezielle Familie von Computersystemen oder für eine spezielle Komponente erzeugt werden. In the preferred embodiment, this patch is modular and permits patches for a particular target computer system, a special family of computer systems or for a particular component is generated. Wenn beispielsweise ein Hersteller möchte, daß ein Testschritt vor einem anderen für eine bestimmte Komponente an einem bestimmten Tag ausgeführt wird, kann ein Patch gebildet werden, der alle Schrittreihenfolgen modifiziert, die die Schritte enthalten, deren Reihenfolge modifiziert werden soll und der entsprechend die Ausführungsreihenfolge im Modul 536 verändert. For example, if a manufacturer wishes that a test step before another is carried out for a particular component on a given day, a patch can be formed which modifies all step sequences that include the steps whose order is to be modified and accordingly the execution order in module 536 changed. Nach der Anwendung der Patchs gibt das Modul 538 überarbeitete Dateien zum Speichern aus, wiederum entweder als solche oder in eine Datenbank auf dem Dateiserver 202 . After applying the patch, the module 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 die Option, auf eine Diskette 150 zu schreiben (vgl. Fig. 1). The module 540 finally allows the option to write to a floppy disk 150 (see. FIG. 1). Wenn eine Diskette benötigt wird, erzeugt das Modul 542 anstatt direkt auf die Diskette zu schreiben, eine "virtuelle Diskette" im Speicher, und das Modul 544 schreibt die gesamte virtuelle Diskette auf die physikalische Diskette in einem Vorgang. If a floppy disk is required, the module 542 generates instead of writing directly to the disk, a "virtual disk" in memory, and the module 544 writes the entire virtual disk to the physical disk in one operation. Dies reduziert die Anzahl der Schreiboperationen auf dem Diskettenlaufwerk und beschleunigt damit signifikant den gesamten Betrieb des Programms. This reduces the number of write operations to the disk drive and thus 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 Allocieren eines Feldes von Speicherblöcken, die jeweils äquivalent sind zu der Größe eines physikalischen Sektors auf der physikalischen Diskette. The virtual disk is generated by the following program, which generates a memory, which is the physical disk equivalently by Allocieren an array of memory blocks, each of which is equivalent to the size of a physical sector on the physical disk. Das Dateisystem ist FAT 12 (das von PC-DOS-, MS- DOS-, WINDOWS 95- und WINDOWS NT-Betriebssystemen verwendet wird). The file system is FAT 12 (used by PC-DOS, MS-DOS, Windows 95 and Windows NT operating systems). Der erste Sektor ist der Boot-Sektor 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 2 Sektoren. For example, a cluster size is 2 sectors. Das Dateisystem erlaubt nur eine Allocierung per Cluster und nicht per Sektor. The file system allows only one Allocierung per cluster and not by sector. In diesem Fall wird die kleinste Datei zumindest ein Cluster (oder 2 Sektoren) verbrauchen. In this case, the smallest file will consume at least one cluster (or two sectors).

Start begin

Erzeuge ein Feld eines Speicherblocks. Create a field of a memory block. Die Anzahl der Speicherblöcke soll gleich der Anzahl von physikalischen Sektoren auf der Diskette mit dem gegebenen Dateisystem sein. The number of memory blocks 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 Abbilds 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 leave 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 Dateilöschvorgang benötigt wird. If a file deletion 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 Diskettenverwendungs-Zähler, der im vierten Byte des Boot-Sektors von der Diskette gespeichert ist. Take the disk usage counter, which is stored in the fourth byte of the boot sector of the disk.
Wenn der Zähler < = der maximalen Anzahl ist, gib einen Fehler code aus, um den Grund für den Fehler anzuzeigen. When the counter <= the maximum number is, give an error code to display the reason for the failure.
Wenn der Zähler < als die Maximalzahl ist, erhöhe den Zähler um eins. When the count is <than the maximum number, increment the counter by one.
Schreibe den Zählerwert zurück in das dritte Byte des Boot-Sektors auf der virtuellen Diskette. Post the counter value 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 Speicher blöcke mit Daten übrig sind. Write the memory blocks of the virtual disk on the physical disk, stop when no more memory blocks are left with data.

Ende. The End.

Unter erneuter Bezugnahme auf Fig. 1 und Fig. 2 zeigt der Pfeil 130 , daß Modifikationen an der Datenbank 100 durchgeführt werden können. Referring again to Fig. 1 and Fig. 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 heißt das, daß der neuen Familie eine neue Familienidentifizierung in Familien-ID der Familientabelle 104 zugeordnet wird und ein Name für die neue Familie dem Namenattribut der Familientabelle 104 zugeordnet wird. More specifically, this means that the new family a new family identification in families-ID table of the family is assigned 104, and a name for the new family is assigned to the name attribute of the family table 104th Eine Liste von Softwareinstallations- und Testschritten wird zur Familienschritt- Reihenfolgetabelle 106 hinzugefügt, wobei diese Schritte die Schritte repräsentieren, die auf der neuen Computersystemfamilie ausgeführt werden müssen und in welcher Reihenfolge. A list of software installation and test steps is added to order table 106 for Familienschritt-, these steps represent the steps that must be performed on the new computer system family, and in what order. Wenn die neue Familie von Computersystemen Ähnlichkeiten zu existierenden Familien aufweist, ist es wahrscheinlich, daß die Einträge für die existierenden Familien in der Familienschritt-Reihenfolgetabelle 106 modifiziert werden können, um die Einträge für die neue Familie zu erzeugen. When the new family of computer systems has similarities to existing families, it is likely that the entries can be modified for existing families in the Family step-order table 106 to generate the entries for the new family. Wenn irgendwelche neuen Schritte erzeugt werden müssen für die neue Familie von Computersystemen, werden diese Schritte zur Schritttabelle 102 hinzugefügt. If any new steps need to be created for the new family of computer systems, these steps to step table 102 are added. In ähnlicher Weise werden, wenn irgendwelche Komponenten die neue Familie von Computersystemen begleiten, diese Schritte zur Komponententabelle 108 hinzugefügt. , If any components accompanying the new family of computer systems in a similar manner, these steps added to the component table 108th Die Komponentenschritttabelle 114 wird aktualisiert, um jeder Komponente der neuen Familie von Computersystemen Schritte zuzuordnen, die für ihre Softwareinstallation und Tests geeignet sind. The components Step table 114 is updated to each component of the new family of computer systems assign steps that are appropriate 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 Familienkomponententabelle 112 wird aktualisiert, so daß eine Liste mit zulässigen Komponenten, die in der neuen Familie enthalten sein können, sich in der Datenbank befindet. The family component table 112 is updated so that a list of acceptable components that may be included in the new family, which is in the database. Insbesondere ist es notwendig, die Sys-ID des neuen Computersystems der Komponenten-ID jeder zulässigen Komponente zuzuordnen. In particular, it is necessary to assign the Sys-ID of the new computer system, the component ID of each component permissible. Auch dies kann wiederum geschehen durch das Kopieren und das nachfolgende Modifizieren eines existierenden Eintrags einer älteren Familie von Computersystemen. This, too, can in turn be done by copying and subsequent modifying an existing entry of an older family of computer systems.

Es versteht sich, daß bei der Konstruktion einer Datenbank gemäß dem bevorzugten Ausführungsbeispiel bestimmte signifikante Vorteile geschaffen werden. It is understood that in the construction of a database according to the preferred embodiment, certain significant advantages are provided. Insbesondere erlaubt der modulare Aufbau der Datenbank in vorteilhafter Weise die leichte Einrichtung von Softwareinstallations- und Testschritten für neue Familien von Computersystemen. In particular, the modular structure of the database allows advantageously the easy installation of software installation and testing steps for new family of computer systems. Zusätzlich können die Softwareinstallations- und Testschritte für eine besondere Familie von Computersystemen oder für eine besondere Komponente modifiziert werden, unabhängig von anderen Softwareinstallations- und Testschritten. In addition, the software installation and testing steps can 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 Softwareinstallations- und Testschritte werden auf dem Zielcomputersystem 160 unter der Verwendung eines Programms ausgeführt, das die Schrittreihenfolge 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, interprets and executes the sequence of steps corresponding to the target computing system. Im bevorzugten Ausführungsbeispiel wird dieses Programm RunStep genannt und befindet sich in dem Ausführungsbeispiel aus Fig. 1 auf der Schrittdiskette 150 und in dem Ausführungsbeispiel aus Fig. 2 auf dem Dateiserver 202 . In the preferred embodiment, this program is called RunStep and located in the embodiment of Fig. 1 on the disk 150 and step in the embodiment of Fig. 2 on the file server 202.

Fig. 7 zeigt einen Abschnitt einer Schrittreihenfolge, die in einer Schrittdatei enthalten ist, bevor irgendwelche Softwareinstallations- und Testschritte ausgeführt worden sind. Fig. 7 shows a portion of a step sequence that is included in a file step before any software installation and testing steps are completed. Wie zuvor erwähnt, umfaßt die Schrittreihenfolge Befehle zum Installieren von Software und/oder zum Testen des gemäß einer Bestellung gebauten Zielcomputersystems. As mentioned above, the step sequence includes instructions for installing software and / or testing of the target computer system constructed in accordance with an order. Zusätzlich erlaubt die Schrittsequenz in der Schrittdatei, daß Befehle für eine bestimmte Anzahl von Wiederholungen oder für eine bestimmte Zeitdauer wiederholt werden. In addition, the sequence of steps allowed in the step file that commands for a certain number of times or for a certain period of time are repeated. Ferner kann die Schrittdatei Bemerkungen enthalten, die von dem RunStep-Programm ignoriert werden. Furthermore, the step file may contain 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 160 . The units 810 are commands for testing of the target computer system 160th Diese Befehle umfassen z. These commands include, for. B. einen Befehl zum Testen des Speichers und zum Testen des Small-Computer-Interface-Gerätes (SCSI). As a command for testing the memory and for testing the Small Computer Interface device (SCSI). Wie man aus der Figur sehen kann, kann jeder Befehl Schalter wie z. As you can see from the figure, each command switches such can. B. ein "-o" enthalten, die für eine besondere Testumgebung geeignet sind. B. contain a "-o" that are suitable for a 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 für eine Zeit eine Schleife durchläuft. The unit 810 c is a command that the loops for a time. In der bevorzugten Ausführungsform bezeichnet die "begin_time_loop"-Anweisung den Startpunkt der Schleife. In the preferred embodiment, the designated "begin_time_loop" statement the starting point of the loop. Die "end_time_loop"-Anweisung wird kombiniert mit einem Feld, das die Zeitdauer für die Wiederholung der Schleife anzeigt. The "end_time_loop" instruction is combined with a field indicating the length of time for the repetition of the loop. Beispielsweise wird hier der Befehl 810 c 1 Stunde und 30 Minuten lang ausgeführt. For example, the command is executed 810 c 1 hour and 30 minutes here. Die Einheit 810 d ist ein Befehl, der entsprechend einer Anzahl von Iterationen wiederholt ausgeführt wird. The unit 810 is d, a command is executed repeatedly according to a number of iterations. In dem bevorzugten Ausführungsbeispiel weist der "begin_iterate_loop"-Befehl das RunStep-Programm an, daß eine iterative Schleife ausgeführt werden soll. In the preferred embodiment, the "begin_iterate_loop" command instructs the RunStep program that an iterative loop is to be executed. Der "end_iterate_loop"-Befehl zeigt das Ende der Schleifenbefehle an. The "end_iterate_loop" command indicates 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 das Ablaufdiagramm für das RunStep-Programm. Figs. 8 to 13 illustrate the flowchart for the RunStep program. Im Überblick betrachtet, verarbeitet RunStep die Schrittdatei zeilenweise, anstatt die gesamte Datei in den Speicher einzulesen. the step file RunStep viewed at a glance, processed line by line instead of reading the entire file into memory. Bei jeder Zeile führt RunStep eine Anzahl von Überprüfungen durch, um festzustellen, ob es oder ob es nicht fortfahren soll mit der Verarbeitung dieser Zeile. For each row RunStep performs a number of checks to determine whether or not it should not continue processing this row. Wenn beispielsweise RunStep sieht, daß eine Fehlerbedingung registriert worden ist seit der Ausführung der vorherigen Zeile, weiß es, daß es sinnlos ist, mit dem Programm fortzufahren. For example, if RunStep sees that a fault condition has been registered since the execution of the previous line, it knows that it is useless to continue with the program. Alternativ dazu kann RunStep überprüfen, ob eine Bedienperson die Schrittdatei verfälscht hat (beispielsweise um einen mühsamen Test auszulassen) und wird in diesem Fall nicht mit dem Programm fortfahren, um dadurch die Bedienperson zu zwingen, von vorne zu beginnen. Alternatively RunStep can check whether an operator has distorted the step file (for example to skip a troublesome test) and is not to proceed in this case with the program, thereby forcing the operator to start over. Somit wird die jeweilige Zeile aus der Schrittdatei nur gelesen, wenn RunStep feststellt, daß diese Zeile ausgeführt werden wird - es gibt daher kein überflüssiges Lesen von Zeilen aus der Schrittdatei. Thus, the row is only read from the step file when RunStep determines that this line will be carried out - there is therefore no superfluous reading lines from the step file. Dadurch wird eindeutig Zeit gespart. This saves time unique.

Fig. 8 ist ein Top-Level-FlowChart 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 durchgeführt, bevor irgendeine Zeile aus der Schrittdatei gelesen wird. This is done before any row is read from the step file. Während dieser Stufe liest RunStep die verschiedenen Umgebungsvariablen (aus einer Datei "Progress.bat", die weiter unten beschrieben wird), so daß es den genauen Zustand des Systems kennt, z. During this stage RunStep reads the various environment variables (from a file "Progress.bat", which is described below) so that it knows the exact state of the system, z. B., ob eine Fehlermeldung beim Ausführen 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. For example, whether an error in executing 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 genauer die Initialisierungsstufe. Fig. 9 describes in more detail the initialization stage. Das erste Modul 902 setzt die Steuerunterbrechung außer Kraft - dies verhindert, daß eine Bedienperson das Programm verläßt, um einen Schritt zu umgehen. The first module 902 sets the control interruption overridden - this prevents an operator leaves the program to bypass a step. Daraufhin werden die Variablen im Modul 904 initialisiert, und das Programm liest die Umgebungsvariablen aus der Umgebung im Modul 906 . Then the variables in the module 904 are initialized, and the program reads the environment variables from the environment module 906th Diese Umgebungsvariablen sind hauptsächlich in einer Batch-Datei, die Progress.bat genannt wird, gespeichert und die im Speicher gehalten wird und in die RunStep geschrieben hat, bei der Ausführung bisheriger Zeilen in der Schrittdatei. These environment variables are mainly in a batch file that Progress.bat named, stored and maintained in memory and has written to the RunStep, in the execution of previous lines in the step file. Progress.bat enthält den aktuellen Systemstatus und, wie weiter beschrieben (Modul 1006 , Fig. 13) wird mit jeder Zeile, die von der Schrittdatei gelesen wird, aktualisiert. Progress.bat containing the current system status, and as further described (module 1006 Fig. 13) with each line which is read by the step file is updated. Die Umgebungsvariablen enthalten Informationen wie die Zeilennummer des letzten ausgeführten Schrittes, wieviel Zeit vergangen ist, wenn ein spezieller Befehl innerhalb einer zeitlichen Schleife ausgeführt wird und welche Testphase gerade durchgeführt wird. The environment variables include information such as the line number of the last step to be executed, how much time has passed when a special command is executed within a timing loop and which testing is being performed.

Wenn die Umgebungsvariablen erfolgreich gelesen werden, wie durch das Modul 908 festgestellt, liest das Modul 910 die Verzeichnisliste von allen 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 somit RunStep dazu kommt, zu überprüfen, ob eine Datei sich auf dem lokalen Laufwerk befindet (Modul 1002 , Fig. 13), kann es dies tun beim Lesen durch die Verzeichnisliste im Speicher und muß nicht auf dem lokalen Laufwerk selbst suchen. Thus, when RunStep comes to check if a file is on the local drive (module 1002, Fig. 13), it can do this while reading through the list in the memory and need not search the local drive itself. Dies spart Zeit. This saves time. Wenn RunStep erfolgreich ist beim Lesen der Verzeichnisliste, wie durch das Modul 912 festgestellt wird, erhält das Modul 914 den gegenwärtigen Status des Vorgangs. If RunStep is successful in reading the directory listing, as determined by the module 912, the module receives the current status of the operation 914th Während dieser Stufe setzt RunStep eine Anzahl von Flags in Übereinstimmung mit dem Zustand des Systems, dh Fehler, Wiederholungen etc. Es sind diese Flags, die den Fluß von RunStep durch die nachfolgenden Module 916 , 918 , 920 festlegen. During this stage RunStep sets a number of flags in accordance with the state of the system, ie errors, repetitions etc. It these flags that determine the flow of RunStep by the following modules 916, 918, 920th Diese Module steuern RunStep in die jeweils anzuwendenden Subroutinen A, B oder C, wie in Fig. 10 gezeigt. These modules control RunStep in the respective applicable subroutines A, B or C, as shown in Fig. 10.

Unter Bezugnahme auf Fig. 10(a) durchläuft RunStep die Routine A, wenn es im Modul 916 festgestellt hat, daß der nächste Schritt ein normaler Prozeßschritt ist. Referring to Fig. 10 (a) RunStep passes through the routine A, when it has detected in the module 916, that the next step is a normal process step. Das erste Modul in der Routine A, daß Modul 922 , überprüft verschiedene Kontrollsummen. The first module in the routine A, that module 922, reviewed various checksums. Dies dient dazu, sicherzustellen, daß die Schritt-Unter-Datei nicht verfälscht worden ist, dh RunStep liest verschiedene Kontrollsummen und vergleicht sie mit Kontrollsummen, die in Progress.bat gespeichert sind - irgendwelche Unterschiede werden anzeigen, daß eine nichtautorisierte Person die Schritt-Unter-Datei modifiziert hat. This is to ensure that the step-sub-file has not been tampered with, ie RunStep reads various checksums and compares it with checksums stored in Progress.bat - Show are any differences that an unauthorized person step-sub file is modified. Wenn alle Kontrollsummen korrekt sind, wie durch das Modul 924 festgestellt, setzt das Programm bestimmte Variablen zurück (räumt auf) und liest die gegenwärtige Zeit im Modul 926 . If all the checksums are correct, as determined by the module 924, the program sets certain variables back (clean up) and reads the current time in the module 926th

Die Routine B, vgl. The routine B, see. Fig. 10(b) wird begonnen, wenn die Umgebung anzeigt, daß der letzte Schritt wiederholt werden muß, wie durch das Modul 918 festgestellt. Fig. 10 (b) is started when the ambient indicates that the final step has to be repeated as determined by the module 918th Die Routine B dient dazu, einer autorisierten Bedienperson eine Möglichkeit zu geben, das Programm anzuhalten, um die Wiederholung des letzten Schrittes, wenn gewünscht, zu verhindern. The routine B is used to give an authorized operator a way to stop the program if desired to prevent the repetition of the last step. Daher wird im Modul 928 eine Nachricht angezeigt, daß die Bedienperson Herstellungswerkzeuge (manufacturing tools, MFGTools) innerhalb von 5 Sekunden auswählen oder das das Programm andernfalls mit der Wiederholung fortfahren wird. Therefore, a message that the operator manufacturing tools (manufacturing tools, MFGTools) is displayed in module 928, filter within 5 seconds, or that is otherwise the program to proceed with the repetition. Die Herstellungswerkzeuge sind ein erprobtes Verfahren, wodurch eine autorisierte Bedienperson mit einem geeigneten Passwort in die Schrittdatei einbrechen kann und sie wie gewünscht modifizieren kann. The production tools are a proven method by which an authorized operator may break with a suitable password in the step file and can modify them as desired. Das Modul 930 stellt fest, ob der letzte Schritt wiederholt werden soll, abhängig von der Antwort der Bedienperson und ggf. veranlaßt das Modul 932 , die Progress-Umgebung (Progress.bat), MFGTools auszuführen. The module 930 determines whether the last step is to be repeated, depending executed by the response of the operator and possibly causes the module 932, the Progress environment (Progress.bat) MFGTools.

Die Routine C, vgl. The routine C, see. Fig. 10(c) veranlaßt einfach die Progress-Umgebung (Progress.bat), die MFGTools im Modul 934 auszuführen. Fig. 10 (c) simply causes the Progress environment (Progress.bat) to perform the MFGTools in the module 934th

Unter erneuter Bezugnahme auf Fig. 9 stellt das Modul 936 fest, wenn eine Fehlermeldung zurückgegeben worden ist, andernfalls überprüft das Modul 938 , ob die gegenwärtige Phase zulässig ist. Referring again to Fig. 9 detects the module 936, if an error message has been returned, otherwise, the module checks 938 whether the current phase is permitted.

Unter erneuter Bezugnahme auf Fig. 8 schreitet RunStep fort zum Modul 952 , das das "Verarbeite die Schrittdatei"-Modul ist, nach dem das Initialisierungsmodul 900 abgeschlossen ist und wenn "Erfolg" zurückgegeben worden ist, wie durch das Modul 950 festgestellt. Referring again to Fig. 8 proceeds RunStep proceeds to module 952, which is the "Processing step file" module, after the initialization 900 is complete and if "success" has been returned, as determined by the module 950th Zu dem Zeitpunkt, wenn RunStep dieses Stadium erreicht hat, hat es genug Informationen gelesen aus der Umgebung, um zu wissen, ob es oder ob es nicht mit der nächsten Zeile der Schritt-Unter-Datei fortfahren soll, die vorherige Zeile wiederholen oder abbrechen soll. At the time when RunStep has reached this stage, it has read enough information from the environment in order to know whether or not it should not proceed with the next line of the step-sub-file, repeat the previous line or Cancel to ,

Fig. 11 zeigt genauer das Modul 952 "Verarbeitung der Schrittdatei". Fig. 11 shows in more detail the module 952 "processing of step file". Das Modul 954 stellt fest, ob die Herstellungswerkzeuge ausgewählt worden sind oder ob eine Wiederholung nötig ist. The module 954 determines whether the production tools have been selected or whether a repetition is necessary. Wenn eine von diesen Bedingungen wahr, sind keine weiteren Vorbereitungen mehr notwendig und dieser Teil des Programms kann "Erfolg" zurückgeben. If one of these conditions true, no further preparations are no longer necessary and this part of the program may return "success". Wenn keine dieser Bedingungen wahr ist (dh RunStep sollte jetzt zur nächsten Zeile der Schritt-Unter-Datei fortschreiten), wird die geeignete Phasenschritt-Unter-Datei im Modul 956 geöffnet. If none of these conditions is true (ie RunStep should now proceed to the next line of the step-sub-file), the appropriate phase-step sub-file is opened in the module 956th Das bedeutet, daß RunStep die Schritt-Unter-Datei öffnet, die der jeweiligen Phase des Testens zugeordnet ist, die ausgeführt wird (dh Quicktest, Extended Test, etc.). This means that opens the step RunStep sub-file that is associated with the respective phase of testing which is performed (ie Quick test, Extended Test, etc.).

Das Modul 958 stellt fest, ob eine Rückspulphase vorhanden ist. The module 958 determines whether a Rückspulphase exists. Eine Rückspulphase ist ein Spezialfall einer Wiederholung, bei der die gesamte Phase des Testens wiederholt werden muß im Fall eines Versagens einer dieser Schritte, dh RunStep muß zurückgehen zum Beginn der Schritt-Unter-Datei für diese Phase. A Rückspulphase is a special case of a repetition, in which the entire phase of testing must be repeated in the event of a failure of one of these steps, that RunStep must go back to the beginning of step sub-file for that phase. Wenn RunStep feststellt, daß es eine Rückspulphase ist, setzt das Modul entsprechend die Umgebung und "Erfolg" wird zurückgegeben. If RunStep determines that there is a Rückspulphase, the module sets according to the environment and "success" is returned.

Wenn es keine Rückspulphase ist, liest das Modul 962 die nächste Zeilennummer aus der Schrittdatei und überprüft ferner, daß die Zeilennummer, die es gerade gelesen hat, die Zeile ist, die sie erwartet durch den Vergleich der Zeilennummer mit derjenigen, die in Progress.bat gespeichert ist, die RunStep während der Initialisierungsstufe gelesen hat, wodurch eine weitere Einrichtung gegen das Verfälschen geschaffen wird. If it is not Rückspulphase, the module reads 962 the next line number from the step file, and further checks that the row number, which it has just read is the line that awaits by comparing the line number with that in Progress.bat is stored, the RunStep has read during the initialization stage, thereby providing a further means against tampering is provided. Insbesondere wird Progress.bat, wenn RunStep läuft, Information enthalten, die den letzten Schritt betrifft, der ausgeführt worden ist, dh Informationen wie die Zeilennummer in der Schritt-Unter-Datei, die Befehls-ID des Befehls, der ausgeführt worden ist und andere Überprüfungen oder relevante Informationen. Progress.bat particular, when RunStep running, contain information concerning the last step which has been executed, that is, information such as the line number in the step sub-file command ID which has been performed of the, command, and other inspections or relevant information. Im Modul 962 liest RunStep die Progress.bat-Datei, die im Speicher enthalten ist und springt eine spezifische Anzahl von Zeilen in der Schritt-Unter-Datei nach unten, wie durch die Zeilennummer in Progress.bat festgelegt. In the module 962 reads the RunStep Progress.bat file contained in the memory and jumps a specific number of lines in the sub-step-down file, as determined by the row number in Progress.bat. Daraufhin überprüft es, ob die Zeilennummer, bei der es sich im Moment befindet, der Zeilennummer entspricht, von der es erwartet, daß sie sich dort befindet. Then it checks to see if the line number, which is located at the moment, the line number corresponding to the expected, to be located there. Ferner prüft es, ob 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 wird verifiziert, ob die Zeile, bei es sich jetzt befindet, tatsächlich der letzte Schritt ist, der ausgeführt worden ist. Further, it checks if the instruction in this line is the same as that from which it has been told that he has just been executed, that RunStep is verified whether the line is now in it, in fact, the last step is which has been carried out.

Wenn dies der Fall ist, wie festgestellt durch das Modul 964 , liest RunStep im Modul 966 den Schritt und bereitet die Progress-Umgebung 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. Das Modul 968 überprüft, daß der Schritt, der gelesen worden ist, gültig ist, und gibt in diesem Fall "Erfolg" zurück. The module 968 verifies that the step that has been read, is valid, and are in this case, "success" back. Wenn kein gültiger Schritt gelesen worden ist, überprüft RunStep im Modul 970 , ob es die letzte Zeile aus der Schritt-Unter-Datei der letzten Phase erreicht hat. If a valid step has been read, RunStep checked in module 970, whether it has reached the last row from the step-sub-file the final phase. In diesem Fall gibt RunStep eine Nachricht "alle Schritte verarbeitet" zurück, die anzeigt, daß alles Testen vollständig ist. In this case RunStep are "processed all steps" a message back indicating that all testing is complete. Andernfalls gibt RunStep einen Fehler zurück. Otherwise RunStep returns an error.

Falls andererseits das Modul 964 von RunStep zeigt, daß die Zeilennummer, die es gerade gelesen hat, nicht mit der Zeilennummer übereinstimmt, die es erwartet, schreitet RunStep fort zu der Routine, die in Fig. 12 gezeigt ist. On the other hand, if the module 964 of RunStep indicates that the row number, which it has just read does not agree with the line number that it expects RunStep proceeds to the routine shown in Fig. 12. Das erste Modul 972 überprüft, ob RunStep tatsächlich die letzte Zeile der Schritt-Unter-Datei für die letzte Phase erreicht hat. The first module 972 checks whether RunStep has actually reached the last line of step-sub-file for the final stage. In diesem Fall wird eine Nachricht ausgegeben, die anzeigt, daß das gesamte Testen abgeschlossen ist. In this case, a message is output which indicates that the entire test is complete. Andernfalls überprüft das Modul 974 , ob die letzte Zeile in einer Schritt-Unter-Datei 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-Unter- Datei für die nächste Phase des Testens. In this case RunStep returns to module 956 and opens the step-under- file for the next phase of testing.

Wenn andererseits RunStep feststellt, daß es nicht am Ende der Schritt-Unter- Datei ist, dann überprüft es im Modul 976 , ob die Zeilen, die es gerade gelesen hat, die Zeile übersteigt, die es erwartet (vom Lesen aus dem Speicher). On the other hand RunStep determines that it is not at the end of step-sub file, then it checks in module 976, whether the line that has just read exceeds the line that it expects (by reading from the memory). Wenn die Zeilennummer überschritten wird, zeigt dies RunStep an, daß die Schrittdatei manuell verfälscht worden ist (dh eine Bedienperson hat einen Schritt aus der Schrittdatei entfernt), und RunStep gibt einen Fehler zurück. If the line number is exceeded, this indicates RunStep that the step file has been corrupted manually (ie, an operator has to step out of step file away), and RunStep returns an error. Wenn die Zeilennummer nicht überschritten wird, kehrt RunStep zum Modul 962 zurück. If the line number is not exceeded, RunStep returns to module 962nd

RunStep kehrt daraufhin zum Modul 990 zurück (vgl. Fig. 8) und berichtet der Bedienperson, wenn das Ende der Schritt-Unter-Datei aufgetaucht ist. RunStep then returns to the module 990 back (see. Fig. 8) and reports to the operator when the end of the step-by sub-file has appeared. RunStep überprüft ferner, ob im Modul 992 ein Fehler zurückgegeben worden ist. RunStep also checks whether an error has been returned in the module 992nd In diesem Fall wird es berichtet und RunStep wird verlassen. In this case it is reported and RunStep is exited.

An dieser Stelle hat RunStep den genauen Status des Systems festgestellt, weiß, ob oder ob nicht ein Schritt wiederholt, eine Phase zurückgespult wird oder die nächste Zeile in der Schritt-Unter-Datei ausgeführt wird und hat entsprechend den Speicher vorbereitet. At this point RunStep has determined the exact state of the system know whether or not repeat a step, a phase is rewound or the next line is performed in the step-sub-file and has prepared in accordance with the memory. Vor dem Fortfahren speichert RunStep alle Informationen, die es in früheren Stufen erfahren hat. Before proceeding RunStep stores all the information that it has experienced in earlier stages. Dies wird im Modul 994 getan, das genauer in Fig. 13 erläutert wird. This is done in module 994, which is explained in more detail in Fig. 13.

Als erstes nutzt das Modul 1000 die Gelegenheit, um alle Dateien aufzuräumen, die nicht mehr gebraucht 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 die Dateien für das Testen oder Softwareinstallieren, das dabei ist ausgeführt zu werden, sich auf einem lokalen Laufwerk befinden oder über ein Netzwerk erhalten werden müssen und speichert diese Information. Then determines the module 1002 whether to become the files for testing or install software that is running, be located on a local drive or to be received over a network and stores this information. Als nächstes, in den Modulen 1004 und 1006 , verwendet RunStep die Informationen, die es in den früheren Stadien gelernt hat, um die Umgebungsvariablen (in Progress.bat) vorzubereiten, so daß nächstes Mal, wenn RunStep von Beginn an ausgeführt wird, alle Umgebungsvariablen aktualisiert worden sind, um den gegenwärtigen Status des Systems darzustellen. Next, in the modules 1004 and 1006 RunStep uses the information it has learned in the earlier stages, (in Progress.bat) to prepare the environment variables, so that next time RunStep is executed from the beginning, all environment variables have been updated to reflect the current status of the system.

Nach dem Überprüfen in dem Modul 1008 , das das Schreiben erfolgreich war, schreibt RunStep daraufhin eine Protokoll-Datei im Modul 1010 . After checking in the module in 1008, which was successfully writing, RunStep then writes a log file in module 1010th Wenn diese im Modul 1012 erfolgreich ist, wird die Notwendigkeit für eine Wiederholung im Modul 1014 festgestellt, und falls es nötig ist, erzeugt das Modul 1016 eine Wiederholungs-Datei. If this is successful in the module in 1012, the need is determined to repeat the module in 1014, and if it is necessary, the module 1016 produces a repeat file.

Die Steuerung kehrt daraufhin an das Modul 1020 zurück, vgl. The controller then returns to the module 1020, see. Fig. 8, und, wenn kein Fehler zurückgegeben worden ist, endet das Programm mit einem 255- Fehlerniveau, das anzeigt, daß die Ausführung der Befehlszeile, die aus der Schritt-Unter-Datei im Modul 966 gelesen worden ist, stattfinden soll. Fig. 8, and if no error has been returned, the program ends with a 255- error level, which indicates that the execution of the command line that has been read from the step sub-file in the module 966 is to take place. Dies geschieht im Modul 1022 . This is done in the module 1,022th RunStep kehrt daraufhin zum Start zurück, um den nächsten Schritt (die nächste Befehlszeile in der Schrittdatei) zu verarbeiten. RunStep then returns to the start to the next step of processing (the next command line in the step file).

Man sieht, daß das RunStep-Programm ein hochsicheres System ist, in dem verschiedene Überprüfungen enthalten sind, um zu verhindern, daß eine nicht autorisierte Person die Schritt-Unter-Datei verfälscht, um mühsame Tests zu beseitigen oder Wiederholungen zu verhindern. It is seen that the RunStep program is a highly secure system, several checks are included in the to prevent an unauthorized person falsifies the step sub-file to eliminate tedious tests or prevent repetitions. Dies wird durch das Außerkraftsetzen der Kontrollunterbrechungen erreicht, das Verifizieren der Zeilennummer der Schrittdatei in verschiedenen Abständen und das Hinzufügen von Kontrollsummen in das System. This is achieved by overriding the control interruptions, verifying the line number of the step file at various intervals and adding checksums in the system. Ein weiterer Sicherheitsaspekt ist, daß jedesmal, wenn ein Fehler auftritt, wie es von RunStep an mehreren Punkten in dem obigen FlowChart festgestellt, wird RunStep verlassen wird und der Fehler in eine versteckte, schreibgeschützte Datei geschrieben wird; Another safety aspect is that every time an error occurs, as determined by RunStep at several points in the above Flow Chart, is RunStep is abandoned and the error is written in a hidden, read-only file; eine oberflächliche Bedienperson wird diese Datei nicht zur Kenntnis nehmen und nicht in der Lage sein, sie zu finden und kann daher nicht herausfinden, was schief gegangen ist, und wie der Fehler zu umgehen ist, dh sie wäre gezwungen, die Komponente zu verwerfen oder den Test erneut bis zur Zufriedenheit ablaufen zu lassen. a superficial operator will not take this file note and not be able to find them and therefore can not figure out what went wrong, and how the error can be avoided, that is, they would be forced to discard the component or to make test again run to the satisfaction.

Obwohl erläuternde Ausführungsbeispiele gezeigt und beschrieben worden sind, ist ein großer Bereich von Modifikationen, Veränderungen und Ersetzungen in der vorangegangenen Offenbarung möglich und in einigen Beispielen werden einige Merkmale der Ausführungsbeispiele 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 will be employed without a 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ührungsbeispiele konsistent ist. Accordingly, it is appropriate that the appended claims are broadly constructed and in a manner consistent with the scope of the disclosed embodiments herein.

Claims (25)

  1. 1. Eine Vorrichtung zur Verwendung bei der Herstellung eines Computersystems aufweisend: 1. An apparatus for use in the production of a computer system comprising:
    eine Schritttabelle mit im wesentlichen allen Softwareinstallation- und/oder Testschritten für alle Komponenten von allen Computersystemen, die an einer gegebenen Stelle hergestellt werden; a step table with substantially all Softwareinstallation- and / or test steps for each component of all computer systems, which are produced at a given location;
    eine Komponententabelle mit im wesentlichen allen Komponenten, die in allen Computersystemen enthalten sind, die an der Stelle hergestellt werden; a component table with substantially all components which are included in all computer systems, which are manufactured at the site; und and
    eine Schrittabhängigkeitstabelle, die Schritte in der Schritttabelle identifiziert, die inkompatibel sind mit der Anwesenheit einer anderen Komponente im Computersystem als der, die den Schritten entsprechen. a step dependency table identifies the steps in the step table, which are incompatible with the presence of another component in the computer system than the one corresponding to the steps.
  2. 2. Vorrichtung nach Anspruch 1 ferner aufweisend eine Schrittparametertabelle, die Schritte in der Schritttabelle identifiziert, die einen Parameter benötigen. further comprising identifying 2. Device according to claim 1 is a step parameter table, the steps in the step table, which require a parameter.
  3. 3. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das anzeigt, daß ein Schritt einen entsprechenden Eintrag in der Schrittabhängigkeitstabelle hat. 3. The apparatus of claim 1, wherein the step table includes an attribute that indicates that a step has a corresponding entry in the step dependency table.
  4. 4. Vorrichtung nach Anspruch 2, wobei die Schritttabelle ein Attribut umfaßt, das anzeigt, daß ein Schritt einen entsprechenden Eintrag in der Schrittparametertabelle hat. 4. Apparatus according to claim 2, wherein the step table includes an attribute that indicates that a step has a corresponding entry in the step parameter table.
  5. 5. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das eine eindeutige Identifizierung für jeden Softwareinstallation- oder Testschritt ist. 5. The apparatus of claim 1, wherein the step table includes an attribute that is a unique identifier for each Softwareinstallation- or test step.
  6. 6. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das einer ausführbaren Befehlszeile zur Durchführung eines Softwareinstallationsschritts entspricht. 6. The apparatus of claim 1, wherein the step table includes an attribute that corresponds to an executable command line for executing a software installation step.
  7. 7. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das identifiziert, ob ein Anhalten oder ein Neustart notwendig ist, nachdem ein entsprechender Schritt ausgeführt worden ist. 7. The apparatus of claim 1, wherein the step table includes an attribute that identifies whether a stop or a restart is necessary after a corresponding step has been executed.
  8. 8. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das eine maximale Anzahl anzeigt, die ein entsprechender Schritt ablaufen kann. 8. The apparatus of claim 1, wherein the step table includes an attribute that indicates a maximum number that can run a corresponding step.
  9. 9. Vorrichtung nach Anspruch 1, wobei die Schritttabelle ein Attribut umfaßt, das eine Klasse von Komponenten identifiziert, die einem Softwareinstallation- oder Testschritt zugeordnet ist. 9. The apparatus of claim 1, wherein the step table includes an attribute that identifies a class of components is associated with a Softwareinstallation- or test step.
  10. 10. Vorrichtung nach Anspruch 1, wobei die Komponententabelle ein Attribut umfaßt, das jede Komponente innerhalb der Komponententabelle identifiziert. 10. The apparatus of claim 1, wherein the component table includes an attribute that identifies each component within the component table.
  11. 11. Vorrichtung nach Anspruch 1, wobei die Komponententabelle ein Attribut umfaßt, das eine Komponentenklasse identifiziert. 11. The apparatus of claim 1, wherein the component table includes an attribute that identifies a component class.
  12. 12. Vorrichtung nach Anspruch 1, wobei das Computersystem einem einer Familie von Computersystemen entspricht und wobei die Vorrichtung ferner eine Familientabelle, eine Familienschrittbeziehungstabelle, eine Familienkomponentenbeziehungstabelle und eine Komponentenschrittbeziehungstabelle umfaßt, wobei die Familientabelle Familien von Computersystemen, die hergestellt werden, identifiziert, die Familienschrittbeziehungstabelle, die Beziehung zwischen einer Gruppe von Softwareinstallations- und/oder Testschritten und jeder Familie von Computersystemen identifiziert, die Familienkomponenten beziehungstabelle, die Beziehungen zwischen der Familie von Computersystemen und der Gruppe von Komponenten identifiziert und die Komponentenschrittbeziehungstabelle, die Beziehungen zwischen einer Komponente und einer Gruppe von Softwareinstallations- und/oder Testschritten identifiziert, die für die entsprechende Komponente geeignet sind. 12. The apparatus of claim 1, wherein the computer system corresponds to one of a family of computer systems and wherein said apparatus further comprises a family table, a family step relation table, a family components relationship table and a component step relationship table, wherein the family table family of computer systems that are manufactured identified, the family step relation table, the relationship between a group of software installation and / or testing steps, and each family of computer systems identified relationship table the family components, the relationships between the family of computer systems and the set of components identified, and the components of step relationship table showing relationships between a component and a group of software installation - and / or identified test steps that are appropriate for that component.
  13. 13. Vorrichtung nach Anspruch 12, wobei die Familienschrittbeziehungstabelle ein Attribut umfaßt, das eine vorbestimmte Reihenfolge darstellt, in der Schritte, die einer Familie zugeordnet sind, ausgeführt werden sollen. 13. The apparatus of claim 12, wherein the step family relationship table includes an attribute that represents a predetermined order to be in the steps associated with a family executed.
  14. 14. Vorrichtung zur Verwendung bei der Herstellung eines Computersystems aufweisend: 14. An apparatus for use in the production of a computer system comprising:
    eine Schritttabelle mit im wesentlichen allen Softwareinstallations- und/oder Testschritten für alle Komponenten von allen Computersystemen, die an einer gegebenen Stelle hergestellt werden; a step table with substantially all software installation and / or test steps for each component of all computer systems, which are produced at a given location;
    eine Komponententabelle, die im wesentlichen alle Komponenten enthält, die in allen Computersystemen, die an der Stelle hergestellt werden, enthalten sind; a component table that contains all the components are substantially contained in all computer systems, which are manufactured at the site; und and
    eine Schrittparametertabelle, die Schritte in der Schritttabelle identifiziert, die einen Parameter benötigen. a step parameter table identifies the steps in the step table that require a parameter.
  15. 15. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das anzeigt, daß ein Schritt einen entsprechenden Eintrag in der Schrittparametertabelle hat. 15. The apparatus of claim 14, wherein the step table includes an attribute that indicates that a step has a corresponding entry in the step parameter table.
  16. 16. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das eine eindeutige Identifizierung für jeden Softwareinstallations- oder Testschritt ist. 16. The apparatus of claim 14, wherein the step table includes an attribute that is a unique identifier for each software installation or test step.
  17. 17. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das bezeichnet, in welcher Phase der Herstellung ein Schritt ausgeführt werden soll. 17. The apparatus of claim 14, wherein the step table includes an attribute that refers to the phase in which the preparation of a step is to be performed.
  18. 18. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das einer ausführbaren Befehlszeile zur Durchführung eines Softwareinstallationsschritts entspricht. 18. The apparatus of claim 14, wherein the step table includes an attribute that corresponds to an executable command line for executing a software installation step.
  19. 19. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das identifiziert, ob ein Anhalten oder ein Neustart notwendig ist, nachdem ein entsprechender Schritt ausgeführt worden ist. 19. The apparatus of claim 14, wherein the step table includes an attribute that identifies whether a stop or a restart is necessary after a corresponding step has been executed.
  20. 20. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das eine maximale Anzahl von Wiederholungen anzeigt, die ein entsprechender Schritt ablaufen kann. 20. The apparatus of claim 14, wherein the step table includes an attribute that indicates a maximum number of repetitions that may proceed a corresponding step.
  21. 21. Vorrichtung nach Anspruch 14, wobei die Schritttabelle ein Attribut umfaßt, das eine Klasse von Komponenten identifiziert, die einem Softwareinstallations- oder Testschritt zugeordnet ist. 21. The apparatus of claim 14, wherein the step table includes an attribute that identifies a class of components is associated with a software installation or test step.
  22. 22. Vorrichtung nach Anspruch 14, wobei die Komponententabelle ein Attribut umfaßt, das jede Komponente innerhalb der Komponententabelle identifiziert. 22. The apparatus of claim 14, wherein the component table includes an attribute that identifies each component within the component table.
  23. 23. Vorrichtung nach Anspruch 14, wobei die Komponententabelle ein Attribut umfaßt, das eine Klasse von Komponenten identifiziert. 23. The apparatus of claim 14, wherein the component table includes an attribute that identifies a class of components.
  24. 24. Vorrichtung nach Anspruch 14, wobei das Computersystem einem einer Familie von Computersystemen entspricht und wobei die Vorrichtung ferner eine Familientabelle, eine Familienschrittbeziehungstabelle, eine Familienkomponentenbeziehungstabelle und eine Komponentenschrittbeziehungstabelle umfaßt, wobei die Familientabelle Familien von Computersystemen, die hergestellt werden, identifiziert, die Familienschrittbeziehungstabelle die Beziehung zwischen einer Gruppe von Softwareinstallations- und/oder Testschritten und jeder Familie von Computersystemen identifiziert, die Familienkomponentenbeziehungstabelle, die Beziehung zwischen der Familie von Computersystemen und der Gruppe von Komponenten identifiziert und die Komponentenschrittbeziehungstabelle, die Beziehung zwischen einer Komponente und einer Gruppe von Softwareinstallations- und/oder Testschritten identifiziert, die für die entsprechende Komponente geeignet sind. 24. The device of claim 14, wherein the computer system corresponds to one of a family of computer systems and wherein said apparatus further comprises a family table, a family step relation table, a family components relationship table and a component step relationship table, wherein the family table family of computer systems that are manufactured identified, the family step relation table relationship between a group of software installation and / or testing steps, and each family of computer systems identified, identifies the family components relationship table, the relationship between the family of computer systems and the set of components and the components of step relation table, the relationship between a component and a group of software installation and / or identified test steps that are suitable for the respective component.
  25. 25. Vorrichtung nach Anspruch 24, wobei die Familienschrittbeziehungstabelle ein Attribut umfaßt, das eine vorbestimmte Reihenfolge darstellt, in der Schritte, die einer Familie zugeordnet sind, ausgeführt werden sollen. 25. The apparatus of claim 24, wherein the step family relationship table includes an attribute that represents a predetermined order to be in the steps associated with a family executed.
DE1999122766 1999-05-18 1999-05-18 Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system Ceased DE19922766A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1999122766 DE19922766A1 (en) 1999-05-18 1999-05-18 Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE1999122766 DE19922766A1 (en) 1999-05-18 1999-05-18 Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system
GB0009900A GB2353375A (en) 1999-05-18 2000-04-20 A method of installing software on and/or testing a computer system which includes checks for compatibility
IT1320300B1 IT1320300B1 (en) 1999-05-18 2000-04-21 Apparatus intended for use in the manufacture of a dielaboratore system.
FR0005932A FR2793909A1 (en) 1999-05-18 2000-05-10 installation control device and / or test usable in the manufacture of a computer system customizes

Publications (1)

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

Family

ID=7908390

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999122766 Ceased DE19922766A1 (en) 1999-05-18 1999-05-18 Device for testing installation and or for testing PCs during fabrication has a number of tables that can be used to select test and components appropriate to an individualized computer system

Country Status (3)

Country Link
DE (1) DE19922766A1 (en)
FR (1) FR2793909A1 (en)
GB (1) GB2353375A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291517A (en) * 1994-07-15 1996-01-24 Fujitsu Ltd Testing of programs
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
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
US5995757A (en) * 1997-08-29 1999-11-30 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
GB2291517A (en) * 1994-07-15 1996-01-24 Fujitsu Ltd Testing of programs
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

Also Published As

Publication number Publication date Type
GB2353375A (en) 2001-02-21 application
GB0009900D0 (en) 2000-06-07 application
FR2793909A1 (en) 2000-11-24 application

Similar Documents

Publication Publication Date Title
US5724273A (en) Method and apparatus for analyzing test results obtained by applying a binary table and a suite of test scripts to a test subsystem control facility for a distributed systems network
US5999933A (en) Process and apparatus for collecting a data structure of a memory dump into a logical table
US6113649A (en) Object representation of program and script components
US20030028825A1 (en) Service guru system and method for automated proactive and reactive computer system analysis
EP0632371B1 (en) Process for configuration management
US20040167906A1 (en) System consolidation tool and method for patching multiple servers
DE19844071A1 (en) Data conflict elimination method for common data field
Edwards et al. Recast: Reverse engineering from cobol to ssadm specification
DE10051645A1 (en) Method and device for controlling versions and producing logs and lists in a process control system incorporates a computer-readable medium and a processor for communicating with that medium.
DE102007038340A1 (en) Systems and procedures for maintenance of process control systems
DE102005015664A1 (en) Diagnostic system for determining a weighted list may faulty components from vehicle data and customer information
DE10346478A1 (en) Flexible software update for automation systems via Internet
EP1202166A1 (en) System for verification of software application models in strings of software development tools
DE102010025954A1 (en) Method for complete or partial simulation and/or replication of actual automation and/or communication system, involves replacing actual automation apparatus by copied simulated automation apparatus
Marick Experience with the cost of different coverage goals for testing
DE10357831A1 (en) System as well as a procedure for the re-engineering of object model components for the generating of web services
DE19743324A1 (en) Configuring method for computers
EP1067460A1 (en) Recording carrier with recoverable initial state base data and process for its production
DE19839680A1 (en) Altering control equipment memory contents involves securing first and/or second programs and/or data by copying before clearing, copying and/or reading in program/data
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
Cisco Software Management
Cisco Software Management
DE19918810A1 (en) A process for the knowledge-planning of a complex technical system
Rotschke et al. Architecture analysis tools to support evolution of large industrial systems
EP1005216A2 (en) Method and system for the validation of configuration data for telecommunications systems

Legal Events

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