DE4310615A1 - Method and device to provide a system which can be configured by the user, and integrates and manages several different tasks and software tools - Google Patents

Method and device to provide a system which can be configured by the user, and integrates and manages several different tasks and software tools

Info

Publication number
DE4310615A1
DE4310615A1 DE4310615A DE4310615A DE4310615A1 DE 4310615 A1 DE4310615 A1 DE 4310615A1 DE 4310615 A DE4310615 A DE 4310615A DE 4310615 A DE4310615 A DE 4310615A DE 4310615 A1 DE4310615 A1 DE 4310615A1
Authority
DE
Germany
Prior art keywords
name
rules
tool
tools
user
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.)
Granted
Application number
DE4310615A
Other languages
German (de)
Other versions
DE4310615C2 (en
Inventor
James Carl Batch
Eileen Marie Burns-Brookens
Pavel Ivanov
Timothy Ivar Michel
Robert Allen Russell
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.)
Computervision Corp
Original Assignee
Computervision Corp
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
Application filed by Computervision Corp filed Critical Computervision Corp
Priority to DE4310615A priority Critical patent/DE4310615C2/en
Publication of DE4310615A1 publication Critical patent/DE4310615A1/en
Application granted granted Critical
Publication of DE4310615C2 publication Critical patent/DE4310615C2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Abstract

The invention concerns a method and device to provide a system which can be configured by the user, and integrates and manages several different tasks and software tools. It is designed mainly for use in design and production automation systems. The system has a main control routine, which uses macros to control each process to be carried out, including the sequencing of tasks and the encapsulation of all incompatible software tools which work with the control program. The encapsulation controls the interpretations for transfers between the incompatible tool and the control program. Additional routines are provided, to make available interfaces between different tools, including tools which have different kinds of incompatibility, and between an operator and the system, or between the various tools which are used in it. All routines are rule-based, and these rules, including the macros which are used in the control routine, are written in an interpretive expansion language, which can be read by both people and machines. Thus the system can easily be configured and reconfigured by the user.

Description

Die vorliegende Erfindung betrifft Design- und Produktionsautomatisierungssysteme und insbesondere ein Verfahren und eine Vorrichtung zur Bereitstellung eines vom Benutzer konfigurierbaren Systems, welches mehrere unterschiedliche Softwaredesign- und Produktionstasks und -tools vereinigt und verwaltet, wobei zumindest einige dieser Tools ("Softwarewerkzeuge") nicht miteinander und mit dem System zum Vereinigen und Verwalten verträglich sein können.The present invention relates to design and Production automation systems and especially one Method and device for providing a user-configurable system, which is multiple different software design and production tasks and -tools unites and manages, at least some these tools ("software tools") do not interact with each other and compatible with the unify and manage system could be.

Heutzutage werden Computer beim Design, der Produktionsvorbereitung, der Herstellung und bei der Untersuchung zahlreicher Erzeugnisse verwendet. Beispiele auf dem Gebiet der Elektronik umfassen integrierte Schaltungen, gedruckte Schaltungsplatinen, und Erzeugnisse, welche derartige Bauteile verwenden, einschließlich Computer, elektronische Haushaltsgeräte und dergleichen. Ähnliche Vorgehensweisen werden bei Erzeugnissen, wie beispielsweise Haushaltsgeräten, Kameras, Kraftfahrzeugen und dergleichen eingesetzt. Daher kann die rechtnergesteuerte Automatisierung des Designs, der Herstellung und der Untersuchung in jedem Industriezweig eingesetzt werden, in welchem mehrere Schritte bei der Schöpfung und Herstellung eines Enderzeugnisses nötig sind.Nowadays, computers are used to design that Production preparation, manufacturing and at Examination of numerous products used. Examples in the field of electronics include integrated  Circuits, printed circuit boards, and Products that use such components including computers, electronic home appliances and the like. Similar approaches are used at Products, such as household appliances, Cameras, motor vehicles and the like are used. Therefore the computer-controlled automation of the design, the making and examining in everyone Industry are used in which several Steps in creating and making one Finished product are necessary.

Typischerweise können mehrere unterschiedliche Ausrüstungsstücke dazu verwendet werden, die verschiedenen Design-Herstellungs- und Versuchsvorgänge durchzuführen, und der Benutzer kann entweder standardisierte oder speziell angepaßte Softwarepakete oder -tools haben, die er zur Durchführung der verschiedenen Funktionen verwendet. In vielen Fällen sind die Sprachen, juristischen Zeichenketten, Formate, die Syntax und andere Faktoren, die in den verschiedenen Softwaretools verwendet werden oder zur Kommunikation mit diesen eingesetzt werden, nicht vollständig kompatibel.Typically, several can be different Equipment used to do the various Carry out design manufacturing and testing processes, and the user can either standardized or have specially adapted software packages or tools that he to perform the various functions used. In many cases, the languages legal strings, formats, syntax and others Factors used in the various software tools are used or to communicate with them are not fully compatible.

Heutzutage sind die Softwaretools getrennte Prozeduren, welche zur Erfassung, zur Überprüfung und zur Analyse der Leistung eines Designs während der Designphase verwendet werden, zur Darstellung des Designs während der Herstellungsentwurfsphase, zur Durchführung der verschiedenen Herstellungsschritte während der Herstellungsstufe und zur Untersuchung der verschiedenen Komponenten des Endprodukts während der Versuchsstufe. Die getrennten Prozeduren werden sequentiell verwendet, wobei die Ausgabe von einem Tool oder Prozeß die Eingabe für den folgenden Prozeß darstellt. Die häufigste Prozedur zur Verwendung dieser sequentiellen Prozesse besteht darin, darauf zu warten, daß ein Prozeß fertig ist, und einen darauffolgenden Prozeß mit der Ausgabe von dem vorherigen Prozeß durch die Verwendung einer Befehlssequenz zu betreiben, die an einer Tastatur oder einem anderen Eingabegerät eines oder mehrerer Bauteile des Systems eingegeben wird. Auf diese Weise legt der Benutzer unter Verwendung einer Terminalanzeige und einer Tastatur oder eines anderen Eingabegeräts die Folge der Vorgänge fest und stellt in vielen Fällen die ordnungsgemäße Übertragung erforderlicher Information von einem Prozeß zum nächsten sicher.Nowadays the software tools are separate procedures, which are used to record, check and analyze the Performance of a design used during the design phase to represent the design during the Manufacturing design phase to carry out the various manufacturing steps during the Manufacturing stage and to study the various Components of the final product during the test stage. The separate procedures are used sequentially, where the output of a tool or process the input for the  represents the following process. The most common procedure for Using these sequential processes is waiting for a trial to be completed and one subsequent process with the output from the previous one Process through the use of an instruction sequence operate that on a keyboard or other Input device for one or more components of the system is entered. In this way, the user submits Using a terminal display and a keyboard or another input device the sequence of operations and in many cases represents the proper transfer required information from one process to the next for sure.

Diese getrennte Verwendung einzelner Prozesse kann für den Benutzer recht mühsam werden und es sind häufig zusätzliche Programme erforderlich, Übersetzer genannt, um ordnungsgemäß Datenausgaben von einem Prozeß auf einen anderen zu übertragen, infolge verschiedener Inkompatibilitäten zwischen den Programmen. Der Benutzer muß dazu fähig sein, mit den Prozessen in einer Standardbetriebssystemsprache zu kommunizieren, und muß ein klares Verständnis davon haben, wie die Eingaben und Ausgaben der verschiedenen Prozesse gesteuert werden.This separate use of individual processes can be used for Users become quite troublesome and are common additional programs required, called translators, to properly output data from one process to one to transmit to others as a result of various Incompatibilities between the programs. The user must be able to deal with the processes in one Standard operating system language to communicate, and must have a clear understanding of how the inputs and Outputs of the various processes can be controlled.

Dies erfordert, daß sämtliche Benutzer des Systems den Betrieb des Gesamtsystems vollständig kennen sowie jedes der darin verwendeten Tools. Weiterhin erfordert dies, daß jedesmal dann, wenn in einem der Softwaretools eine Änderung erfolgt, beispielsweise um es zu aktualisieren und zu verbessern, oder in der Sprache oder den Prozeduren eine Änderung erfolgt, die von irgendeiner Komponente in dem System verwendet werden, sämtliche potentiellen Benutzer des Systems von der Änderung in Kenntnis gesetzt werden müssen, und diese verstehen müssen, um Bedienungsfehler zu verhindern und einen optimalen Betrieb des Systems sicherzustellen.This requires that all users of the system use the Know the operation of the entire system completely, as well as each of the tools used in it. Furthermore, this requires that every time one of the software tools Change is made, for example to update it and improve, or in language or procedures a change is made by any component in system, all potential System users notified of the change  have to be, and have to understand this in order to Prevent operator errors and optimal operation of the system.

Zusätzlich ist bei existierenden Systemen selbst bei einem kenntnisreichen und erfahrenen Benutzer eine erhebliche Zeit dafür erforderlich, einen Task zu beenden, infolge der Anzahl getrennter, sequentieller Vorgänge, die erforderlich sind, und der Benutzer muß sorgfältig arbeiten, um sicherzustellen, daß der Task ordnungsgemäß beendet wird. Da der Benutzer wenig Führung bei der Durchführung von Betriebsabläufen haben kann, treten selbst bei dem sorgfältigsten Benutzer Fehler auf, und die Systeme stellen keinen systematischen Weg der Ermittlung von Fehlern zur Verfügung, wenn diese eingegeben werden, so daß derartige Fehler durch das System hindurchgelangen können, von einem Prozeß zum nächsten, ohne ermittelt zu werden, was zu kumulativen Fehlern führt, die - wenn sie einmal entdeckt werden - eine zeitaufwendige und teure Korrektur erfordern können.In addition, with existing systems, even one knowledgeable and experienced users a significant Time required to complete a task as a result the number of separate, sequential operations that are required and the user must be careful work to ensure that the task is working properly is ended. Because the user has little guidance in the Implementation of operational procedures may occur even with the most careful user mistakes, and the Systems are not a systematic way of determining of errors available when they are entered so that such errors get through the system can, from one process to the next, without being determined what leads to cumulative errors that - if they be discovered once - a time-consuming and expensive May require correction.

Wenn darüber hinaus ein Benutzer festlegt, daß ein bislang nicht in dem System verwendetes, neues Softwaretool eingesetzt werden soll, so gibt es keine systematische Vorgehensweise für die Zufügung eines derartigen Tools. Dies kann dazu führen, daß ein neuer Datenübersetzer entworfen, entwickelt, untersucht und bestätigt werden muß, und daß andere Prozeduren erforderlich werden können, um eine Schnittstelle für ein derartiges Tool in dem System zur Verfügung zu stellen, und sämtliche dieser Schritte erfordern eine erhebliche Erfahrung, Zeit und Kosten, bis sie erfolgreich beendet sind. In addition, if a user specifies that one is currently New software tool not used in the system should be used, there is no systematic How to add such a tool. This can result in a new data translator designed, developed, examined and confirmed and that other procedures may be required to provide an interface for such a tool in the System, and all of these Steps require considerable experience, time and effort Costs until they are successfully completed.  

Insbesondere wird bei existierenden Systemen die Software im allgemeinen nur in Form eines Objektcodes zur Verfügur gestellt, und ein Benutzer kann keine Änderungen durchführen oder kann diese nur im Quellencode durchführen- der in einem getrennten Vorgang kompiliert werden muß, üblicherweise außerhalb des Systems, bevor er für das System nutzbar ist. Es wäre vorzuziehen, wenn der Benutzer das System mit einem Code steuern könnte, der in einer interpretativen Erweiterungssprache geschrieben ist, die sowohl von der Maschine als auch vom Menschen lesbar ist.In particular with existing systems the software generally only available in the form of an object code posed, and a user cannot make changes or can only do this in the source code executing compiled in a separate process must be, usually outside the system, before it is usable for the system. It would be preferable if the User could control the system with a code that is in is written in an interpretive extension language, which are readable both by the machine and by humans is.

Daher besteht ein Bedürfnis für ein verbessertes Verfahren und eine verbesserte Vorrichtung (manchmal gemeinsam als "System" bezeichnet) zur Verwendung mit mehreren unterschiedlichen Softwaredesign- und Produktionstools, welche die Verwendung eines derartigen Systems für den Endbenutzer wesentlich vereinfachen, und nur noch erheblich geringere Kenntnisse des Systems und der mit diesem benutzten Softwaretools vom Endbenutzer erfordern. Insbesondere sollte ein derartiges System auf einfache und systematische Weise die Schnittstelle zwischen dem Systembenutzer und den verschiedenen Tools und Vorgängen steuern, die bei dem System durchgeführt werden sollen, sollte sämtliche Kommunikationsvorgänge zwischen den verschiedenen Softwaretools in dem System steuern und sicherstellen, daß erforderliche Interpretationen und Übersetzungen durchgeführt werden, und die zeitliche Abfolge der Tasks managen, die zur Durchführung eines bestimmten Ziels durchgeführt werden, so daß der Benutzer nur durch eine geeignete Eingabe ein gewünschtes Ziel angibt, und das System damit weitermachen kann, in der richtigen Reihenfolge, die verschiedenen Tasks durchzuführen, die zur Erzielung dieses Ziels erforderlich sind. Derartige Tasks können die Übertragung erforderlicher Information von einem Softwaretool zum nächsten umfassen und Aufforderungen an den Benutzer für zusätzliche Eingaben, wenn dies erforderlich ist. Ein derartiges System sollte sämtliche erforderlichen Übersetzungen und Interpretationen zwischen nicht kompatiblen Softwaretools durchführen, und sämtliche derartige Übersetzungen sollten vorzugsweise sowohl für den Benutzer oder Bediener als auch für die verschiedenen Softwaretools, die momentan laufen, transparent oder verständlich sein. Ein derartiges System sollte darüber hinaus so flexibel sein, daß es unter Verwendung verhältnismäßig einfacher Prozeduren durch eine Systemintegrationseinrichtung konfigurierbar und erneut konfigurierbar ist, wobei derartige Zufügungen, Vergrößerungen oder andere Änderungen wiederum für den Benutzer transparent sind. Insbesondere sollten sämtliche Steuerungen für ein derartiges System in einer interpretativen Ausdehnungssprache geschrieben werden, welche eine einfache Änderung der Steuerungen durch den Benutzer zuläßt, jedoch immer noch von der Maschine lesbar ist. Daher würde der Bediener des Systems immer die jüngste, vergrößerte Version des Systems mit sämtlichen Möglichkeiten des Systems nutzen und sollte immer dann, wenn dies geeignet ist, dazu aufgefordert werden, diese Fähigkeiten zu nutzen. Soweit der Benutzer nicht mit der Funktion einer bestimmten Fähigkeit vertraut ist, könnte eine "Hilfe"-Funktion zur Verfügung gestellt werden, um ihn zu unterstützen.There is therefore a need for an improved method and an improved device (sometimes collectively as "System") for use with multiple different software design and production tools, which the use of such a system for Simplify end users significantly, and only considerably less knowledge of the system and the software tools used by the end user. In particular, such a system should be simple and systematically the interface between the System users and the various tools and operations taxes to be performed on the system should all communications between the control various software tools in the system and ensure that necessary interpretations and Translations are carried out, and the time Manage the sequence of tasks required to perform a certain goal be carried out so that the user a desired destination only by a suitable input indicates, and the system can continue to do so in the correct order, the different tasks to carry out the necessary to achieve this goal  are. Such tasks can do the transfer required information from a software tool to the next include and prompts to the user for additional entries if required. A such system should be all necessary Translations and interpretations between not perform compatible software tools, and all such translations should preferably be used for both the user or operator as well for the different Software tools that are currently running, transparent or to be understandable. Such a system should be about it Be flexible enough to use it relatively simple procedures through a System integration device configurable and again is configurable, such additions, Magnifications or other changes for the Users are transparent. In particular, everyone should Controls for such a system in one interpretive extension language are written, which is a simple change of the controls by the User allows, but still readable by machine is. Therefore, the system operator would always do that latest, enlarged version of the system with all Use the possibilities of the system and should always if appropriate, be prompted to do so Skills. As far as the user is not with the Function of a particular skill is familiar a "help" function will be provided to help to support him.

Wie voranstehend erläutert, betrifft die vorliegende Erfindung ein Verfahren und eine Vorrichtung für ein vom Benutzer konfigurierbares System, welche den Betriebsablauf mehrerer unterschiedlicher Tasks und Softwaretools integriert und verwaltet, wobei zumindest einige dieser Tools mit dem System nicht kompatibel sein können, auf welchem die Tools verwendet werden sollen, und/oder miteinander nicht verträglich sein können. Das System enthält eine Liste von Softwaretools, welche auf oder mit dem System laufen können, wobei die Liste eine Anzeige enthält, ob die Tools mit dem System verträglich sind oder nicht. Mehrere Regelmakros können ebenfalls gespeichert sein, wobei jedes der Makros die Leistung eines bestimmten Prozesses betrifft. Ein durchzuführender Prozeß wird in das System entweder von einem Benutzer oder von einem vorherigen Prozeß eingegeben, und das diesem Prozeß entsprechende Makro wird zurückgeholt. In Reaktion auf das Zurückholen des Makros werden Tasks, die ausgewählte Tools betreffen, in einer vorbestimmten Sequenz ausgeführt. Wird ein nicht kompatibles Tool ausgeführt, so wird es eingekapselt, was dazu führt, daß sämtliche Übertragungen von dem Tool und zu dem Tool hin überprüft und, soweit erforderlich, interpretiert werden. Mehrere der Interpretationsregeln können ebenfalls an einem vorbestimmten Ort in einem Makro gespeichert sein, welches ein Softwaretool enthält, das eingekapselt werden muß. Für jede Übertragung zum Tool und aus diesem heraus wird eine Überprüfung durchgeführt, um zu ermitteln, ob eine oder mehrere der Interpretationsregeln anwendbar sind, und die in der Regel festgelegte Interpretation wird durchgeführt, wenn festgestellt wird, daß eine Interpretationsregel einen übertragenen Gegenstand betrifft. Getrennte Regeln können für Übertragungen an ein nicht kompatibles Tool und Übertragungen von einem nicht kompatiblen Tool vorgesehen sein.As explained above, the present relates to Invention a method and an apparatus for a User configurable system that the Operating sequence of several different tasks and Software tools integrated and managed, at least  some of these tools may not be compatible with the system where the tools should be used, and / or not compatible with each other. The System contains a list of software tools that are on or can run with the system, the list being a Display includes whether the tools are compatible with the system are or not. Multiple control macros can also be stored, with each of the macros performing of a particular process. A to be carried out Process is in the system either by a user or entered by a previous process, this one Macro corresponding to the process is retrieved. In reaction on the return of the macro are tasks that selected tools concern, in a predetermined Sequence executed. Becomes an incompatible tool executed, it is encapsulated, which leads to the fact that all transfers from and to the tool checked and, if necessary, interpreted. Several of the rules of interpretation may also apply stored in a predetermined location in a macro, which contains a software tool that is encapsulated got to. For every transfer to and from the tool a review is performed to determine whether one or more of the rules of interpretation applicable are, and the usually fixed interpretation will carried out when it is determined that a Interpretation rule a transferred object concerns. Separate rules can be used for transfers to a incompatible tool and transfers from one not compatible tool.

Für bestimmte Ausführungsformen wird jeder Gegenstand in einem Regelmakro in einer interpretativen Ausdehnungssprache geschrieben, die sowohl vom Menschen als auch von der Maschine verstanden wird. Dies umfaßt die Interpretationsregeln, die für die Einkapselung verwendet werden. Ein Makro kann Regeln für mehrere Softwaretools enthalten, zur Durchführung eines vorgegebenen Tasks (Aufgabe), wobei die Regeln unter anderem die Reihenfolge festlegen, in welcher die Tools ausgeführt werden sollen. Ein Makro kann ebenfalls eine Regel oder Regeln enthalten, welche das Zurückholen eines neuen Makros hervorrufen.For certain embodiments, each item is shown in a rule macro in an interpretative Extension language written by both humans  is also understood by the machine. This includes the Interpretation rules used for encapsulation become. A macro can be rules for multiple software tools included to perform a given task (Task), the rules including the order determine in which the tools are to be executed. A macro can also contain a rule or rules which cause a new macro to be retrieved.

Makros können Regeln zur Steuerung der Reihenfolge von Tools enthalten, die Schnittstellen von Tools mit dem System, mit einem Benutzer und untereinander. Der Benutzer des Systems kann Regeln in existierenden Makros hinzufügen oder ändern, oder neue Makros hinzufügen, all dies in der interpretativen Ausdehnungssprache. Dies führt dazu, daß die Regeln von dem System erkannt werden und von dem System in der Ausdehnungssprache sofort ausführbar sind. Daher kann das System umkonfiguriert werden, um neue Funktionen oder neue Tools aufzunehmen, System- oder Toolausdehnungen oder andere Änderungen einzubauen, Fehler zu korrigieren oder für jeden anderen Zweck.Macros can be used to control the order of rules Tools contain the interfaces of tools with the System, with one user and with each other. The user of the system can add rules in existing macros or change, or add new macros, all of this in the interpretive language of expansion. This leads to the rules are recognized by the system and by the System in the expansion language can be executed immediately. Therefore, the system can be reconfigured to new ones Add functions or new tools, system or Install tool extensions or other changes, errors to correct or for any other purpose.

Das Format für zumindest einige der Tools kann von dem Format für andere Tools unterschiedlich sein, wobei Übertragungen in zumindest einer Richtung zwischen solchen bezüglich des Formats nicht kompatiblen Tools auftreten. Eine Regeldatei kann zur Verfügung gestellt sein, die in einer interpretativen Ausdehnungssprache geschrieben ist, welche Formatumwandlungsregelungen für Tools enthält, die nicht kompatible Formate aufweisen. Wenn eine Übertragung zwischen bezüglich des Formats nicht kompatiblen Tools durchgeführt werden soll, so werden die geeigneten Formatumwandlungsregeln aus der Regeldatei zurückgeholt und zur Steuerung der Formatumwandlung des Materials verwendet, welches zwischen derartigen Tools übertragen werden soll.The format for at least some of the tools can be from that Format may be different for other tools, though Transfers in at least one direction between such incompatible tools in terms of format. A rules file can be made available in is written in an interpretive language of expansion, which contains format conversion rules for tools that incompatible formats. If a transfer between tools incompatible with the format should be carried out, the appropriate ones Format conversion rules retrieved from the rules file and to control the format conversion of the material  used, which is transferred between such tools shall be.

Es können auch Inkompatibilitäten bei gültigen Zeichenketten (also gültigen Namen) zwischen Tools existieren. Weiterhin wird eine Regeldatei zur Verfügung gestellt, die in einer interpretativen Ausdehnungssprache geschrieben ist, welche Übersetzungsregeln für Tools enthält, die eine derartige Inkompatibilität bezüglich des Namens aufweisen. Wenn eine Übertragung zwischen in bezug auf den Namen nicht kompatiblen Tools erfolgt, werden geeignete Regeln in den Regeldateien zurückgeholt und dazu verwendet, die Übersetzungen durchzuführen, die dazu erforderlich sind, die Tools kompatibel zu machen.There may also be incompatibilities with valid ones Strings (i.e. valid names) between tools exist. A rules file is also available posed in an interpretive language of expansion is written, what translation rules for tools contains such an incompatibility regarding the Show name. If there is a transfer between in the name of incompatible tools appropriate rules retrieved in the rule files and to do so used to carry out the translations necessary for this are required to make the tools compatible.

Wenn ein Name in der Originalsprache in einen Namen in der erzeugten Sprache übersetzt wird, so wird in einer Namensliste ein Eintrag für den originalen und den erzeugten Namen durchgeführt. Gibt es einen derartigen Eintrag für einen Namen, der eine Übersetzung erfordert, so wird der Eintrag zur Übersetzung des Namens verwendet. Gibt es keinen Eintrag für einen zu übersetzenden Namen, so werden die geeigneten Regeln in der Regeldatei zur Übersetzung des Namens verwendet. Wenn eine Übersetzung unter Verwendung von Regeln aus der Regeldatei durchgeführt wird, so kann nach der Übersetzung eine Überprüfung durchgeführt werden, um ungültige Zeichen zu entfernen, den übersetzten Namen auf eine geeignete Maximallänge zu begrenzen, falls erforderlich, um dem übersetzten Namen Vorsilben oder Nachsilben zuzufügen, und um den übersetzten Namen so zu ändern, daß er einzigartig ist, falls ein einzigartig übersetzter Name für jeden zu übersetzenden Namen erforderlich ist, und wenn eine derartige Änderung möglich ist. Eine Alias-Datei kann für sämtliche Einträge erzeugt und gespeichert werden, die für eine bestimmte Verwendung vorgenommen wurden, und die Alias-Datei kann zurückgeholt und verwendet werden, wenn eine darauffolgende Übertragung zwischen denselben beiden Tools erforderlich ist. Es ist ebenfalls möglich, daß derartige Alias-Dateien ursprünglich zusammen mit den Übersetzungsregeln zur Verfügung gestellt werden. Weiterhin kann eine Fähigkeit bereitgestellt werden, welche ermöglicht, daß ein Originalname aus dem erzeugten Namen erhalten wird. Wenn der übersetzte oder erzeugte Name nicht einzigartig ist, so kann für jeden erzeugten Namen eine Liste von Originalnamen zur Verfügung gestellt sein.If a name in the original language is translated into a name in the generated language is translated in a Name list an entry for the original and the generated names performed. Is there such a thing? Entry for a name that requires translation so the entry is used to translate the name. If there is no entry for a name to be translated, the appropriate rules in the rules file become Translation of the name used. If a translation using rules from the rules file is carried out after the translation Verification can be done to find invalid characters remove the translated name to an appropriate one Limit maximum length, if necessary, to the add prefixes or suffixes to translated names, and to change the translated name to make it unique is in case a uniquely translated name for everyone translating name is required and if one such change is possible. An alias file can be used for  all entries are generated and saved for a specific use has been made, and the Alias file can be retrieved and used if a subsequent transfer between the same two Tools is required. It is also possible that such alias files originally along with the Translation rules are made available. Furthermore, a skill can be provided which enables an original name to be created from the Name is obtained. If the translated or generated Name is not unique, so can be generated for everyone Names provided a list of original names his.

Eines oder mehrere der Tools können auch eine geschachtelte Hierarchie von Material bezüglich Komponenten oder anderen Gegenständen mit unterschiedlichen Namen aufweisen, die für denselben Gegenstand an unterschiedlichen Niveaus in der Hierarchie verwendet werden. Eine Regeldatei ist vorgesehen, die zumindest Übersetzungseinträge für die Namen der unterschiedlichen Hierarchieniveaus aufweist, wobei diese Regeldatei dazu verwendet wird, den geeigneten Namen für einen Gegenstand auf einem vorgegebenen Hierarchieniveau zu erhalten. Die Regeln zur Benennung eines Gegenstands können auch an unterschiedlichen Hierarchieniveaus verschieden sein, und die Regeldatei kann auch Übersetzungsregeln für die Hierarchieniveaus enthalten.One or more of the tools can also be one nested hierarchy of material related Components or other objects have different names for the same Object at different levels in the hierarchy be used. A rules file is provided that at least translation entries for the names of the different hierarchy levels, these Rule file is used to give the appropriate name for an object at a given hierarchical level to obtain. The rules for naming an item can also at different hierarchy levels can be different, and the rules file can also Translation rules for the hierarchy levels included.

Eine Informationseingabe kann von einem Benutzer auch für zumindest einige Tools gefordert werden. Derartige Eingaben können Daten- oder Steuereingaben oder Eingaben bezüglich grafischer Signalformen sein. Für Daten- und Steuereingaben stellt eine Regelliste, die in einer interpretativen Ausdehnungssprache geschrieben ist, Standardeingaben für jede Stufe zur Verfügung, in welcher derartige Eingaben für jedes Tool erforderlich sind. Ist ein Tool auf einer Stufe, in welcher derartige Eingaben erforderlich sind, so werden die Standardeingaben für diese Stufe dem Benutzer angezeigt. Der Benutzer kann Änderungen der Standardeingaben vornehmen, und die Standardeingaben in der vom Benutzer modifizierten Weise werden dem System oder dem Tool mitgeteilt. Die Standardeingabeanzeige kann auch den Benutzer bezüglich Gegenständen auffordern, welche der Benutzer als Eingaben in einer gegebenen Stufe des Tools hinzufügen muß, wobei weiterhin der Betriebsablauf des Tools solange gesperrt ist, bis der Benutzer diese geforderten Eingaben vornimmt, und kann auch den Benutzer bezüglich wahlweiser Gegenstände auffordern, die der Benutzer als Eingaben an der vorgegebenen Stufe in dem Tool zufügen kann.A user can also enter information for at least some tools are required. Such Inputs can be data or control inputs or inputs regarding graphical waveforms. For data and Tax input represents a rule list that is in a  interpretive language of expansion is written, Standard inputs are available for each level at which such inputs are required for each tool. Is a tool on a level in which such inputs are required, the standard entries for this level is displayed to the user. The user can Make changes to the standard inputs, and the Standard inputs in the way modified by the user are communicated to the system or tool. The Standard input display can also refer to the user Request objects which the user inputs at a given stage of the tool, where the operation of the tool continues to be blocked until the user makes these required entries, and can also provide the user with more options Request items that the user enters as inputs can add to the given level in the tool.

Für grafische Signalformen oder ähnliche Eingaben sind Tabellen vorgesehen, welche die verschiedenen Digitalzustände einzugebender Signalformen festlegen und die logische Regeln für die Behandlung oder die Wechselwirkung mit derartigen Signalformen festlegen. Vom Benutzer eingegebene, erzeugte oder Standard-Signalformanzeigen können angezeigt werden, unter Verwendung der gespeicherten Digitalzustandsinformation, und Befehle von unterschiedlichen Quellen können bezüglich der Signalform oder anderer Grafiken ausgeführt werden, unter Verwendung, soweit erforderlich, der gespeicherten, festgelegten Zustände und logischen Regeln.For graphical waveforms or similar inputs Tables provided which the different Define digital states of waveforms to be entered and the logical rules for treatment or the Interact with such waveforms. From User entered, created or Standard waveform displays can be viewed at Use of the stored digital status information, and commands from different sources can the waveform or other graphics are executed, using, if necessary, the stored, defined states and logical rules.

Die Erfindung wird nachstehend anhand zeichnerisch dargestellter Ausführungsbeispiele näher erläutert, aus welchen weitere Ziele, Merkmale und Vorteile hervorgehen. Es zeigt: The invention is illustrated below with reference to drawings illustrated embodiments explained in more detail what other goals, characteristics and advantages emerge. It shows:  

Fig. 1 ein schematisches Blockschaltbild eines Systems, bei welchem sich die erfindungsgemäße Lehre einsetzen läßt; Fig. 1 is a schematic block diagram of a system in which the teaching of the invention can be used;

Fig. 2 ein Diagramm mit einer Darstellung verschiedener Dateien, die gemäß einer bevorzugten Ausführungsform der Erfindung gespeichert sein können; Fig. 2 is a diagram showing various files that can be stored according to a preferred embodiment of the invention;

Fig. 3 ein Flußdiagramm eines beispielhaften Vorgangs, der unter Verwendung der Lehren der vorliegenden Erfindung durchgeführt werden kann; Fig. 3 is a flowchart of an exemplary process that can be carried out using the teachings of the present invention;

Fig. 3A eine Darstellung detaillierterer Schritte zur Durchführung einer der in Fig. 3 gezeigten Funktionen; FIG. 3A is a diagram showing more detailed steps for performing the functions shown in Fig. 3;

Fig. 4 ein Flußdiagramm des grundlegenden Epic-Prozesses, der zur Steuerung und Handhabung bei der Durchführung einer bevorzugten Ausführungsform der Erfindung eingesetzt werden kann; Figure 4 is a flow diagram of the basic Epic process that can be used for control and handling in practicing a preferred embodiment of the invention;

Fig. 5 ein Diagramm mit einer Erläuterung des Standardanzeigeformats für eine bevorzugte Ausführungsform der Erfindung; Fig. 5 is a diagram explaining the standard display format for a preferred embodiment of the invention;

Fig. 6A und 6B zusammen einen erläuternden Befehlssatz für die Epic-Regeldatei, einschließlich zweier erläuternder Makros, für eine bevorzugte Ausführungsform der Erfindung; 6A and 6B together an explanatory instruction set for the Epic-rule file, including two illustrative macros, for a preferred embodiment of the invention.

Fig. 7 ein Flußdiagramm für den Prozeß der Einrichtung eines "Bildschirms" ("Rahmens") zur Verwendung bei einem allgemeinen Umbenennungsvorgang gemäß einer bevorzugten Ausführungsform der Erfindung; Figure 7 is a flow diagram for the process of setting up a "screen" for use in a general renaming process in accordance with a preferred embodiment of the invention;

Fig. 8 ein Flußdiagramm von Routinen zum Hinzufügen bestimmter Information zu einem "Bildschirm" und zur Wiedergewinnung dieser Information von diesem; Figure 8 is a flow diagram of routines for adding certain information to and retrieving certain information from a "screen";

Fig. 9 ein Flußdiagramm der allgemeinen Umbenennungsroutine; Fig. 9 is a flowchart of the general renaming routine;

Fig. 10 ein Flußdiagramm eines Vorgangs zum Erhalten eines Originalnamens aus einem erzeugten Namen in den allgemeinen Umbenennungsroutinen; FIG. 10 is a flowchart of a procedure for obtaining an original name from a name generated in the general rename routines;

Fig. 11A und 11B Flußdiagramme zur Erzeugung einer Alias-Datei bzw. das Lesen einer Alias-Datei; FIG. 11A and 11B are flow charts for generating an alias file or the reading of an alias file;

Fig. 12 ein Flußdiagramm einer auf Regeln basierenden Schnittstellenroutine; FIG. 12 is a flowchart of a rule-based interface routine;

Fig. 12A ein Beispiel eines Eintrags in einer auf Regeln basierenden (rbi) Regeldatei; FIG. 12A is an example of an entry (rbi) in a rules-based policy file;

Fig. 13 ein Flußdiagramm einer Designüberprüfungs-(dv)Routine, die als Benutzerschnittstelle zum Sammeln von Informationen zur Verwendung in verschiedenen Tools dient; FIG. 13 is a flowchart of a Designüberprüfungs- (dv) routine, which serves as a user interface to collect information for use in various tools;

Fig. 13A einen beispielhaften Abschnitt einer dv-Regeldatei; FIG. 13A is an exemplary portion of a dv control file;

Fig. 14 eine erläuternde Anzeige zur Verwendung mit der dv-Routine; Fig. 14 is an explanatory display for use with the dv routine;

Fig. 15 ein Flußdiagramm einer interaktiven Grafikroutine, die als Wavedit bezeichnet wird; FIG. 15 is a flowchart of an interactive graphics routine, which is referred to as WAVEdit;

Fig. 16 ein detaillierteres Flußdiagramm des Schrittes "Lies Konfigurationsdateien" von Fig. 15; Fig. 16 is a more detailed flow diagram of the "Read Configuration Files" step of Fig. 15;

Fig. 17 ein detaillierteres Flußdiagramm des Schrittes "Führe den Befehl aus" von Fig. 15, dargestellt für einen beispielhaften Befehl; FIG. 17 is a more detailed flowchart of the "execute the command" step of FIG. 15, shown for an exemplary command;

Fig. 18 ein detaillierteres Flußdiagramm des Schrittes "Zeichne Anzeige" von Fig. 15; und Fig. 18 is a more detailed flow chart of the "Draw Display" step of Fig. 15; and

Fig. 19 ein Flußdiagramm von Vorgängen, die in der Wavedit-Routine durchgeführt werden, wenn ein "Aussteigen"-Befehl empfangen wird. Shows a flow chart of operations that are performed in the WAVEdit routine when a "Getting Off" command is received. 19th

In Fig. 1 weist ein System 20, in welchem das Verfahren und die Vorrichtung gemäß der Erfindung ausgeführt werden können, einen Prozessor 22 mit ausreichender Kapazität auf, um die verschiedenen Funktionen gemäß der vorliegenden Erfindung durchzuführen. Ein geeigneter Prozessor kann beispielsweise ein Sparc-System sein, welches von Sun Microsystems hergestellt wird. Der Prozessor weist typischerweise verschiedene Eingabegeräte auf, beispielsweise eine Tastatur 24 und/oder eine Maus 26, die von einem Benutzer betätigt werden können. Eine Massenspeichervorrichtung 28, die irgendeine Standardmassenspeichereinheit sein kann, ist zum Speichern verschiedener Dateien vorgesehen, die bei dem System verwendet werden, und eine Anzeigevorrichtung 30, beispielsweise eine übliche Kathodenstrahlröhrenanzeige (CRT) kann auf übliche Weise mit dem Prozessor 22 über eine Schnittstelle verbunden sein, um verschiedene Bildschirmdarstellungen zur Verfügung zu stellen, die von dem System genutzt werden. Derartige Bildschirmanzeigen können Menüs von Ikons oder andere Menüs enthalten, aus welchen unter Verwendung der Maus 26, der Tastatur 24 oder anderer Standardeingabegeräte auf bekannte Weise Auswahlen getroffen werden können, und können auch alphanumerische Anzeigen unterschiedlicher Dateien und von Daten enthalten, die von dem System verwendet werden, und verschiedene Grafikanzeigen einschließlich schematischer Diagramme.In Fig. 1, a system 20 in which the method and apparatus according to the invention can be carried out has a processor 22 with sufficient capacity to perform the various functions according to the present invention. A suitable processor can be, for example, a Sparc system, which is manufactured by Sun Microsystems. The processor typically has various input devices, for example a keyboard 24 and / or a mouse 26 , which can be operated by a user. A mass storage device 28 , which may be any standard mass storage device, is provided for storing various files used in the system, and a display device 30 , such as a conventional cathode ray tube display (CRT), may be interfaced with the processor 22 in a conventional manner. to provide various screens that are used by the system. Such screen displays may include menus of icons or other menus from which selections can be made using mouse 26 , keyboard 24 or other standard input devices in a known manner, and may also include alphanumeric displays of various files and data used by the system and various graphic displays including schematic diagrams.

Die Programme und Dateien, welche einen Teil der vorliegenden Erfindung bilden, können dazu verwendet werden, die zeitliche Abfolge verschiedener Computerprogramme zu steuern und zu behandeln, die auch nachstehend als Softwaretools bezeichnet werden, und auf dem Prozessor 22 laufen, ebenso wie Software, die dazu ausgelegt ist, den Betrieb verschiedener anderer Geräte zu steuern oder mit diesen zusammenarbeiten, die in dem System verwendet werden, einschließlich - jedoch nicht hierauf beschränkt - Designgeräte 32, Entwurfsgeräte 34, Herstellungsgeräte 36 und Untersuchungsgeräte 38. Die externen Geräte können an den Prozessor 22 über einen oder mehrere Standardeingabe/Ausgabebusse 40 angeschlossen sein. Sämtliche Geräte auf dem Bus 40 können sich an einem einzigen Ort befinden, oder es können einige der Geräte an unterschiedlichen Orten angeordnet sein und mit dem Prozessor 22 über ein Netzwerksystem oder eine andere geeignete Kommunikationseinrichtung verbunden sein. The programs and files that form part of the present invention can be used to control and handle the timing of various computer programs, also referred to below as software tools, that run on processor 22 , as well as software that does so is configured to control or cooperate with the operation of various other devices used in the system, including, but not limited to, design devices 32 , design devices 34 , manufacturing devices 36, and inspection devices 38 . The external devices may be connected to processor 22 via one or more standard input / output buses 40 . All of the devices on bus 40 may be in a single location, or some of the devices may be located in different locations and connected to processor 22 via a network system or other suitable communication device.

Fig. 3 zeigt einen typischen Prozeß, der unter Verwendung des in Fig. 1 gezeigten System durchgeführt werden kann, und unter Verwendung der erfindungsgemäßen Lehren. In diesem Fall wird die Erfindung dazu eingesetzt, eine gedruckte Schaltungsplatine (PCB) zu entwerfen und herzustellen. Der Benutzer kann den Prozeß dadurch beginnen, daß er "Erzeuge Design" aus einem geeigneten Menü auswählt, welches auf der Anzeige 30 dargestellt wird (Schritt 50). Dies kann veranlassen, daß ein Makro aus dem Speicher 28 auf eine noch zu beschreibende Weise ausgewählt wird, welches bestimmte Verwaltungsfunktionen durchführt, und kann dann zum Aufrufen eines geeigneten Tools führen, nämlich "Schema aufbauen". Dies ist durch den gestrichelten Kasten 52 angedeutet. Der erste Schritt bei diesem Vorgang kann darin bestehen, ein Tool aufzurufen, welches zur Erzeugung einer Schemazeichnung führt (Schritt 54). Als Teil dieses Schrittes kann der Benutzer die Art der Schaltung angeben, die entworfen werden soll, und das System kann eine Schaltung zur Durchführung einer derartigen Funktion anzeigen. Der Benutzer kann entweder diese Schaltung benutzen und mit dem Schritt 54 fortfahren, um die gezeigte Schemazeichnung zu überarbeiten, oder kann angeben, daß er seine eigene Schemazeichnung erzeugen möchte, und in diesem Fall wird ein unterschiedliches Tool aufgerufen, welches es dem Benutzer gestattet, eine Schemazeichnung von Grund auf aufzubauen. Figure 3 shows a typical process that can be performed using the system shown in Figure 1 and using the teachings of the invention. In this case, the invention is used to design and manufacture a printed circuit board (PCB). The user can begin the process by selecting "Create Design" from an appropriate menu that is displayed on the display 30 (step 50). This can cause a macro to be selected from memory 28 in a manner to be described which performs certain management functions and can then result in the calling of an appropriate tool, namely "build schema". This is indicated by the dashed box 52 . The first step in this process can be to call a tool that leads to the creation of a schematic drawing (step 54). As part of this step, the user can specify the type of circuit to be designed and the system can display a circuit to perform such a function. The user can either use this circuit and proceed to step 54 to revise the schematic drawing shown, or can indicate that he wants to create his own schematic drawing, and in this case a different tool is called which allows the user to create one To build a schematic drawing from scratch.

Hat der Benutzer die Erzeugung einer Schemazeichnung beendet, so kann dann das System mit dem Schritt 56 fortfahren, um ein geeignetes Makro aufzurufen, welches ein geeignetes Softwaretool oder Tools aufruft, um eine Überarbeitung der Schemazeichnung zu gestatten. Sobald eine geeignete Schemazeichnung erzeugt und überarbeitet wurde, geht der Betriebsablauf mit dem Schritt 58 weiter, in welchem geeignete Makros und Tools aufgerufen werden, welche veranlassen, daß die Schemazeichnung zusammengepackt wird, und geht dann mit dem Schritt 60 weiter, um das Design zu überprüfen. Der Überprüfungsschritt kann den Aufruf geeigneter Tools umfassen, um sowohl die Logik der Schemazeichnung als auch deren Elektronikbestandteile zu überprüfen. Fig. 3A, die etwas später beschrieben wird, erläutert verschiedene Schritte, die während des Überprüfungsschrittes 60 ausgeführt werden können. Wenn während des Überprüfungsschrittes 60 festgestellt wird, daß ein Fehler bezüglich der Logik oder der Elektronikbauteile vorliegt, so kann der Betriebsablauf zum Schritt 56 zurückkehren, um eine weitere Überarbeitung der Schemazeichnung zur Überwindung eines derartigen Problems durchzuführen.If the user has finished creating a schematic drawing, the system can then proceed to step 56 to call a suitable macro which calls a suitable software tool or tools to allow the schematic drawing to be revised. Once an appropriate schematic has been created and revised, the process proceeds to step 58 where appropriate macros and tools are called which cause the schematic to be packaged together and then proceeds to step 60 to check the design . The checking step can include the call of suitable tools to check both the logic of the schematic drawing and its electronic components. Fig. 3A, the bit will be described later, illustrates various steps that can be performed during the verification step 60th If it is determined during verification step 60 that there is a logic or electronic component failure, the flow of operations may return to step 56 to further revise the schematic to overcome such a problem.

Sobald das Design überprüft wurde, kann der Benutzer entweder davon in Kenntnis gesetzt werden, daß das Design überprüft wurde, und dann zu möglichen nächsten Schritten geführt werden, oder das System kann vorzugsweise zum Schritt 62 übergehen, um die PCB aufzubauen. Der gestrichelte Kasten 64 erläutert verschiedene Schritte, die während des Vorgangs "PCB-Aufbauen" durchgeführt werden können. Für jeden dieser Schritte wird ein geeignetes Makro aufgerufen, was wiederum dazu führt, daß geeignete Tools aufgerufen werden, um die Funktion durchzuführen. Die beispielhaften Funktionen, die für die Funktion des Aufbaus der PCB gezeigt sind, umfassen eine Festigung der Platine, Schritt 66, Anordnen von Bauteilen auf der Platine, Schritt 68, Verlegen von Verdrahtungen für die Platine, Schritt 70, und Rückseitenbeschriftung, Schritt 72, wenn irgendeine Änderung vorgenommen wird. Once the design has been verified, the user can either be informed that the design has been verified and then guided to possible next steps, or the system can preferably proceed to step 62 to build the PCB. The dashed box 64 explains various steps that can be performed during the "PCB assembly" process. A suitable macro is called for each of these steps, which in turn means that suitable tools are called to carry out the function. The exemplary functions shown for the PCB assembly function include mounting the board, step 66, placing components on the board, step 68, routing wiring for the board, step 70, and backing, step 72, if any change is made.

Wenn in der Hinsicht während des Schrittes 70 ein Problem auftritt, daß es nicht möglich ist, Verdrahtungswege anzuordnen, so kann der Betriebsablauf zum Schritt 66 zurückkehren, um eine erneute Festlegung der Platine vorzunehmen, um so das Problem zu überwinden. Wenn weiterhin Probleme auftreten, so kann es entsprechend nötig werden, zum Schritt 56 zurückzukehren, um das ursprüngliche Design zu überarbeiten, so daß eine einfachere Anordnung und ein einfacherer Aufbau erreicht werden. Im Idealfall führt die Beendigung jedes der Schritte 66 bis 72 zum Aufruf der geeigneten folgenden Schritte.If a problem in that regard during step 70 occurs that it is not possible to wire routes to arrange, the operational flow can go to step 66 return to redefining the board to overcome the problem. If If problems continue to occur, it can be done accordingly need to be returned to step 56 to complete the Revise original design so that a simpler arrangement and structure become. Ideally, the termination of each of the leads Steps 66 through 72 to call the appropriate following Steps.

Sobald der Schritt 64 des Aufbaus der PCB erfolgreich abgeschlossen ist, kann der Betriebsablauf automatisch das erste Makro aufrufen, welches zur Durchführung des Schrittes 74, der Herstellung der PCB erforderlich ist. Alternativ hierzu kann die Beendigung des Schrittes 64 zum Aufbau der PCB nur zu einer geeigneten Anzeige auf der Anzeigevorrichtung 30 führen, um den Benutzer darüber zu benachrichtigen, daß das System dazu bereit ist, die Herstellung der Platine zu beginnen. Der Schritt der Herstellung der PCB kann die Schritte umfassen, die in dem gestrichelten Kasten 66 angegeben sind. Diese Schritte umfassen die Schöpfung der Platine aus der während der Schritte 64 und 78 geschaffenen Zeichnung, das Bohren erforderlicher Löcher in die Platine, Schritt 80, und das Hineinfügen oder Einstopfen der Bauteile in die Platine, Schritt 82. Die Makros zur Durchführung der verschiedenen Schritte 78, 80 und 82 können an geeigneten Punkten veranlassen, daß verschiedene Herstellungsgeräte 36 eingesetzt werden, einschließlich der Bereitstellung erforderlicher Steuereingaben und Dateneingaben für diese Geräte, so daß die Ausrüstung ordnungsgemäß arbeitet. Once step 64 of building the PCB is successfully completed, the operational flow can automatically invoke the first macro required to complete step 74 of manufacturing the PCB. Alternatively, completing step 64 of building the PCB can only result in an appropriate display on display 30 to notify the user that the system is ready to begin manufacturing the board. The step of manufacturing the PCB may include the steps indicated in dashed box 66 . These steps include creating the board from the drawing created during steps 64 and 78, drilling required holes in the board, step 80, and inserting or plugging the components into the board, step 82. The macros for performing the various steps 78, 80, and 82 may, at appropriate points, cause various manufacturing devices 36 to be used, including providing necessary control and data inputs for those devices so that the equipment operates properly.

Hierbei kann auch eine Steuerung der Geräte für den automatischen Transport der Platine zwischen verschiedenen Bearbeitungsgeräten je nach Erfordernis vorgesehen werden.Control of the devices for the automatic transport of the board between different Processing equipment can be provided as required.

Wenn während des Schrittes 76 Prototyp-Platinen hergestellt wurden, müssen die Platinen geprüft werden. Dies wird während des Schrittes 84 durchgeführt und kann abhängig von den verwendeten Geräten entweder mit denselben Geräten durchgeführt werden, auf welchen die Platine hergestellt wird, wobei dann die auf dem Prozessor 22 laufenden Makros das System dazu veranlassen können, automatisch eine Prüfung der Platinen durchzuführen, wenn die Herstellung der Platinen beendet ist, jedoch können die Platinen auch auf getrennten Geräten geprüft werden. Im letztgenannten Fall müssen die Platinen entweder automatisch zu derartigen anderen Geräten transportiert werden, in Reaktion auf geeignete Makros, die auf dem Prozessor 22 laufen, oder der Prozessor muß in einen Haltezustand versetzt werden, den Benutzer auffordern, die Platine zu Prüfgeräten zu bewegen, und damit weitergehen, daß er geeignete Makros zum Steuern der Prüfvorgänge erst dann aufruft, wenn der Benutzer angibt, daß sich die Platine in einer geeigneten Prüfstation befindet. Wenn die Platinen einen Versuch nicht erfolgreich durchlaufen, so kann abhängig von dem festgestellten Problem der Prozeß zum Schritt 56, zum Schritt 66, zum Schritt 78 oder zu irgendeinem anderen der Zwischenschritte zurückgehen, in welchem die Prüfung ergeben hat, daß eine Schwierigkeit existiert, die behoben werden muß. Das System würde dann das Problem korrigieren, entweder unter Verwendung von in dem System bereitgestellten Regeln, oder dadurch, daß es den Benutzer auffordert Eingaben einzugeben. Sobald die Platine erfolgreich geprüft wurde, kann das System dann die Versendung der Platine im Schritt 86 steuern, falls dies gewünscht ist. If 76 prototype boards were made during step, the boards must be checked. This is carried out during step 84 and, depending on the devices used, can either be carried out with the same devices on which the board is produced, in which case the macros running on the processor 22 can then cause the system to automatically check the boards, when the manufacture of the boards is finished, however, the boards can also be checked on separate devices. In the latter case, the boards must either be automatically transported to such other devices in response to suitable macros running on the processor 22 , or the processor must be put on hold, prompting the user to move the board to test devices, and continue to call appropriate macros to control the test operations only when the user indicates that the board is in an appropriate test station. If the boards fail an attempt, depending on the problem identified, the process may go back to step 56, step 66, step 78, or any of the intermediate steps in which the test has determined that there is a difficulty that exists must be remedied. The system would then correct the problem, either using rules provided in the system or by prompting the user for input. Once the board has been successfully checked, the system can then control the shipping of the board in step 86, if so desired.

Hieraus wird deutlich, daß zumindest theoretisch durch Betätigung einer einzigen Steuerung mit geeigneten Makros das System veranlassen kann, die gesamte Sequenz von in Fig. 3 gezeigten Vorgängen durchzuführen, und den Benutzer je nach Erfordernis zur Eingabe bestimmter Eingaben auffordern kann, oder bestimmte Tätigkeiten vorzunehmen, soweit erforderlich. Daher könnte das System von einer Bedienungsperson benutzt werden, welche geringe Kenntnis des Systems oder der verschiedenen, hierauflaufenden Tools aufweist, die jedoch gute Kenntnisse im Design und der Konstruktion von PC-Platinen hat. Selbst diese Kenntnisse müssen nicht erschöpfend sein, da das System Standardeingaben in den meisten Fällen zur Verfügung stellen kann, in welchen Eingaben erforderlich sind, so daß die von dem Benutzer geforderten Eingaben recht begrenzt sein können.From this it becomes clear that, at least theoretically, by actuating a single control with suitable macros, the system can cause the entire sequence of processes shown in FIG. 3 to be carried out and, depending on the requirements, the user can be given certain inputs or can carry out certain activities, where necessary. Therefore, the system could be used by an operator who has little knowledge of the system or the various tools running on it, but who has good knowledge of the design and construction of PC boards. Even this knowledge need not be exhaustive, since in most cases the system can provide standard inputs in which inputs are required, so the inputs required by the user can be quite limited.

Viele der Softwaretools, die zur Durchführung der verschiedenen, in Fig. 3 gezeigten Funktionen erforderlich sind, stammen von unterschiedlichen Verkäufern und können bezüglich der Sprache, der Namen, des Formats und anderer Faktoren inkompatibel sein. Diese Programme können auch mit den grundlegenden Steuerprogrammen inkompatibel sein, die auf dem Prozessor 22 ablaufen. Zur Überwindung dieses Problems weist das System die Fähigkeit auf, automatisch Interpretationen und Übersetzungen durchzuführen, wie dies für Informationsübertragungen zwischen verschiedenen inkompatiblen Softwaretools erforderlich ist, und auch zur Durchführung der erforderlichen Interpretationen und Übersetzungen für Datenübertragungen zwischen der Systemsoftware, die auf dem Prozessor 22 läuft, und verschiedenen Softwaretools, die hiermit inkompatibel sind. Alle diese Datenübertragungen werden auf eine Weise durchgeführt, die nachstehend beschrieben wird, und die sowohl für den Benutzer des Systems als auch für die verschiedenen Softwaretools durchsichtig ist.Many of the software tools required to perform the various functions shown in Figure 3 come from different vendors and may be incompatible in terms of language, name, format, and other factors. These programs may also be incompatible with the basic control programs running on processor 22 . To overcome this problem, the system has the ability to automatically perform interpretations and translations as required for information transfers between various incompatible software tools, and also to perform the required interpretations and translations for data transfers between the system software running on processor 22 . and various software tools that are incompatible with this. All of these data transfers are performed in a manner which is described below and which is transparent to both the user of the system and the various software tools.

Das System weist darüber hinaus, wie nachstehend noch genauer erläutert, die Fähigkeit auf, den Benutzer zu Eingaben aufzufordern, wenn Eingaben für ein Softwaretool erforderlich sind, welches ausgeführt wird. Es ist möglich, in vielen Fällen Standardeingaben zur Verfügung zu stellen, die von dem System benutzt werden, wenn der Benutzer diese Eingaben nicht ändert, wodurch der Dateneingabevorgang für den Benutzer wesentlich vereinfacht wird.The system also points as below explained in more detail the ability to the user Prompt for input when input for a software tool required, which one is executed. It is possible, in many cases standard inputs are available to be used by the system when the User does not change these entries, which causes the Data entry process essential for the user is simplified.

Fig. 3A erläutert eine detailliertere Betriebsablaufsequenz, die durchgeführt werden kann, wenn der Überprüfungsschritt 60 von Fig. 3 durchgeführt wird. In Fig. 3A besteht der erste derartige Schritt darin, eine "Designregelüberprüfung" bezüglich der elektronischen Schemazeichnung durchzuführen, die während der Schritte 54, 56 und 58 erzeugt wurde. "Designregelüberprüfung" ist ein Softwaretool, welches für das System verfügbar ist, um die Logik oder die Elektronik der Schemazeichnung zu überprüfen. Das Makro, welches im Zusammenhang mit dem Ablauf der Designregelüberprüfung aufgerufen wird, würde auch die Erlangung oder das Bereitstellen erforderlicher Eingaben für dieses Softwaretool steuern, in dem Ausmaß, in welchem derartige Eingaben erforderlich sind, und würde auch irgendwelche Übersetzungen steuern, die zur Information erforderlich sind, oder Befehle, welche diesem Softwaretool zur Verfügung gestellt werden. FIG. 3A illustrates a more detailed operational sequence that can be performed when review step 60 of FIG. 3 is performed. In Fig. 3A, the first such step is to perform a "design rule check" on the electronic schematic drawing generated during steps 54, 56, and 58. "Design Rule Check" is a software tool available to the system to check the logic or electronics of the schematic drawing. The macro that is called in connection with the design rule checking process would also control the acquisition or provision of required input for this software tool, to the extent that such input is required, and would also control any translations required for information or commands that are made available to this software tool.

Wenn der Vorgang der Designregelüberprüfung fertig ist, so führt das System eine Überprüfung durch, um festzustellen, ob die Designüberprüfung erfolgreich beendet wurde. Wird festgestellt, daß die Designüberprüfung erfolgreich festgestellt wurde, dann ruft das System das Softwaretool mit dem Titel "Signalnetzlistenextraktor für einen digitalen Simulator" auf. Wiederum werden je nach Erfordernis Eingaben bereitgestellt und Übersetzungen durchgeführt. Wenn der Extraktor korrekt extrahiert, dann ruft das System ein Softwaretool mit dem Namen "digitaler Simulator" auf. Das "Simulator"-Tool wird unter Verwendung eines Verhaltenssteuermakros ablaufen gelassen, welches eines der Makros des Steuersystems sein kann, die auf dem Prozessor 22 laufen oder ein getrenntes Softwaretool sein kann. Die Ergebnisse des Simulators werden angezeigt unter Verwendung eines getrennten Softwaretools mit dem Namen "Elektronischer Signalwelleneditor". Alle Fehler, die in der geprüften Entwurfsdatei für die elektronische Schemazeichnung gefunden werden, werden hervorgehoben. Dies kann unter Verwendung eines Makros in dem Basissystem erfolgen, oder es kann für diesen Zweck ein getrenntes Softwaretool aufgerufen werden. Die Hervorhebung, die beispielsweise dadurch vorgenommen werden kann, daß die Leitung, das Bauteil oder ein anderes Schaltungselement, in welchem ein Problem ermittelt wurde, blinkend dargestellt wird, benachrichtigt den Benutzer von diesem potentiellen Problem.When the design rule review process is complete, the system checks to see if the design review was successfully completed. If it is determined that the design check has been successfully determined, the system calls the software tool with the title "Signal network list extractor for a digital simulator". Again, inputs are provided and translations are carried out as required. If the extractor extracts correctly, the system calls a software tool called "digital simulator". The "simulator" tool is run using a behavior control macro, which may be one of the control system macros running on processor 22 or a separate software tool. The results of the simulator are displayed using a separate software tool called "Electronic Signal Wave Editor". Any errors found in the verified electronic schematic drawing design file are highlighted. This can be done using a macro in the base system, or a separate software tool can be called up for this purpose. The highlighting, which can be done, for example, by the line, the component or another circuit element in which a problem has been identified flashing, notifies the user of this potential problem.

Der Benutzer kann dann Schritte unternehmen, um das Problem zu korrigieren, oder das System selbst kann unter Verwendung von in einem Makro bereitgestellten Regeln entweder dem Benutzer mögliche Lösungen für das Problem vorschlagen oder unter Verfolgung bereitgestellter Regeln eine geeignete Korrektur in der Schemazeichnung vornehmen, um das Problem zu korrigieren. The user can then take steps to do this Correct problem, or the system itself can be under Use rules provided in a macro either the user has possible solutions to the problem propose or follow provided rules make a suitable correction in the schematic drawing, to correct the problem.  

Falls der Extraktor nicht korrekt extrahiert hat, dann wird der Benutzer auf geeignete Weise über den Signalnetzlistenextraktorfehler informiert. Wie bei dem Simulator, kann das System auch hier mögliche Korrekturen für den Fehler vorschlagen oder es unternehmen, den Fehler selbst zu korrigieren. Entsprechend wird, wenn die Designüberprüfung nicht erfolgreich beendet wurde, der Benutzer über Verletzungen der Regel für das elektronische Design informiert, und das System kann wiederum eine Anzeige möglicher Korrekturen zur Verfügung stellen oder unter Verwendung von Regeln versuchen, das Problem selbst zu korrigieren. Wenn der Überprüfungsvorgang beendet ist, so kehrt das System zum schematischen Editor zurück, geht mit dem Schritt 62 zum Aufbau der PCB weiter oder nimmt eine andere geeignete Austrittsaktion vor.If the extractor did not extract correctly, then the user is appropriately informed about the Signal network list extractor error informed. Like that Simulator, the system can also make possible corrections here suggest for the mistake or undertake the mistake correct yourself. Accordingly, if the Design verification failed, the Users about violations usually for the electronic Design informs, and the system can turn one Provide display of possible corrections or using rules try to solve the problem yourself to correct. When the verification process is finished, so the system returns to the schematic editor, goes continue with step 62 to build the PCB or takes another suitable exit action.

Entsprechend den erfindungsgemäßen Lehren werden die verschiedenen Funktionen unter Steuerung eines auf Regeln beruhenden Verwaltungs- und Steuersystems oder Programms durchgeführt, welches nachstehend manchmal als "Epic" bezeichnet wird. Wie nachstehend mit weiteren Einzelheiten erläutert wird, verwendet dieses Programm eine Regeldatei, die für jeden Prozeß Makros enthält. Die Makros steuern das Aufrufen geeigneter Softwaretools in der geeigneten Reihenfolge und steuern auch das Sammeln und die Übertragung von Informationen zwischen verschiedenen Tools sowie zwischen dem System und verschiedenen Tools. Weiterhin steuern die Makros die Leistung erforderlicher Interpretationen/Übersetzungen für Übertragungen zwischen Tools und für Übertragungen zwischen Tools und der Systemsteuersoftware. Insbesondere weist Epic die Fähigkeit auf, inkompatible Softwaretools einzukapseln, so daß alle Datenübertragungen von dem Tool an Epic überprüft und geeignete Interpretationsregeln angewendet werden, bevor das Material, welches übertragen wird, von Epic benutzt wird, und so, daß sämtliche Ausgaben von Epic an das Tool ebenfalls überprüft und erforderliche Interpretationen vorgenommen werden, bevor Material an das Tool zurückgegeben wird. Die Einkapselung ist sowohl für das Softwaretool als auch für den Benutzer vollständig transparent.According to the teachings of the invention various functions under control of one on rules based management and tax system or program performed, which is sometimes referred to below as "Epic" referred to as. As below with more details explained, this program uses a rules file, which contains macros for each process. Control the macros the call of suitable software tools in the appropriate one Order and also control the collecting and the Transfer of information between different tools as well as between the system and various tools. Furthermore, the macros control the performance more necessary Interpretations / translations for transfers between Tools and for transfers between tools and the System control software. In particular, Epic has the Ability to encapsulate incompatible software tools, so that all data transfers from the tool to Epic are checked and appropriate rules of interpretation are applied,  before Epic is used, and so that all editions of Epic the tool also checked and required Interpretations are made before material is sent to the Tool is returned. The encapsulation is for both the software tool as well as for the user completely transparent.

Epic verwendet verschiedene Zusatzprogramme, die ihm dabei helfen, die Interpretation und die Datenzusammenstellungsfunktionen durchzuführen. Diese Programme umfassen ein Programm, welches als "GRM" bezeichnet wird, was eine Abkürzung für "General Renaming Module" (allgemeines Umbenennungsmodul) darstellt. Dieses Programm weist unterschiedliche Dateien auf, wobei im allgemeinen zumindest eine Datei für jedes Paar inkompatibler Programme oder Softwaretools vorgesehen ist. Jede GRM-Datei umfaßt mehrere Regeln, die zur Durchführung von Übersetzungen für Namen von der Ursprungssprache zu einer erzeugten Sprache verwendet werden können. Eine Datei kann auch eine Auflistung von Übersetzungen von Namen in der Originalsprache in Namen in der erzeugten Sprache aufweisen. Beispielsweise kann hierdurch angezeigt werden, daß bei einer Eingabe "A" die Ausgabe "a" sein sollte. Derartige Übersetzungslisten könnten in der Datei enthalten sein, welche die ursprünglich bereitgestellten Regeln enthält, oder könnte unter Verwendung der Regeln erzeugt werden, während Übersetzungen durchgeführt werden, und als Alias-Dateien für die zukünftige Benutzung gespeichert werden. GRM kann auch dazu eingesetzt werden, Übersetzungen zwischen unterschiedlichen Hierarchiepegeln eines Designs von demselben oder unterschiedlichen Tools durchzuführen, wenn die auf diesen unterschiedlichen Niveaus verwendeten Namen inkompatibel sind. Epic uses various additional programs to help him do this help the interpretation and the Perform data compilation functions. This Programs include a program called "GRM" is what is an abbreviation for "General Renaming Module "(general renaming module). This Program has different files generally at least one file for each pair incompatible programs or software tools is provided. Each GRM file includes several rules that are used to implement it of translations for names from the original language too a generated language can be used. A File can also be a listing of translations of Names in the original language in names in the generated Have language. For example, this may indicate will be that with an input "A" the output will be "a" should. Such translation lists could be in the file be included, which the originally provided Contains rules, or could be using the rules generated while translations are in progress, and as alias files for future use get saved. GRM can also be used Translations between different hierarchical levels a design from the same or different tools perform when the on these different Names used in the levels are incompatible.  

Übersetzungsdateien wären dann für jede derartige Hierarchieumwandlung vorgesehen.Translation files would then be such for each Hierarchy transformation provided.

Ein zweites Programm, welches mit Epic verwendet werden kann, wird manchmal als "RBI" bezeichnet, was eine Abkürzung für "Rools Based Interface" (auf Regeln basierende Schnittstelle) darstellt. Dieses Programm wird dazu eingesetzt, Formatübersetzungen durchzuführen, wenn Programmtools keine kompatiblen Formate aufweisen. Dies kann beispielsweise dann auftreten, wenn ein Softwaretool Information in schematischer Form zur Verfügung stellt, während das andere Softwaretool Information in Netzlistenform verwendet (eine Liste der Bauteile in der Schaltung und der Knoten oder anderer Bauteile, an welches jedes dieser Bauteile angeschlossen ist). Ein Satz von RBI-Regeldateien ist zur Durchführung dieser Funktion vorgesehen.A second program that can be used with Epic , is sometimes referred to as "RBI", which is a Abbreviation for "Rools Based Interface" (on rules based interface). This program will used to perform format translations when Program tools do not have compatible formats. This can occur, for example, when a software tool Provides information in a schematic form, while the other software tool information in Netlist form used (a list of components in the Circuit and the node or other components to which each of these components is connected). A set of RBI rules files is used to perform this function intended.

Ein drittes Programm, welches mit Epic verwendet werden kann, ist die dv-Routine ("Design Verification": Designüberprüfung), die dazu eingesetzt wird, beim Zusammenstellen erforderlicher Information von dem Benutzer oder anderen Quellen für die unterschiedlichen Softwaretools zu helfen, die auf dem System ablaufen. Bestimmte Regeldateien sind auch für dv vorgesehen, und ihre Funktionen werden später erläutert.A third program that can be used with Epic can, is the dv routine ("Design Verification": Design review), which is used at the Gathering required information from that Users or other sources for the different To help software tools that run on the system. Certain rule files are also provided for dv, and their functions will be explained later.

Ein viertes Programm, welches mit Epic verwendet werden kann, ist die Wavedit-Routine, die zur Hilfe beim Zusammenstellen, Erzeugen und Bearbeiten grafischer Eingaben im allgemeinen und insbesondere von Signalformdaten verwendet wird. Zur Verwendung mit dieser Routine sind verschiedene Digitalzustandsdefinitionen und Logikregeln vorgesehen. A fourth program to be used with Epic is the wavedit routine that can help with Compile, create and edit graphic Entries in general and in particular from Waveform data is used. For Use With This Various digital state definitions and are routine Logic rules provided.  

Die verschiedenen Regelmakros und Regeldateien, die voranstehend beschrieben wurden, sind ursprünglich beispielsweise auf einer Harddisk oder einer Softdisk gespeichert, die in den Speicher 28 eingeführt werden kann oder ein Teil dieses Speichers ist. Standardregeldateien werden typischerweise von dem Bereitsteller des Systems zur Verfügung gestellt. Die Makros und die Regeldateien sind in einer interpretativen Ausdehnungssprache geschrieben, die sowohl von Menschen als auch von der Maschine lesbar sind. Die Makros und Rulen können in einer existierenden Ausdehnungssprache geschrieben sein, beispielsweise LISP, sind jedoch vorzugsweise in einer speziellen Sprache geschrieben, die speziell für diesen Einsatzzweck angepaßt ist. Die Makros und die Regeln können sämtlich in derselben Sprache geschrieben sein, oder es können unterschiedliche interpretative Ausdehnungssprachen für unterschiedliche einzelne oder mehrere Dateien verwendet werden, so daß in jedem Fall die optimale Sprache verwendet wird. Zwar werden Beispiele für eine geeignete interpretative Ausdehnungssprache bei einigen der folgenden Beispiele erläutert, jedoch stellt die bestimmte, verwendete Sprache keinen Teil der Erfindung dar.The various control macros and control files described above are originally stored, for example, on a hard disk or a soft disk that can be inserted into or part of the memory 28 . Standard rule files are typically provided by the system provider. The macros and the rule files are written in an interpretive extension language that can be read by both humans and the machine. The macros and rules can be written in an existing expansion language, for example LISP, but are preferably written in a special language that is specially adapted for this purpose. The macros and the rules can all be written in the same language, or different interpretive extension languages can be used for different single or multiple files, so that the optimal language is used in each case. While examples of a suitable interpretive extension language are illustrated in some of the following examples, the particular language used does not form part of the invention.

Allerdings ist es wesentlich, daß die verschiedenen Regeln und Makros in einer interpretativen Ausdehnungssprache geschrieben sind, so daß eine Person, die als ein "Toolintegrator" bezeichnet wird, die für den Benutzer arbeitet, die Standardregeln und Dateien überprüfen kann, die von dem System bereitgestellt werden, und Makros und Regeldateien modifizieren, hinzufügen oder subtrahieren kann, wie dies erforderlich ist, um das System an die Anforderungen des Benutzers anzupassen. Derartige Änderungen können vorgenommen werden, wenn das System zuerst empfangen wird, und können von Zeit zu Zeit daraufhin unternommen werden, um Aktualisierungen oder Vergrößerungen des Systems widerzuspiegeln, die zur Korrektur von Fehlern vorgenommen werden, die sich beim Betrieb des Systems ergeben haben, oder um neue Softwaretools in das System zu integrieren. Wichtig ist hierbei, daß nur der Toolintegrator die Änderungen bemerken muß. Sobald er derartige Änderungen in die Regelmakros eingebaut hat, werden derartige Änderungen automatisch von dem System durchgeführt, ohne daß der Systemoperator die Änderungen wahrnehmen muß, oder die Tatsache, daß sie eingegeben wurden. Insoweit derartige Änderungen Eingaben von dem Benutzer erfordern, können Aufforderungen für den Benutzer vorgesehen werden, um sicherzustellen, daß er erforderliche Eingaben zur Verfügung stellt. Falls die Bedienungsperson eine Aufforderung nicht versteht, so kann ein Menü oder, gemäß einer weiteren Zielrichtung des Systemablaufs, eine "Hilfe" -Funktion verfügbar sein, um den Benutzer mit erforderlicher Information zu versorgen.However, it is essential that the different rules and macros in an interpretive language of expansion are written so that a person who acts as a "Tool Integrator" is referred to that for the user works that can check standard rules and files provided by the system, and macros and Modify, add or subtract rule files can as required to connect the system to the Customize user requirements. Such Changes can be made if the system  is received first, and may from time to time thereupon be taken to updates or System magnifications reflecting the Correction of errors made in the Operation of the system have resulted, or new ones Integrate software tools into the system. Important is here that only the tool integrator made the changes must notice. Once he made such changes in the Such built-in changes are implemented in control macros automatically performed by the system without the System operator must notice the changes, or the Fact that they were entered. To that extent Changes may require input from the user Prompts are provided to the user ensure that he has required inputs to Provides. If the operator has one Does not understand the prompt, so a menu or, according to a further goal of the system flow, a "Help" function will be available to the user with to provide necessary information.

Auf diese Weise sind derartige Änderungen für den Benutzer vollständig transparent, und alles, was er wissen muß, ist der Prozeß, der er durchführen möchte. Durch Bereitstellung der Makros und der Regel in der interpretativen Ausdehnungssprache können einfach Änderungen einer Datei durchgeführt werden, die dann von dem Toolintegrator oder einer anderen Person, welche die Änderungen vornimmt, überprüft werden können, und können sofort auf dem System ablaufen, ohne daß es erforderlich ist, daß das Programm einem Compiler zugeschickt wird, um kompiliert zu werden, bevor es dem System eingegeben wird, damit es ablaufen kann. Dies vereinfacht wesentlich die Erzeugung und Überprüfung der Regelmakros und Dateien und verringert die Zeit, die dafür erforderlich ist, Umkonfigurierungen in das System einzugeben. Ein System, welches einfach konfigurierbar und umkonfigurierbar durch den Benutzer/Kunden ist, wird auf diese Weise zur Verfügung gestellt.In this way, such changes are for the user completely transparent, and all he needs to know is the process he wants to perform. By Provision of the macros and usually in the interpretive extension language can be simple Changes to a file are made by the tool integrator or another person who Makes changes, can be reviewed, and can immediately run on the system without it being necessary is that the program is sent to a compiler to to be compiled before it is entered into the system so that it can expire. This significantly simplifies the Creation and review of control macros and files and  reduces the time it takes To enter configurations into the system. A system, which is easily configurable and reconfigurable by is the user / customer in this way Provided.

Fig. 2 erläutert ein Format, in welchem die verschiedenen Regelmakros und andere voranstehend beschriebene Dateien auf einer Disk oder einem anderen Speichermedium gespeichert werden können, welches dem Benutzer für dieses System zur Verfügung steht. Die exakte Reihenfolge, in welcher die Regeln gespeichert werden, ist nicht kritisch, solange geeignete Adressen oder andere Einrichtungen vorgesehen sind, um ein bestimmtes Makro oder eine bestimmte Datei zurückzuholen, wenn dies erforderlich ist. Figure 2 illustrates a format in which the various control macros and other files described above can be stored on a disc or other storage medium available to the user for this system. The exact order in which the rules are stored is not critical as long as suitable addresses or other means are provided to retrieve a particular macro or file when necessary.

Aus den Fig. 6A und 6B wird zusammengenommen deutlich, daß zu Erläuterungszwecken der erste in der Disk gespeicherte Gegenstand ein Regelmakroabschnitt 90 ist, wobei dieser Abschnitt zusammen mit dem Haupt-Epic-Programm verwendet wird. Dieser Abschnitt beginnt mit einer Vorlaufmarke, welche diesen Abschnitt so bezeichnet, daß er Epic-Regeln enthält. Dann gibt es eine Anzahl an Kommentaren einschließlich bestimmter juristischer Information, beispielsweise Urheberrechtshinweise, und Kommentare an die Benutzer. Ein bestimmter Kommentar könnte den Toolintegrator des Benutzers darüber informieren, daß jedes Softwaretool, welches auf dem System ablaufen soll, in dem Definitionsabschnitt der Epic-Regel-Datei aufgelistet werden muß, oder sonst nicht lauffähig wäre.From FIGS. 6A and 6B taken together clear that for illustrative purposes the first stored in the disc object of a control macro section 90 is, this portion is used together with the main Epic program. This section begins with a leader, which designates this section as containing Epic rules. Then there are a number of comments including certain legal information, such as copyright notices, and comments to users. A specific comment could inform the user's tool integrator that any software tool that is to run on the system must be listed in the definition section of the epic rule file or would otherwise not be executable.

Den Kommentaren folgt ein Definitionsabschnitt für die Softwaretools. In diesem Abschnitt ist jedes Softwaretool, welches auf dem System ablaufen soll, aufgelistet, und verschiedene Information, dieses Tool betreffend, wird bereitgestellt. Windows beispielsweise gibt an, ob das Softwaretool seine eigenen Anzeigen erzeugt, oder ob es Hilfe von dem Betriebssystem erfordert, in diesem Fall dem Epic-System, um Anzeigen zu erzeugen. Der Standardzustand ist der, daß keine Hilfe erforderlich ist, wobei "Window" angezeigt wird, wenn Hilfe erforderlich ist. Der wichtigste Gegenstand bezüglich der vorliegenden Erfindung ist die Anzeige von "Keine Verpackung". Ein Programm, welches "Keine Verpackung" enthält, ist ein Programm, welches mit Epic-Programm kompatibel ist und daher nicht eingekapselt werden muß (es sind keine Interpretationen für Übertragungen zwischen dem Softwaretool und Epic erforderlich). Der Standardzustand ist "Verpackung", was bedeutet, daß jedes Softwaretool, welches nicht die Anzeige "Keine Verpackung" in dem Definitionsabschnitt aufweist, eingekapselt wird. Die anderen Informationen, die in dem Definitionsabschnitt vorgesehen sind, sind Standardbefehlszeilenoptionen für das Tool.The comments are followed by a definition section for the Software tools. In this section, every software tool which should run on the system, listed, and  various information regarding this tool provided. Windows, for example, indicates whether that Software tool generates its own ads, or whether it Help from the operating system is required, in this case the Epic system to generate ads. The default state is that no help is needed, with "Window" appears when help is needed. Of the most important subject regarding the present invention is the display of "no packaging". A program, which contains "no packaging" is a program which is compatible with the Epic program and therefore not must be encapsulated (they are not interpretations for transfers between the software tool and Epic required). The default state is "packaging" what means that any software tool that is not the "No packaging" display in the definition section encapsulated. The other information which are provided in the definition section Standard command line options for the tool.

Die nächsten beiden Abschnitte sind die "Anfangssätze" und stellen im wesentlichen die Standardausführung dar, wenn nichts anderes angezeigt wird, was ausgeführt werden soll. In diesem Fall ist die Standardausführung "Epic View", nämlich das Programm, das zur Steuerung von Anzeigen für Epic verwendet wird. "Epic View" veranlaßt, daß eine Anzeige, wie beispielsweise die, die in Fig. 5 gezeigt ist, auf dem Bildschirm in der Standardsituation erscheint.The next two sections are the "Beginning Sentences" and are essentially the standard version unless otherwise indicated what should be done. In this case, the standard version is "Epic View", namely the program that is used to control displays for Epic. "Epic View" causes a display such as that shown in Fig. 5 to appear on the screen in the standard situation.

Den Schluß der Epic-Regeln stellt der Makroabschnitt dar, der mehrere Makros enthält, im allgemeinen eines für jede Funktion, die auf dem System durchgeführt werden soll. Jedes Makro enthält eine Ursprungsbeschreibung in Englisch der Funktion, die von dem Makro durchgeführt wird, hauptsächlich für den Toolintegrator des Benutzers, und einen Satz von Regeln oder Befehlen, die in einer vorbestimmten Reihenfolge ausgeführt werden sollen, um die Funktion des Makros auszuführen. Wie voranstehend erläutert, sind diese in einer interpretativen Ausdehnungssprache beschrieben, die sowohl für den Menschen als auch die Maschine lesbar ist. Das bestimmte Makro, welches in Fig. 6A gezeigt ist, ist für ein Tool mit der Bezeichnung "cadat" bestimmt und führt eine Anzahl von Funktionen unter Verwendung von Routinen durch, die später erläutert werden. Die ersten zwei Holbefehle stellen vorher festgelegte Variablen für den ersten und zweiten Parameter ein, die jeweils in das Makro eingegeben werden. Der nächste Befehl gibt an, daß dann, wenn die Variable "schedit_up" "YES" (Ja) eingestellt ist (als Ergebnis eines vorherigen Vorgangs), eines von zwei Dingen passieren kann. Wurde die Variable "hi_type" vorher auf einen Wert "sim" eingestellt, dann wird eine erste Nachricht unter Beteiligung der Routine dv an das Tool "schedit" geschickt, während dann, wenn "hi_type" nicht auf "sim" eingestellt ist, eine andere Nachricht unter Beteilung der Routine "Wavedit" geschickt wird. Ist "scheidit_up" nicht auf "YES" eingestellt, so wird die angezeigte Nachricht an den auf rufenden Prozeß des Makros zurückgeschickt.The end of the Epic rules is the macro section, which contains several macros, generally one for each function to be performed on the system. Each macro contains an original description in English of the function performed by the macro, primarily for the tool integrator of the user, and a set of rules or commands to be executed in a predetermined order to perform the function of the macro. As explained above, these are described in an interpretive language of extension that is readable by both humans and machines. The particular macro shown in Figure 6A is for a tool called "cadat" and performs a number of functions using routines that will be explained later. The first two fetch commands set predefined variables for the first and second parameters, which are each entered in the macro. The next command specifies that if the "schedit_up""YES" variable is set (as a result of a previous operation), one of two things can happen. If the "hi_type" variable was previously set to a "sim" value, a first message is sent to the "schedit" tool with the involvement of the dv routine, while another one if "hi_type" is not set to "sim" Message is sent with the involvement of the "Wavedit" routine. If "scheidit_up" is not set to "YES", the displayed message is sent back to the macro calling process.

Das in Fig. 6B gezeigte Makro ist ein Makro für die Routine Packager (pkgr), und zwar würde, obwohl eine Beschreibung in normalem Englisch der Funktion der Routine nicht in Fig. 6B vorgesehen ist, das Makro tatsächlich normalerweise eine derartige Beschreibung zur Verwendung durch den Programmintegrator enthalten. Packager stellt ein externes Tool dar, welches zumindest hinsichtlich einiger Einzelheiten mit Epic inkompatibel ist und daher eingekapselt werden muß. Wie nachstehend erläutert wird, wird auf derartige Tools in den "Whilexec"-Tools des Systems Bezug genommen. Die ersten drei Befehle in diesem Makro, ebenso wie die für das vorherige Makro, betreffen die Einstellung bestimmter vorher definierter Variablen auf angegebene Werte. Der vierte Befehl gibt an, daß dann, wenn die Variable mit dem Namen "pkgr_file" leer ist, eine der Variablen, die ursprünglich eingestellt war, eine Fehlernachricht zurück an den auf rufenden Prozeß geschickt werden sollte. Anderenfalls wird eine Nachricht an den aufrufenden Prozeß geschickt, daß das Tool pkgr beginnt. Die Whilexec-Anzeige sagt, daß dieses Tool eingekapselt werden soll und daß insbesondere bei der Ausführung dieses Tools sämtliche Ausgaben von pkgr durch die folgenden Regeln interpretiert werden:The macro shown in FIG. 6B is a macro for the Packager (pkgr) routine, and although a description of the routine operation is not provided in FIG. 6B in normal English, the macro would actually normally have such a description for use by included the program integrator. Packager is an external tool that is at least in some details incompatible with Epic and therefore has to be encapsulated. As discussed below, such tools are referenced in the system's "Whilexec" tools. The first three commands in this macro, like those for the previous macro, concern setting certain previously defined variables to specified values. The fourth command indicates that if the variable named "pkgr_file" is empty, one of the variables that was originally set should send an error message back to the calling process. Otherwise a message is sent to the calling process that the tool pkgr starts. The Whilexec display says that this tool should be encapsulated and that, especially when this tool is running, all output from pkgr is interpreted by the following rules:

  • 1. Wenn die Textzeile, die von "pkgr" zurückgegeben wird, das Wort "error" (Fehler) enthält, dann wird eine Variable mit dem Namen "pkgr_statuis" auf "errors" gesetzt.1. If the line of text returned by "pkgr" If the word contains "error", then a Variable with the name "pkgr_statuis" set to "errors".
  • 2. Wenn bei Beendigung des Prozesses "pkgr" der Prozeß mit einem Fehlerstatus verlassen wird, dann schicke eine Nachricht an den aufrufenden Prozeß mit einem Fehler.2. If at the end of the process "pkgr" the process with an error status, then send one Message to the calling process with an error.
  • 3. Ist der pkgr_status o.k., dann schließe das Fenster, in welchem Packager gelaufen ist, und schicke eine Nachricht an den aufrufenden Prozeß, daß alles gut abgelaufen ist.3. If the pkgr_status is ok, then close that Window in which Packager ran and send a message to the calling process that all is well has expired.
  • 4. Anderenfalls lasse das Fenster offen und schicke eine Nachricht, welche einen Fehler angibt.4. Otherwise, leave the window open and send a message indicating an error.

Wie voranstehend erläutert, ist die exakte, in den Makros verwendete Sprache nicht kritisch, und die Beispiele wurden hauptsächlich zu dem Zweck gebracht, um zu erläutern, wie Makros die Abfolge des Betriebs und die Einkapselung eines inkompatiblen Tools steuern können. Als Anlage A ist ein Handbuch mit dem Titel "Schematic Design Tools - Administrative Guide - Theda Revision 1.0" beigefügt, welches insbesondere im Abschnitt 3 eine bestimmte Sprache beschreibt, die für die Makros in der bevorzugten Ausführungsform verwendet wird und weitere Einzelheiten des Betriebs bei der bevorzugten Ausführungsform zur Verfügung stellt. Dieses Dokument sollte nicht gedruckt werden.As discussed above, the exact language used in the macros is not critical, and the examples have been provided primarily to explain how macros can control the sequence of operation and the encapsulation of an incompatible tool. Attached to Appendix A is a manual entitled "Schematic Design Tools - Administrative Guide - Theda Revision 1.0", which describes in section 3 in particular a specific language which is used for the macros in the preferred embodiment and further details of the operation at preferred embodiment. This document should not be printed.

Zwar sind in Fig. 6A und 6B nur zwei Makros gezeigt, jedoch wären normalerweise hunderte oder sogar tausende von Makros in einem bestimmten System vorhanden, wobei die Anzahl der Makros von der Anzahl an Prozessen abhängt, welche das System durchführen können soll.While only two macros are shown in Figures 6A and 6B, there would normally be hundreds or even thousands of macros in a particular system, the number of macros depending on the number of processes that the system should be able to perform.

Abschnitt 92 des Speichers enthält GRM-Dateien für jede Übersetzung, die das System durchführen muß. Eine getrennte GRM-Datei ist für eine Übersetzung vom Tool A zum Tool B und für eine Übersetzung vom Tool B zum Tool A erforderlich. Es gibt daher zwei GRM-Dateien für jeweils zwei bezüglich der Sprache inkompatible Tools, die in dem System verwendet werden. Jede GRM-Datei enthält eine Sequenz von Regeln, die zur Durchführung von Übersetzungen von Namen zwischen den beiden inkompatiblen Tools verwendet werden können. Weiterhin kann eine Auflistung zumindest ausgewählter Namen in dem Ursprungsprogramm zusammen mit den entsprechenden Namen in dem Ausgabeprogramm zur Verfügung gestellt sein.Section 92 of the memory contains GRM files for each translation that the system must perform. A separate GRM file is required for a translation from Tool A to Tool B and for a translation from Tool B to Tool A. There are therefore two GRM files for two language-incompatible tools that are used in the system. Each GRM file contains a sequence of rules that can be used to perform name translations between the two incompatible tools. Furthermore, a list of at least selected names in the original program can be provided together with the corresponding names in the output program.

Abschnitt 94 des Speichers enthält die dv-Regeldateien, welche Regeldateien für die Eingabe von Eingaben oder die Übersetzung von Eingaben für das System darstellen. Diese Dateien enthalten neben anderen Dingen Standardeingaben für jede Stufe in jedem Softwaretool, in welcher Eingaben erforderlich sind. Die Standardanzeige, die durch diese Regeln hervorgerufen wird, kann - falls erforderlich - eine Anzeige enthalten, daß bestimmte Information von dem Benutzer zur Verfügung gestellt werden muß und kann auch eine Anzeige zusätzlicher wahlweiser Information zur Verfügung stellen, die der Benutzer zur Verfügung stellen kann.Section 94 of the memory contains the dv control files, which are control files for the input of input or the translation of input for the system. These files contain, among other things, standard inputs for each level in every software tool, in which inputs are required. The standard display caused by these rules may include, if necessary, an indication that certain information must be provided by the user, and may also provide a display of additional optional information that the user can provide.

Abschnitt 96 enthält Regeldateien für das RBI-Programm, welches von Epic benutzt wird. Diese stellen im wesentlichen Formatübersetzungsregeln für verschiedene Softwaretools dar, die bezüglich des Formats inkompatibel sind. Typischerweise gibt es einen Satz an RBI-Regeln, oder - mit anderen Worten - eine RBI-Regeldatei für jedes Paar von Softwaretools, die bezüglich des Formats inkompatibel sind.Section 96 contains rules files for the RBI program used by Epic. These essentially represent format translation rules for various software tools that are incompatible with regard to the format. Typically, there is a set of RBI rules, or - in other words - an RBI rules file for each pair of software tools that are incompatible with the format.

Abschnitt 98 enthält Dateien zur Verwendung in der Wavedit-Routine. Diese Dateien umfassen Zustandsdefinitionen, Logikregeln, Menüdateien und Befehlsquellendateien zur Verwendung durch die Wavedit-Routine. Der Inhalt und die Funktion jeder dieser Dateien wird später im Zusammenhang mit der Wavedit-Routine erläutert.Section 98 contains files for use in the Wavedit routine. These files include state definitions, logic rules, menu files, and command source files for use by the Wavedit routine. The content and function of each of these files will be explained later in connection with the Wavedit routine.

Wie voranstehend erwähnt, sind sämtliche in Fig. 2 gezeigten Dateien in einer interpretativen Ausdehnungssprache geschrieben, obwohl es nicht erforderlich ist, daß sie alle in derselben interpretativen Ausdehnungssprache geschrieben sind. As mentioned above, all of the files shown in Fig. 2 are written in an interpretive extension language, although it is not necessary that they are all written in the same interpretive extension language.

Fig. 4 ist ein Flußdiagramm der Epic-Hauptroutine, die zur Verwaltung und zur Steuerung des Betriebs des Systems verwendet wird. Wenn der Benutzer die Epic-Routine durch eine geeignete Eingabe in den Prozessor 22 aufruft, so besteht der Schritt 100, der erste Schritt, darin, die Regelmakros zu lesen, einschließlich der Definitionen und anderer Informationen, aus dem Bereich 90 des Speichers 28, und zwar in einen Arbeitsspeicher-RAM (Speicher mit wahlfreiem Zugriff) in dem Prozessor (Schritt 102). Dies ergibt eine Prozeßliste, die für jeden definierten Prozeß gebildet wird, wobei die Liste das Makro für einen derartigen Task enthält und weiterhin einen Raum enthält, in welchem eine Whilexec-Taskliste und eine suspendierte Taskliste für den gegebenen Task oder die gegebene Funktion gespeichert werden können. Die Gründe für die Whilexec- und die suspendierte Taskliste, die Art und Weise ihrer Erzeugung sowie ihre Funktion werden nachstehend erläutert. Während des Schrittes 106 wird eine Taskliste erzeugt, welche die Makros enthält, die vorher in das System eingelesen wurden. Während des Schrittes 108 wird eine Variablenliste erzeugt. Diese Liste bildet die Datenbasis für sämtliche Variablen, beispielsweise die zahlreichen Variablen, die im Zusammenhang mit den Fig. 6A und 6B beschrieben wurden, die von Epic verwendet und gespeichert werden. Daher geben die Schritte 104, 106 und 108 die Ausbildung der verschiedenen Listen an. Entweder während des Schrittes 102, 104, 106 oder 108, oder während des Schrittes 110, währenddessen andere Startfunktionen durchgeführt werden, können verschiedene Syntaxüberprüfungen oder andere Überprüfungen bei den Regeldateien vorgenommen werden, die in das System eingelesen werden, um sicherzustellen, daß sie keine Fehler enthalten. Während die Dateien, insbesondere die vom Hersteller zur Verfügung gestellten, normalerweise in Ordnung sein werden, gibt es auf in dem Stand der Technik bekannte Weise mehrere Arten, auf welche Fehler eingeführt werden können. Es ist daher anzuraten, und dies stellt in der Industrie die normale Praxis dar, Fehlerüberprüfungen durchzuführen, bevor man ein Programm ablaufen läßt. Figure 4 is a flow diagram of the main Epic routine used to manage and control the operation of the system. When the user calls the Epic routine by an appropriate input to processor 22 , step 100, the first step, is to read the rule macros, including definitions and other information, from area 90 of memory 28 , and to a random access memory (RAM) in the processor (step 102). This results in a process list that is formed for each defined process, the list containing the macro for such a task and further containing a space in which a Whilexec task list and a suspended task list for the given task or function can be stored . The reasons for the Whilexec and the suspended task list, the way in which they were created and their function are explained below. During step 106, a task list is created that contains the macros that were previously read into the system. A variable list is generated during step 108. This list forms the database for all variables, for example the numerous variables described in connection with FIGS. 6A and 6B that are used and stored by Epic. Steps 104, 106 and 108 therefore indicate the formation of the various lists. Either during step 102, 104, 106 or 108, or during step 110, during which other start functions are performed, various syntax checks or other checks can be made on the rule files that are read into the system to ensure that they are not errors contain. While the files, particularly those provided by the manufacturer, will normally be fine, there are several ways known in the art to introduce errors. It is therefore advisable, and this is the normal practice in the industry to do error checking before running a program.

Der Startschritt 110 kann auch einen Aufruf des Standard-Epic-View-Programms umfassen, welches eine Anzeige, beispielsweise die in Fig. 5 gezeigte Anzeige, einschließlich eines Menüs 112 von Ikons, von denen ein beispielhafter Satz auf der rechten Seite des Bildschirms in Fig. 5 gezeigt ist, zur Anzeige auf dem Bildschirm der Anzeige 30 veranlaßt. Der Benutzer nimmt Auswahlen aus dem Menü 112 vor, beispielsweise durch Bewegung eines Cursors (Zeigers) auf ein ausgewähltes Ikon, unter Verwendung einer Maus 26. Jedes Ikon zeigt eine bestimmte Funktion an, zu deren Ausführung das System ausgebildet ist. Die Auswahl eines gegebenen Ikons kann dazu führen, daß zusätzliche Ikons angezeigt werden, oder daß eine andere Art eines Menüs angezeigt wird, aus welchem der Benutzer eine detailliertere Auswahl vornehmen kann, bezüglich der durchzuführenden Funktion. Allerdings nimmt bei der bevorzugten Ausführungsform der Benutzer eine Auswahl von Tasks auf einem relativ hohen Niveau vor, und das System führt Entscheidungen aus, welche bestimmte Tasks betreffen, die durchgeführt werden sollen, um eine derartige Funktion zu erreichen.The start step 110 may also include a call to the standard Epic View program, which includes a display, such as the display shown in FIG. 5, including a menu 112 of icons, an exemplary set of which is on the right side of the screen in FIG . shown, is caused to display on the screen of the display 30. 5 The user makes selections from menu 112 , for example, by moving a cursor (pointer) onto a selected icon using a mouse 26 . Each icon indicates a specific function that the system is designed to perform. The selection of a given icon may result in additional icons being displayed, or another type of menu being displayed from which the user can make a more detailed selection regarding the function to be performed. However, in the preferred embodiment, the user selects tasks at a relatively high level, and the system makes decisions regarding certain tasks to be performed to achieve such a function.

Sobald die Startfunktionen, die im Zusammenhang mit Epic erforderlich sind, fertig sind, geht der Betriebsablauf zum Schritt 114 über und wartet auf eine Eingabe. Solange keine Eingabe empfangen wird, verbleibt das System in einem Haltestatus und wartet auf eine Eingabe. Wird eine Eingabe empfangen, so geht der Betriebsablauf zum Schritt 116 über, um zu ermitteln, aus welchem Softwaretool oder aus welcher anderen Quelle die Eingabe empfangen wurde. Wenn beispielsweise die Eingabe durch Auswahl eines Ikons aus dem Menü 112 der in Fig. 5 gezeigten Anzeige empfangen wurde, so wäre die Eingabe durch Epic View hindurchgekommen. Die Quelle, von welcher eine Eingabe empfangen wird, ist wesentlich, da dies es dem Epic-Programm gestattet, den Definitionsabschnitt seiner Regeldatei (siehe Fig. 6A) zu überprüfen, um festzulegen, welche Aktionen (falls überhaupt) in bezug auf Eingaben von dieser Quelle erforderlich sind. Insbesondere gestattet dies dem System zu ermitteln, ob Eingaben von dieser Quelle eingekapselt werden müssen.As soon as the start functions required in connection with Epic are finished, the operational flow moves to step 114 and waits for an input. As long as no input is received, the system remains in a hold status and waits for an input. If an input is received, the operational flow moves to step 116 to determine from which software tool or from which other source the input was received. For example, if the input was received by selecting an icon from menu 112 of the display shown in FIG. 5, the input would have passed through Epic View. The source from which input is received is essential as this allows the Epic program to check the definition section of its rules file (see Figure 6A) to determine what actions (if any) are taken on inputs from it Source are required. In particular, this allows the system to determine whether inputs from that source need to be encapsulated.

Vom Schritt 116 aus geht der Betrieb mit dem Schritt 118 weiter, um zu ermitteln, ob der Prozeß ein Beendigungsprozeß ist. Wie nachstehend erläutert wird, können einige Prozesse einen beträchtlichen Zeitraum bis zu ihrer Beendigung in Anspruch nehmen, manchmal bis zu mehreren Stunden, und es ist vorzuziehen, daß nicht das gesamte System besetzt ist, während derartige Prozesse ablaufen. Derartige Prozesse können beispielsweise auf einem anderen Gerät als dem Prozessor 22 ablaufen. Wenn daher derartige Prozesse ablaufen, hat das System die Option, die verbleibende Warteschlange der Funktionen zu speichern, die im Zusammenhang mit diesem Prozeß durchgeführt werden müssen, bis der Prozeß beendet ist. Die übrigen Tasks, die durchgeführt werden sollen, werden in dem Abschnitt der suspendierten Taskliste der Prozeßliste für den bestimmten Prozeß gespeichert.From step 116, operation continues to step 118 to determine if the process is a termination process. As discussed below, some processes can take a significant amount of time to complete, sometimes up to several hours, and it is preferable that the entire system not be busy while such processes are in progress. Such processes can, for example, run on a device other than the processor 22 . Therefore, when such processes are in progress, the system has the option to save the remaining queue of functions that must be performed in connection with that process until the process is complete. The remaining tasks to be performed are stored in the suspended task list section of the process list for the particular process.

Ist der Prozeß beendet, so stellt das die Funktion ablaufenlassende Softwaretool eine Eingabe an Epic zur Verfügung, die während des Schrittes 118 erkannt wird. If the process is finished, this is the function expiring software tool an input to Epic Available that is recognized during step 118.  

Dies veranlaßt den Betrieb, zum Schritt 120 überzugehen, während dem eine Ermittlung durchgeführt wird, ob für diesen bestimmten Prozeß irgendetwas anderes in der suspendierten Taskliste gespeichert war. War nichts gespeichert, dann muß bezüglich dieses Prozesses nichts weiteres erfolgen, und der Betrieb geht zum Schritt 114 zurück und wartet auf die nächste Eingabe. Ist für diesen Prozeß irgendetwas in der suspendierten Taskliste gespeichert, so geht der Betrieb zum Schritt 122 über, um Material in der momentanen Ausführungswarteschleife zu sparen. Die momentane Ausführungswarteschleife wird an einem vorbestimmten Ort in dem RAM des Prozessors gespeichert. Während dem Schritt 124, dem nächsten Schritt in dem Befehlsablauf, wird die Ausführungswarteschlange aus der suspendierten Taskliste für den Prozeß geladen, und dann geht der Betrieb zum Schritt 126 über, um sich den Inhalt der Ausführungswarteschlange anzusehen.This causes the operation to proceed to step 120 during which a determination is made as to whether for this particular process anything else in the suspended task list was saved. Was nothing stored, then nothing has to be done regarding this process and the operation goes to step 114 back and waits for the next entry. Is for this Process anything in the suspended task list stored, the operation proceeds to step 122 Material in the current execution queue save up. The current execution queue is on a predetermined location in the RAM of the processor saved. During step 124, the next step in the command flow, the execution queue loaded from the suspended task list for the process, and then the operation proceeds to step 126 to itself view the contents of the execution queue.

Wenn während des Schrittes 118 festgestellt wird, daß die Eingabe nicht von einem Beendigungsprozeß erfolgte, so geht der Betrieb zum Schritt 128 über, um die Eingabe zu lesen. Es erfolgt eine Ermittlung, entweder oder nach dem Schritt 128, ob die Eingabe von einem Whilexec-Prozeß stammt (Schritt 130). Wie voranstehend erläutert, ist ein Whilexec-Prozeß ein Prozeß, der ein Softwaretool betrifft, das bezüglich der Sprache nicht mit Epic kompatibel ist, und bei dem es daher erforderlich ist, daß sowohl Eingaben als auch Ausgaben interpretiert werden, bevor sie an das Tool ausgegeben werden. Die Interpretation kann eine Übersetzung umfassen und auch die Durchführung anderer Operationen umfassen, die dafür erforderlich sind, damit Übertragungen an das inkompatible Tool und von diesem zurück gültig sind. Die Definitionenliste der Epic-Regeln (Fig. 6) bezeichnet ein derartiges Softwaretool als eines, welches "verpackt" werden muß, wobei dies bei der bevorzugten Ausführungsform dadurch angezeigt wird, daß nicht das Wort "No Wrapper" neben dem Programmnamen in dem Definitionsabschnitt steht. Falls festgestellt wird, daß das Programm ein Whilexec-Programm oder -Prozeß ist, so wird die momentane Ausführungswarteschlange während des Schrittes 132 gerettet, und während des Schrittes 134 wird eine Ausführungswarteschlange, die vorher gespeichert wurde, auf eine nachstehend erläuterte Weise, in dem Whilexec-Tasklistenabschnitt der Prozeßliste für den bestimmten Prozeß in die Hauptausführungswarteschlange geladen. Diese Ausführungswarteschlange enthält Interpretationsregeln für den Empfang von Material von dem inkompatiblen Tool. Dann geht der Betrieb damit weiter, daß während des Schrittes 126 die Hauptausführungswarteschlange angesehen wird.If it is determined during step 118 that the input was not from a termination process, the operation proceeds to step 128 to read the input. A determination is made, either or after step 128, whether the input comes from a Whilexec process (step 130). As explained above, a Whilexec process is a process involving a software tool that is not language-compatible with Epic and therefore requires that both inputs and outputs be interpreted before they are output to the tool will. The interpretation may include translation, and may include performing other operations necessary for transfers to and from the incompatible tool to be valid. The definition list of the Epic rules ( Fig. 6) designates such a software tool as one that must be "packaged", which is indicated in the preferred embodiment by the fact that the word "No Wrapper" is not next to the program name in the definition section . If it is determined that the program is a Whilexec program or process, the current execution queue is saved during step 132 and during step 134 an execution queue that was previously saved is stored in the Whilexec in a manner discussed below -Tasklist section of the process list for the particular process loaded into the main execution queue. This execution queue contains interpretation rules for receiving material from the incompatible tool. Then operation continues with viewing the main execution queue during step 126.

Wenn während des Schrittes 130 festgelegt wird, daß die Eingabe nicht von einem Whilexec-Prozeß stammt, so wird die Eingabe, einschließlich sämtlicher Schritte, die für die Durchführung des bestimmten eingegebenen Prozesses nötig sind, während des Schrittes 126 in die Hauptausführungswarteschlange geladen. Während dieses Schrittes wird auch die Warteschlange betrachtet. Alle Schritte, die während des Epic-Betriebs durchgeführt werden sollen, werden in die Hauptausführungswarteschlange geladen und werden von dieser Warteschlange aus nach dem Prinzip "Zuerst herein, zuerst heraus" (FIFO) ausgeführt. Wenn daher diese Warteschlange leer ist, so bedeutet dies, daß von Epic nichts weiteres durchgeführt werden muß. Daher führt der Prozeß während des Schrittes 136 eine Ermittlung durch, ob die Warteschlange leer ist. Ist die Warteschlange leer, so geht der Betrieb mit dem Schritt 137 weiter, um festzustellen, ob die Ausführungswarteschlangen gerettet wurden. Wenn daher eine Ausführungswarteschlange während beispielsweise dem Schritt 122 oder dem Schritt 132 gerettet wurde, wird während des Schrittes 137 eine Ausgabe "YES" erhalten, welche den Betriebsablauf dazu veranlaßt, zum Schritt 139 überzugehen, um die gerettete Ausführungswarteschlange in die Hauptausführungswarteschlange zu laden. Dann kehrt der Betrieb zum Schritt 126 zurück, um die Hauptausführungswarteschlange zu überprüfen. Wenn während des Schrittes 137 festgestellt wird, daß keine Warteschlange gerettet wurde, so geht der Betrieb zum Schritt 114 zurück, um auf die nächste Eingabe zu warten.If it is determined during step 130 that the Input is not from a Whilexec process the input, including all steps necessary for performing the particular process entered are necessary during step 126 in the Main execution queue loaded. During this The queue is also considered step by step. All Steps performed during Epic operation should be in the main execution queue loaded and will be from this queue after the Principle "First in, first out" (FIFO) executed. Therefore, if this queue is empty, it means that nothing else needs to be done by Epic. Therefore, the process adopts step 136 Determined by whether the queue is empty. Is the Queue empty, so the operation goes to the step 137 to determine if the  Execution queues were saved. So if one Execution queue during, for example Step 122 or step 132 has been saved received an output "YES" during step 137, which causes the operation to proceed to step 139 to go over to the saved execution queue load the main execution queue. Then he returns Operation returns to step 126 to complete the Check main execution queue. If during step 137 determines that none Queue was saved, so the operation goes to Step 114 back to wait for the next input.

Ist die Warteschlange nicht leer, so geht der Betrieb zum Schritt 138 über, um festzustellen, ob diese Eingabe zum Aufruf eines Makros führt. Wenn während des Schrittes 138 festgestellt wird, daß diese Eingabe ein Task oder ein Prozeß ist, der zum Aufrufen eines Makros führt, dann geht der Betrieb zum Schritt 140 über, um den momentanen Inhalt der Hauptausführungswarteschlange zu retten und um das Makro für den gegebenen Task oder die gegebene Funktion während des Schrittes 142 aus der richtigen Taskliste in die Hauptausführungswarteschlange zu laden. Dann geht der Betrieb damit weiter, daß die Hauptausführungswarteschlange betrachtet wird. Da ein Makro in die Warteschlange geladen wurde, wäre diese nicht leer und würde keine weitere Tasklisteneingabe enthalten. Daher würde der Betrieb zum Schritt 144 übergehen, in welchem eine Ermittlung erfolgt, ob der nächste Gegenstand von der Hauptausführungswarteschlange ein interner Befehl ist. Ist er kein interner Befehl, dann gibt der Betriebsablauf eine entsprechende Fehleranzeige an das System und/oder den Benutzer während dem Schritt 145 aus und kehrt zum Schritt 126 zurück, um den nächsten Gegenstand in der Warteschlange zu betrachten. If the queue is not empty, the operation goes to Step 138 to determine if this input is for Calling a macro leads. If during step 138 it is determined that this input is a task or a Process is that leads to the call of a macro, then goes the operation goes to step 140 to get the current content the main execution queue and to save that Macro for the given task or function during step 142 from the correct task list in load the main execution queue. Then he leaves Operation so that the Main execution queue is considered. There a Macro would have been loaded into the queue, this would not be empty and would not contain any further task list entries. Therefore, operation would proceed to step 144 in FIG which determines whether the next item an internal command from the main execution queue is. If it is not an internal command, then it gives An appropriate error message to the System and / or user during step 145 and returns to step 126 for the next one Look at the item in the queue.  

Wenn während des Schrittes 144 festgestellt wird, daß der momentan betrachtete Gegenstand aus der Hauptausführungswarteschlange ein interner Befehl ist, so geht der Betrieb zum Schritt 146 über, um den Befehl auszuführen. Die Durchführung eines Befehls während des Schrittes 146 kann zum Aufruf eines weiteren Softwaretools führen, welches auf dem Prozessor 22 ablaufen soll, oder in einem anderen Gerät des Systems ablaufen soll. Es kann dazu führen, daß nur eine einzige Operation durchgeführt wird, oder zur Durchführung mehrerer Operationen. Insoweit während des Schrittes 146 festgestellt wird, daß eine Eingabe an ein inkompatibles Tool (also ein Whilexec-Tool) erforderlich ist, erscheinen Epic-Interpretationsregeln zur Durchführung einer derartigen Übertragung in dem Makro an dem Punkt, an welchem die Übertragung durchgeführt wird, oder durch eine geeignete Bezugnahme. Diese Interpretationsregeln werden auf jeden übertragenen Gegenstand von Epic an das Tool ausgeübt, so daß sämtliche Eingaben an das Tool auf eine Art und Weise behandelt werden, die sowohl für das Tool als auch für den Benutzer bzw. Operator transparent ist.If it is determined during step 144 that the currently viewed item from the main execution queue is an internal command, operation proceeds to step 146 to execute the command. The execution of a command during step 146 can lead to the call of a further software tool which is to run on the processor 22 or should run in another device of the system. It can result in only one operation being performed, or in multiple operations. Insofar as it is determined during step 146 that an input to an incompatible tool (i.e. a Whilexec tool) is required, Epic interpretation rules for performing such a transfer appear in the macro at the point at which the transfer is carried out or through an appropriate reference. These rules of interpretation are applied to every item transferred from Epic to the tool, so that all inputs to the tool are handled in a manner that is transparent to both the tool and the user or operator.

Wie voranstehend erwähnt, kann in einigen Fällen die Funktion, welche während des Schrittes 146 ausgeführt wird, bis zu ihrer Beendigung einige Stunden benötigen. Während der Schritt 146 durchgeführt wird, geht daher der Betrieb auch zum Schritt 148 über, um festzustellen, ob das System auf eine Prozeßausgabe warten möchte. Dies würde dann auftreten, wenn ein Whilexec-Tool abläuft, wobei es dann erforderlich ist, eine Ausgabe von dem Tool zu empfangen, wenn die Ausführung fertig ist, und eine Interpretation einer derartigen Ausgabe erforderlich ist, bevor sie als gültige Eingabe für Epic arbeiten kann. Gibt es während des Schrittes 148 eine Ausgabe "YES", so geht der Betrieb zum Schritt 150 über, um die Ausführungswarteschlange zur Prozeß-Whilexec-Taskliste in der Prozeßliste für den Prozeß zu bewegen, und kehrt dann zur Hauptausführungswarteschlange zurück, um andere Funktionen auszuführen, während auf eine Ausgabe von dem Whilexec-Tool gewartet wird. Ist eine Ausgabe von dem Whilexec-Tool fertig, so stellt sie eine Eingabe an das System dar und kommt durch den Schritt 114 herein. Dies wird während des Schrittes 130 erkannt und veranlaßt eine erneute Ladung der geretteten Ausführungswarteschlange während des Schrittes 134. Wie voranstehend erläutert, enthält diese gerettete Ausführungswarteschlange die Interpretationsregeln, die von der Einkapselung des Tools gefordert werden, um zu veranlassen, daß Ausgaben von dem Tool gültige Eingaben an Epic sind.As mentioned above, in some cases the Function performed during step 146 will take a few hours to complete. Therefore, while step 146 is being performed, the Operation also goes to step 148 to determine if the system wants to wait for a process output. This would occur when a Whilexec tool expires, an output from the tool is then required to receive when execution is complete, and a Interpretation of such output is required before it can work as valid input for Epic. Gives there is an output "YES" during step 148, so  the operation proceeds to step 150 to complete the Execution queue to process whilexec task list in to move the process list for the process, and then returns back to the main execution queue to others Functions to perform while on an output of that Whilexec tool is being serviced. Is an edition of that Whilexec tool finished, it makes an input to that System and comes in through step 114. This is recognized during step 130 and causes one Reload the saved execution queue during step 134. As discussed above, this saved execution queue contains the Interpretation rules by encapsulating the tool to be required to cause expenditure from the Tool are valid inputs to Epic.

Zur selben Zeit wird auch während des Schrittes 152 eine Überprüfung durchgeführt, um festzustellen, ob darauf gewartet werden soll, daß der durchgeführte Prozeß endet. Wenn gewartet werden soll, dann wird die Ausführungswarteschlange zur suspendierten Taskliste in den Fortschrittsdateien für den durchgeführten Prozeß bewegt, und der Betrieb kehrt zur Hauptausführungswarteschlange zurück. Da die Hauptausführu 71267 00070 552 001000280000000200012000285917115600040 0002004310615 00004 71148ngswarteschlange während des Schrittes 154 geleert wurde, stellt sich während des Schrittes 136 heraus, daß die Warteschlange leer ist, und der Betrieb kehrt zum Schritt 114 zurück, um auf eine neue Eingabe zu warten. Wenn der durchgeführte Prozeß schließlich endet, so wird von Epic eine Eingabe empfangen, die während des Schrittes 118 festgestellt wird und dazu führt, daß die gespeicherte suspendierte Taskliste während des Schrittes 124 erneut in die Hauptausführungswarteschlange geladen wird. At the same time, step 152 also becomes one Verification carried out to determine if there is any to wait for the process being performed to end. If you want to wait, then the Execution queue to suspended task list in the progress files for the process performed moves and operation returns to Main execution queue back. Since the Main Execution 71267 00070 552 001000280000000200012000285917115600040 0002004310615 00004 71148ngs queue during step 154 has been emptied, arises during step 136 out that the queue is empty and the operation returns to step 114 to start a new entry waiting. When the process ends an input is received from Epic during the Step 118 is determined and causes the saved suspended task list during the step 124 reloaded into the main execution queue becomes.  

Wenn während des Schrittes 152 festgestellt wird, daß das System nicht darauf warten will, daß der Prozeß endet, so kehrt das System zur Hauptausführungswarteschlange zurück, um den nächsten Schritt in der Warteschlange zu betrachten und, falls möglich, den Schritt auszuführen. Wenn zu diesem Zeitpunkt die Warteschlange leer ist, so geht der Betrieb zum Schritt 114 zurück, um auf die nächste Eingabe zu warten.If it is determined during step 152 that the System does not want to wait for the process to end, so the system returns to the main execution queue, to look at the next step in the queue and, if possible, perform the step. If too At this point in time the queue is empty Operation returns to step 114 to the next entry waiting.

Auf diese Weise wird ein auf Regeln basierendes Steuersystem zur Verfügung gestellt, welches die Verwaltung durchzuführender Tasks gestattet und die zeitliche Abfolge der Tasks steuert. Weiterhin steuert das System sowohl Eingaben von bezüglich der Sprache inkompatiblen Softwaretools und Ausgaben von diesen durch Einkapseln derartiger Tools und Durchführung der erforderlichen Übersetzungen bei Eingaben und Ausgaben auf eine Weise, die für den Benutzer und die Softwaretools transparent sind. Epic ist auch dazu fähig, die anderen, nachstehend beschriebenen Softwaretools aufzurufen, soweit dies erforderlich ist, um verschiedene Übersetzungsfunktionen und Datensammelfunktionen, je nach Erfordernis, durchzuführen.In this way it becomes a rule based Tax system provided which the Management of tasks to be carried out and the controls the chronological sequence of the tasks. It also controls System both inputs from regarding the language incompatible software tools and expenses from them Encapsulation of such tools and implementation of the required translations for input and output a way that is for the user and software tools are transparent. Epic is also capable of software tools described below, if available this is required to be different Translation functions and data collection functions, depending on Need to perform.

Ein Modul, welches zusammen mit Epic verwendet werden kann und welches je nach Erfordernis von unterschiedlichen Tools oder Routinen aufgerufen wird, ist das allgemeine Umbenennungsmodul (GRM), welches die Hauptübersetzungsroutinen enthält, die von dem System für Übertragungen zwischen Tools benutzt werden, welche unterschiedliche Zeichenketten (also Namen) für einen bestimmten Gegenstand oder andere Bedeutungen benutzen (also bezüglich des Namens inkompatible Tools). GRM kann auch dann verwendet werden, wenn Information auf mehreren unterschiedlichen Hierarchieniveaus in einem vorgegebenen Tool verwendet wird, oder Tools mit unterschiedlichen Namen für denselben oder einen entsprechenden Gegenstand an den unterschiedlichen Niveaus verwendet werden. Der Begriff "Bezüglich des Namens inkompatible Tools" bezeichnet manchmal auch diesen Zustand. GRM umfaßt verschiedene unterschiedliche Routinen, die durch verschiedene Anwendungsprogramme oder durch Epic je nach Erfordernis aufgerufen werden können, wenn Namensübersetzungen erforderlich sind, oder für andere Zwecke, die nachstehend erläutert werden.A module that can be used with Epic and which depending on the requirements of different Tools or routines called is general Renaming module (GRM), which the Main translation routines included by the system for Transfers between tools are used which different strings (i.e. names) for one use certain object or other meanings (i.e. incompatible tools in terms of name). GRM can can also be used when information on multiple  different hierarchy levels in a given Tool is used, or tools with different Names for the same or a corresponding item be used at different levels. Of the Term "Tools incompatible with the name" sometimes also denotes this state. GRM includes different different routines through different application programs or by Epic depending on Requirement can be called when Name translations are required, or for others Purposes explained below.

Wie voranstehend erwähnt, werden GRM-Dateien im Bereich 92 gespeichert, welcher einen Regelsatz zur Durchführung von Übersetzungen zwischen jeweils zwei bezüglich des Namens inkompatiblen Softwaretools enthält, die in dem System verwendet werden können. Wenn eine Anwendung läuft, welche eine Übersetzung zwischen einem Originalnamen in einem Softwaretool, beispielsweise einem anderen Programm, welches Daten an das bestimmte Anwendungsprogramm schickt, und einem erzeugten Namen in einem zweiten Programm erfordert, welches derartige Daten empfängt, beispielsweise dem Anwendungsprogramm selbst, so fordert das Anwendungsprogramm die Erzeugung eines "Bildschirms" an, welcher die geeigneten Regeln empfängt und speichert, und auch einen Raum zur Verfügung stellt, in welchem Namensübersetzungen, die unter Verwendung der Regeln in dem Bildschirm erzeugt werden, für zukünftige Fälle gespeichert werden.As mentioned above, GRM files are stored in area 92 , which contains a set of rules for performing translations between two software tools that are incompatible by name and that can be used in the system. When an application is running that requires translation between an original name in a software tool, such as another program that sends data to the particular application program, and a generated name in a second program that receives such data, such as the application program itself the application program creates a "screen" that receives and stores the appropriate rules, and also provides a space in which name translations generated using the rules on the screen are stored for future use.

Fig. 7 ist ein Flußdiagramm der Schritte, die bei der Erzeugung eines Bildschirms zur Verwendung in einer bestimmten Übersetzung beteiligt sind. Der Prozeß beginnt mit dem Schritt 170, in welchem eine Anforderung nach einem Bildschirm von einem Anwendungssoftwaretool oder von einem der anderen Tools oder einer der anderen Routinen empfangen wird, die einen Teil der vorliegenden Erfindung bilden, beispielsweise RBI. Wird eine Anforderung empfangen, so wird eine Überprüfung durchgeführt, um zu ermitteln, ob die Benutzerregeldatei neu ist, oder - in anderen Worten - ob diese Regeln vorher verwendet wurden, um einen Bildschirm zu erzeugen (Schritt 172). Wurden die Regeln schon vorher zur Erzeugung eines Bildschirms verwendet, dann müssen bestimmte Vorlaufvorgänge nicht ausgeführt werden, und der Betrieb geht zum Schritt 174 über, um sich die Regeln zu holen, und dann zum Schritt 176, um einen Bildschirm zu erzeugen und die Regeln in dem Bildschirm zu speichern. Dann wird der Bildschirm an einem ausgewählten Ort in dem RAM des Prozessors 22 gespeichert, und dem Anwendungsprogramm wird die Adresse mitgeteilt, in welcher der Bildschirm gespeichert ist (Schritt 178). Figure 7 is a flow diagram of the steps involved in creating a screen for use in a particular translation. The process begins at step 170, in which a request for a screen is received by an application software tool or by one of the other tools or routines that form part of the present invention, for example RBI. If a request is received, a check is made to determine whether the user rule file is new or, in other words, whether these rules were previously used to create a screen (step 172). If the rules have previously been used to create a screen, then certain pre-operations need not be performed and operation proceeds to step 174 to get the rules and then to step 176 to create a screen and the rules in save the screen. The screen is then stored in a selected location in the RAM of the processor 22 and the application program is informed of the address in which the screen is stored (step 178).

Wenn, wie gewöhnlich, die Regeln nicht vorher in einem Bildschirm gespeichert wurden, so geht der Betrieb vom Schritt 172 zum Schritt 180 über, um verschiedene Verwaltungsfunktionen durchzuführen, die zum Öffnen des neuen Bildschirms erforderlich sind. Dann geht der Betrieb zum Schritt 182 über, in welchem die Regeln von der Datei gelesen werden, und, soweit erforderlich, in eine Form umgewandelt werden, die von GRM oder dem Anwendungsprogramm genutzt werden kann. Wenn beispielsweise der die Regeln enthaltende Bildschirm von einem Anwendungsprogramm benutzt werden soll, so kann eine gewisse Interpretation der Regeln erforderlich sein, so daß sie mit einem derartigen Programm kompatibel sind. Die modifizierten Regeln werden dann während des Schrittes 184 gespeichert und in den Bildschirm gebracht, der in dem Schritt 176 eingerichtet wurde. Dann geht der Betrieb zum Schritt 178 über, um den Bildschirm zu speichern und Information bezüglich der Adresse zur Verfügung zu stellen, in welcher der Bildschirm gespeichert ist, für geeignete Softwaretools.If, as usual, the rules are not in one Operation has been saved Step 172 to step 180 for various Perform administrative functions that open the new screen are required. Then the business goes to step 182 where the rules from the file be read and, if necessary, in a form to be converted by GRM or the Application program can be used. If for example, the rules screen from an application program is to be used, a certain interpretation of the rules may be necessary, so that they are compatible with such a program. The modified rules are then generated during step 184 saved and brought to the screen that in the Step 176 has been set up. Then the company goes to  Step 178 over to save the screen and Information regarding the address is available too in which the screen is stored for suitable software tools.

Fig. 8 ist ein Flußdiagramm eines Prozesses, der dazu verwendet werden kann, für den Benutzer spezifische Daten einem Bildschirm zuzufügen oder derartige Daten aus einem Bildschirm zurückzuholen. Die Umgebung, in welcher der Prozeß von Fig. 8 eingesetzt werden kann, ist beispielsweise eine solche Umgebung, daß eine bestimmte Art von Information in dem Ursprungsprogramm durch das Programm hindurch zerstreut ist, während derartige Daten als ein Block in dem Empfangsprogramm aufrechterhalten werden. Es wäre wünschenswert, wenn derartige Daten als ein Block übertragen werden könnten, und der Bildschirm stellt eine Einrichtung zur Erreichung dieses Ziels zur Verfügung. Insbesondere kann der Systemhersteller eines Anwendungstools für das System oder möglicherweise der Toolintegrator des Benutzers feststellen, daß beim Aufruf eines bestimmten Namens, oder wenn ein bestimmter Bildschirm aufgerufen wird, ausgewählte Daten an das empfangende Tool mit dem gegebenen Namen oder durch den Bildschirm übertragen werden sollten. Figure 8 is a flow diagram of a process that can be used to add or retrieve user-specific data from a screen. The environment in which the process of Fig. 8 can be used is, for example, such an environment that a certain type of information in the source program is scattered throughout the program while such data is maintained as a block in the receiving program. It would be desirable if such data could be transmitted as a block, and the screen provides a means to accomplish this. In particular, the system manufacturer of an application tool for the system, or possibly the user's tool integrator, can determine that when calling up a certain name or when a certain screen is called up, selected data should be transmitted to the receiving tool with the given name or through the screen.

In Fig. 8 gibt während des Schrittes 190 die Partei, welche die Daten hinzufügt, an, daß sie benutzerspezifische Daten einem gegebenen Namen oder Bildschirm für ein gegebenes Anwendungstool hinzufügen möchte. Während des Schrittes 192 erfolgt eine Überprüfung, um festzustellen, ob der Bildschirm in dem System existiert. Existiert der Bildschirm nicht, so stellt dies einen Fehlerzustand dar, und die Partei, welche Daten hinzufügt, wird hierüber während des Schrittes 194 informiert. Typischerweise würde diese Information durch eine geeignete Benachrichtigung auf einer Anzeige, wie Beispiel der Anzeige 30, zur Verfügung gestellt.In Fig. 8, during step 190, the party adding the data indicates that it wants to add custom data to a given name or screen for a given application tool. A check is made during step 192 to determine if the screen exists in the system. If the screen does not exist, this is an error condition and the party adding data is informed of this during step 194. Typically, this information would be provided by appropriate notification on a display, such as display 30 .

Existiert der Bildschirm, so geht der Betrieb zum Schritt 196 über, um zu ermitteln, ob das hinzuzufügende Material einem bestimmten Namen zugeordnet ist. Wenn das hinzugefügte Material einem bestimmten Namen zugeordnet werden soll, so wird es dem erzeugten Namen hinzugefügt, der innerhalb des Namens in dem Bildschirm gespeichert ist. Wenngleich dies nicht in Fig. 8 gezeigt ist, kann es auch einen Fehler darstellen, wenn die Daten mit einem gegebenen Namen gespeichert werden sollen und dieser Name nicht existiert. Wenn während des Schrittes 196 festgestellt wird, daß die hinzugefügten Daten nicht mit einem bestimmten Namen gespeichert werden müssen, sondern mit dem Bildschirm gespeichert werden sollen und an das empfangene Tool übertragen werden sollen, immer dann, wenn auf den Bildschirm zugegriffen wird, dann geht der Betrieb zum Schritt 200 über, um Daten dem Bildschirm zuzufügen. Unter einigen Umständen kann der Schritt 200 auch in dem Fall ausgeführt werden, in welchem der Name, mit welchem die Daten gespeichert werden sollen, nicht in dem Bildschirm existiert.If the screen exists, operation proceeds to step 196 to determine if the material to be added is associated with a particular name. If the added material is to be assigned a specific name, it is added to the generated name that is stored within the name on the screen. Although not shown in Figure 8, it can also be an error if the data is to be saved with a given name and that name does not exist. If it is determined during step 196 that the added data does not have to be saved with a specific name, but should be saved with the screen and transmitted to the received tool, whenever the screen is accessed, then it goes Operation to step 200 to add data to the screen. In some circumstances, step 200 can also be performed in the case where the name with which the data is to be saved does not exist on the screen.

Wenn ein Anwendungsprogramm (Tool) einen bestimmten Namen oder Bildschirm anfordert, Schritt 202, führt das System eine Überprüfung durch, um festzustellen, ob der Bildschirm existiert, Schritt 204, und erzeugt ein Fehlersignal, Schritt 194, wenn der Bildschirm nicht existiert. Existiert der Bildschirm, so geht der Betrieb zum Schritt 206 über, um festzustellen, ob die Anforderung bezüglich eines Namens erfolgt. Betrifft die Anforderung einen bestimmten Namen, so werden die vorher mit diesem Namen gespeicherten Daten zurückgeholt und unter Steuerung des Anwendungsprogramms an einen geeigneten Speicherort für das Anwendungsprogramm übertragen, zusammen mit jedem erzeugten Namen für den Originalnamen, während des Schrittes 208. Ist die Anforderung bezüglich des Bildschirms und nicht bezüglich des bestimmten Namens, so werden während des Schrittes 210 die im Schritt 200 gespeicherten Daten zurückgeholt, und unter Steuerung des Anwendungsprogramms an dieses Programm übertragen.If an application program (tool) a certain name or request screen, step 202, the system performs a review to determine if the Screen exists, step 204, and creates one Error signal, step 194 if the screen is not exists. If the screen exists, the operation goes to step 206 to determine if the request regarding a name. Applies to the requirement  a certain name, so they are previously with this Saved data names retrieved and under control the application program to a suitable location transferred to the application program, along with everyone generated names for the original name during the Step 208. Is the requirement regarding the Screen and not the specific name, so during step 210, those in step 200 saved data retrieved, and under control of the Transfer application program to this program.

Fig. 9 erläutert den Vorgang, der sich anschließt, wenn ein eine Übersetzung erfordernder Name zwischen zwei Softwaretools übertragen wird. Der Vorgang beginnt mit Schritt 220, der anzeigt, daß eine Namensübersetzung erforderlich ist. Vom Schritt 220 aus geht der Betriebsablauf zum Schritt 222 über, um festzustellen, ob der Bildschirm existiert. Existiert der Bildschirm nicht, so geht der Betrieb zu der Routine "Hole einen Bildschirm" zurück, die in Fig. 7 gezeigt ist, um einen Bildschirm zu erzeugen (Schritt 224). Figure 9 illustrates the process that follows when a name requiring translation is transferred between two software tools. The process begins at step 220, which indicates that a name translation is required. From step 220, the flow of operations proceeds to step 222 to determine if the screen exists. If the screen does not exist, operation returns to the "Get a Screen" routine shown in FIG. 7 to create a screen (step 224).

Entweder vom Schritt 222, falls eine Ausgabe "JA" erhalten wird, oder vom Schritt 224 geht der Betrieb zum Schritt 226 über, um festzustellen, ob sich der Name in dem Bildschirm befindet. Dies bedeutet normalerweise, daß der Name vorher erzeugt wurde und daß der ursprüngliche und der erzeugte Name in dem Bildschirm für eine zukünftige Bezugnahme gespeichert wurden. Allerdings kann, wie voranstehend erwähnt, eine derartige Namensübersetzungsliste mit den Regeln zur Verfügung gestellt werden und ursprünglich in dem Bildschirm gespeichert sein. Befindet sich der Name in dem Bildschirm, so geht der Betrieb zum Schritt 228 über, um den vorher erzeugten Namen zurückzubringen, im allgemeinen zum anfordernden Anwendungsprogramm. Ist der Name nicht in dem Bildschirm, so geht der Betrieb zum Schritt 230 über, in welchem der ursprüngliche Name in den Bildschirm gebracht und ursprünglich als "einzigartig" markiert wird. Vom Schritt 230 geht der Betrieb zum Schritt 232 über, in welchem jede der Regeln in der Datei aufeinanderfolgend überprüft wird, bis alle Regeln betrachtet wurden. Für jede Regel geht der Betrieb zum Schritt 234 über, um festzustellen, ob die Regel den bestimmten Namen betrifft. Eine Regel könnte beispielsweise anzeigen, daß alle Großbuchstaben in die entsprechenden Kleinbuchstaben umgewandelt werden sollen. Wenn daher der Name in Großbuchstaben vorliegt, würde die Regel anwendbar sein, zu einer Ausgabe "JA" des Schrittes 234 führen und dazu führen, daß der Schritt 236 durchgeführt wird. Während des Schrittes 236 wird die Regel angewendet, um eine Umwandlung des Namens durchzuführen. Entweder vom Schritt 234, wenn eine Ausgabe "NEIN" erhalten wird, oder vom Schritt 236 aus geht der Betrieb zum Schritt 238 über, in welchem die nächste Regel zurückgeholt wird.Either from step 222 if an "YES" output is received or from step 224, the operation goes to step 226 to determine if the name is in the Screen. This usually means that the Name was created before and that the original and the generated name on the screen for future Reference has been saved. However, how previously mentioned, such Name translation list with the rules available be put and originally in the screen be saved. The name is in the Screen, the operation proceeds to step 228  return the previously created name, in general to the requesting application program. The name is not in the screen, the operation proceeds to step 230, in which the original name in the screen brought and originally marked as "unique". From step 230, operation proceeds to step 232, in which each of the rules in the file are consecutive is checked until all rules have been considered. For each rule goes to step 234 to determine whether the rule applies to the specific name. For example, a rule could indicate that all Upper case letters in the corresponding lower case letters to be converted. Therefore, if the name is in Capital letters, the rule would apply, result in a "YES" output of step 234 and to cause step 236 to be performed. During the Step 236 applies the rule to a Perform conversion of the name. Either from the crotch 234 if an output "NO" is received, or from From step 236, operation proceeds to step 238, in which the next rule is retrieved.

Die Regeln 232, 234, 236 und 238 werden aufeinanderfolgend für jede Regel durchgeführt, die in dem Bildschirm gespeichert ist, bis während des Schrittes 232 festgestellt wird, daß alle Regeln in dem Bildschirm durchgeführt wurden. Zu diesem Zeitpunkt wurde die Übersetzung des Namens beendet, abgesehen von verschiedenen Verwaltungsfunktionen, die während der folgenden Schritte durchgeführt werden.Rules 232, 234, 236 and 238 become sequential for each rule that is performed in the screen is stored until during step 232 it is found that all the rules in the screen were carried out. At that time the Translation of the name finished, apart from various administrative functions that took place during the following steps.

Insbesondere geht, wenn alle Regeln eingesetzt wurden, der Betrieb vom Schritt 232 zum Schritt 240 über, in welchem der erzeugte Namen überprüft wird, um festzustellen, ob er irgendwelche Zeichen enthält, die in dem aufnehmenden Tool ungültig sind. Soweit derartige Zeichen gefunden werden, werden sie entfernt. Der Betrieb geht dann zum Schritt 242 über, um zu ermitteln, ob die Länge des erzeugten Namens eine Maximallänge überschreitet, die durch den Benutzer für Namen in dem empfangenden Programm festgelegt ist. Überschreitet die Länge des erzeugten Namens das Maximum, so wird der Name unter Einsatz geeigneter Abschneideregeln gekürzt. Normalerweise wird dies dadurch erreicht, daß einfach die überschüssige Anzahl an Zeichen vom Ende des Namens entfernt wird. Allerdings können kompliziertere Abschneideregeln eingesetzt werden, beispielsweise das Entfernen von Vokalen in einem ersten Abschneideschritt. Schließlich können während des Schrittes 244 irgendwelche erforderlichen Vorsilben oder Nachsilben, die vom Benutzer definiert werden, dem Namen hinzugefügt werden. Wird der Schritt 244 durchgeführt, so kann während des Schrittes 242 eine Wurzel gekürzt werden, so daß der endgültige Name nicht die Maximallänge überschreitet.In particular, if all rules have been used, the Operation from step 232 to step 240 via which the generated name is checked to see if it  contains any characters in the recording tool are invalid. As far as such characters are found, they will be removed. Operation then goes to step 242 over to determine if the length of the generated name exceeds a maximum length by the user for names in the receiving program. If the length of the generated name exceeds the maximum, this is how the name is made using suitable cutting rules shortened. Usually this is done by: simply the excess number of characters from the end of the Name is removed. However, more complicated ones Cutting rules are used, for example that Removing vowels in a first clipping step. Finally, during step 244, any required prefixes or suffixes by the user be defined, added to the name. Will the Step 244 may be performed during the step 242 a root can be shortened so that the final name does not exceed the maximum length.

Während des Schrittes 246 erfolgt eine Ermittlung, ob eine Eins-zu-Eins-Abbildung zwischen Originalnamen und erzeugten Namen vorliegen soll. Ist eine Eins-zu-Eins-Abbildung nicht erforderlich, dann wird die Bezeichnung des Namens, die während des Schrittes 230 zur Verfügung gestellt wurde, von "Einzigartig" auf "Nicht einzigartig" während des Schrittes 248 geändert. Wogegen der erzeugte Name tatsächlich einzigartig sein kann, wird der Name als nicht einzigartig während des Schrittes 248 markiert, so daß dann, falls der erzeugte Name später auftaucht, und die spätere Erzeugung es auch zuläßt, daß sie nicht einzigartig ist, das System eine derartige Verwendung zulassen wird. Falls das System annimmt, daß die ursprüngliche Erzeugung einzigartig ist, so würde es keine spätere Erzeugung desselben erzeugten Namens zulassen.During step 246, a determination is made as to whether a One-to-one mapping between original name and generated name should be available. Is a One-to-one mapping is not required, then the Name of the name used during step 230 Has been made available from "Unique" to "Not unique "changed during step 248 the name generated can actually be unique the name as not unique during step 248 marked so that if the generated name later emerges, and later generation also allows that it is not unique, the system is such Allow use. If the system assumes that the original generation is unique, so it would  no later generation of the same generated name allow.

Die voranstehenden Ausführungen werden durch den Schritt 249 erläutert, nämlich den nächsten Schritt im Betriebsablauf. Während des Schrittes 249 erfolgt eine Ermittlung, ob der erzeugte Name mit einem einzigartigen Namen kollidiert, der vorher erzeugt wurde und in der Namensliste enthalten ist. Kollidiert der Name nicht mit einem einzigartigen Namen, so geht der Betrieb zum Schritt 250 über, in welchem der erzeugte Name mit dem ursprünglichen Namen in dem Bildschirm gespeichert wird. Der neu erzeugte Name wird dann an das Anwendungsprogramm zurückgeschickt, welches ursprünglich die Anforderung ausgab, im Schritt 252. Wird während des Schrittes 249 festgestellt, daß der Name mit einem einzigartigen Namen kollidiert, so geht der Betrieb zum Schritt 256 über, um festzustellen, ob der Name so modifiziert werden kann, daß er einzigartig ist. Die Vorgänge, die während des Schrittes 256 und danach durchgeführt werden, sind in den folgenden Absätzen beschrieben.The foregoing is through the step 249 explains, namely the next step in Operational flow. A occurs during step 249 Determine whether the generated name has a unique Name collides that was previously created and in the Name list is included. The name does not conflict with a unique name, so the business goes to step 250 above, in which the generated name with the original name is saved on the screen. The newly created name is then sent to the application program sent back which was originally the request output, in step 252. During step 249 found that the name with a unique name collides, the operation proceeds to step 256 to determine if the name can be modified so that he is unique. The events that take place during the Steps 256 and after are performed in the following paragraphs.

Wird während des Schrittes 246 festgestellt, daß eine Eins-zu-Eins-Abbildung erforderlich ist, dann erfolgt im Schritt 254 eine Ermittlung, ob der erzeugte Name einzigartig ist. Ist der erzeugte Name einzigartig, dann wird der Name während des Schrittes 250 erinnert und im Schritt 252 zurückgebracht.If it is determined during step 246 that a One-to-one mapping is required, then done in Step 254 a determination of whether the generated name is unique. If the generated name is unique, then the name is remembered during step 250 and in Returned to step 252.

Ist der erzeugte Name nicht einzigartig, dann geht der Betrieb zum Schritt 256 über, um zu ermitteln, ob der Name auf eine durch den Benutzer definierte Weise geändert werden kann, insbesondere durch Regeln, die vom Toolintegrator des Benutzers erzeugt werden, oder durch Regeln, die vom Hersteller des Systems zur Verfügung gestellt werden, so daß der Name einzigartig ist. Eine derartige Änderung kann die Hinzufügung vorbestimmter zusätzlicher Zeichen zum Anfang oder Ende, vorzugsweise zum Ende, des Namens umfassen, um ihn so einzigartig zu machen. Beispielsweise können die Zahlen 0 bis 9 aufeinanderfolgend am Ende nicht einzigartiger Namen hinzugefügt werden, um derartige Namen einzigartig zu machen. Falls es nicht möglich ist, den Namen einzigartig zu machen, dann ist eine Übersetzung dieses Namens nicht möglich. Dies ist ein Fehlerzustand, Schritt 258, und dem Benutzer wird eine geeignete Anzeige dieses Fehlers gegeben, normalerweise auf der Anzeigevorrichtung 30.If the generated name is not unique, then operation proceeds to step 256 to determine if the name can be changed in a manner defined by the user, particularly rules created by the user's tool integrator or rules, provided by the manufacturer of the system so that the name is unique. Such a change may include adding predetermined additional characters to the beginning or end, preferably the end, of the name to make it unique. For example, the numbers 0 through 9 can be added sequentially at the end of non-unique names to make such names unique. If it is not possible to make the name unique, then a translation of this name is not possible. This is an error condition, step 258, and the user is given an appropriate display of this error, typically on display device 30 .

Falls es möglich ist, den Namen so zu modifizieren, daß er einzigartig ist, so erfolgt eine derartige Modifikation während des Schrittes 260, um einen Namen zur Verfügung zu stellen, der einzigartig und auch in dem empfangenden Tool gültig ist. Vom Schritt 260 geht der Betrieb zum Schritt 250 über, um den erzeugten Namen zu erinnern und den erzeugten Namen an das anfordernde Tool zurückzugeben. Auf diese Weise wird ein auf verallgemeinerten Regeln basierender Übersetzungsmechanismus zur Verfügung gestellt, der sehr flexibel ist und einfach modifiziert werden kann, um irgendwelchen Änderungen in dem System gerecht zu werden.If it is possible to modify the name so that it is unique, such a modification takes place during step 260 to provide a name make that unique and also in the receiving tool is valid. From step 260, the operation goes to step 250 over to remember the generated name and the return the generated name to the requesting tool. On this way one becomes on generalized rules based translation mechanism available provided that is very flexible and easily modified can be to make any changes in the system to meet.

Es gibt Situationen, in welchen ein Tool, welches einen erzeugten Namen benutzt, zu ermitteln wünscht, wie der Ursprungsname eines derartigen erzeugten Namens war, oder in welchen ein System-Operator eine derartige Information wünscht. Fig. 10 ist ein Flußdiagramm einer Routine zur Bereitstellung einer derartigen Möglichkeit. There are situations in which a tool that uses a generated name desires to determine what the original name of such a generated name was, or in which a system operator desires such information. Figure 10 is a flow diagram of a routine for providing such a facility.

Wenn in Fig. 10 eine Anforderung eines Ursprungsnamens erzeugt wird, Schritt 270, so geht der Betrieb zum Schritt 272 über, um festzustellen, ob sich der erzeugte Name in dem geeigneten Bildschirm befindet. Befindet sich der erzeugte Name nicht in dem geeigneten Bildschirm, was beispielsweise bedeuten kann, daß keine Übersetzungsanforderung erfolgte, die zu dem erzeugten Namen führte, dann kann die Anforderung nicht erfüllt werden, und es wird dem anfordernden Tool eine Fehleranzeige zur Verfügung gestellt, die auch dem Benutzer zur Verfügung gestellt werden kann, im Schritt 274.In Fig. 10, if a source name request is generated, step 270, operation proceeds to step 272 to determine if the generated name is on the appropriate screen. If the generated name is not on the appropriate screen, which can mean, for example, that there was no translation request that led to the generated name, then the request cannot be met and an error message is made available to the requesting tool, which also can be made available to the user in step 274.

Befindet sich der erzeugte Name im Bildschirm, so findet die Routine den Ursprungsnamen eines derartigen erzeugten Namens während des Schrittes 276. Im Schritt 278 erfolgt eine Ermittlung, ob der Ursprungsname für den erzeugten Namen einzigartig ist (also ob der vorgegebene erzeugte Name ein erzeugter Name für mehr als einen ursprünglichen Namen ist). Ist der ursprüngliche Name einzigartig, so wird während des Schrittes 280 der ursprüngliche Name an die anfordernde Quelle zurückgegeben. Ist der ursprüngliche Name nicht einzigartig, dann wird während des Schrittes 282 eine Liste aller ursprünglichen Namen zurückgegeben, die auf den erzeugten Namen zeigt.If the generated name is on the screen, it finds the routine generated the original name of one Name during step 276. In step 278 is done a determination of whether the origin name for the generated Name is unique (i.e. whether the given one is generated Name a generated name for more than one original Name is). If the original name is unique, so the original name is displayed during step 280 returned the requesting source. Is the original name is not unique, then during step 282 lists all original names returned, which points to the generated name.

Da dieselben zwei Programme in zahlreichen Fällen miteinander kommunizieren können, ist es wünschenswert, daß dann, sobald eine Liste ursprünglicher und erzeugter Namen für einen vorgegebenen Bildschirm erzeugt wurde, diese Liste aufgehoben wird, so daß sie zur Verwendung in einem darauffolgenden Bildschirm für dieselben zwei Tools verfügbar ist. Fig. 11A ist ein Flußdiagramm einer Routine zum Retten der Namensliste, die für einen vorgegebenen Bildschirm als eine Namensdatei erzeugt wurde, und Fig. 11B ist ein Flußdiagramm einer Routine zum Einlesen einer derartigen gespeicherten Namensdatei in einen neuen Bildschirm, der für Übertragungen zwischen denselben Softwaretools vorhanden ist. In Fig. 11A fordert die Routine, daß für jeden Namen in dem Originalbildschirm, Schritt 290, eine Ausgabe erzeugt wird, die auf eine durch den Benutzer festgelegte Weise formatiert wird, oder in einem Standardformat, welches durch den Hersteller des Systems festgelegt wird, und daß diese Ausgabe in eine ausgewählte Datei zum Abspeichern eingeschrieben wird (Schritt 292). Wurden sämtliche Namen in dem Bildschirm ausgegeben, so geht der Betrieb vom Schritt 290 zum Schritt 294 über, um zum vorherigen Programm zurückzukehren, welches lief. Die als Ergebnis von Fig. IIA erzeugte Datei wird manchmal als eine Alias-Datei bezeichnet.Since the same two programs can communicate with each other in numerous cases, it is desirable that once a list of original and generated names has been created for a given screen, that list is cleared so that it can be used in a subsequent screen for the same two tools is available. Fig. 11A is a flowchart of a name list rescue routine created for a given screen as a name file, and Fig. 11B is a flowchart of a routine for reading such a stored name file into a new screen, for transfers between the same software tools is available. In Fig. 11A, the routine requires that for each name in the original screen, step 290, output is generated that is formatted in a user-specified manner or in a standard format specified by the system manufacturer, and that this output be written to a selected file for storage (step 292). When all the names have been output on the screen, the operation proceeds from step 290 to step 294 to return to the previous program that was running. The file created as a result of Fig. IIA is sometimes referred to as an alias file.

Wenn in Fig. 11B eine Anforderung erfolgt, eine vorher gespeicherte Alias-Datei zu lesen, so ist der erste Schritt der Schritt 300, in welchem jeder Eintrag (also jeder Name) in der Datei zurückgeholt wird. Der zurückgeholte Eintrag wird in Stücke vorbestimmter Größe aufgebrochen oder auf andere Weise in einer durch den Benutzer oder das System festgelegten Art behandelt, während des Schrittes 302. Im Schritt 304 wird der behandelte Name dann dem neuen Bildschirm hinzugefügt. Die Schritte 300, 302 und 304 werden wiederholt, bis sämtliche Einträge in der Alias-Datei in dem Bildschirm gespeichert wurden, und dann verzweigt der Betrieb vom Schritt 300 zum Schritt 306 und veranlaßt den Betrieb dazu, zu dem ursprünglichen Tool zurückzukehren. If a request is made in FIG. 11B to read a previously stored alias file, the first step is step 300, in which every entry (ie every name) in the file is retrieved. The retrieved entry is broken up into pieces of predetermined size or otherwise treated in a manner determined by the user or system during step 302. In step 304, the treated name is then added to the new screen. Steps 300, 302 and 304 are repeated until all entries in the alias file have been saved on the screen and then the operation branches from step 300 to step 306 and causes the operation to return to the original tool.

Zusätzlich zur Anforderung, inkonsistente Namen zwischen Softwaretools zu übersetzen, gibt es darüber hinaus Situationen, in welchen das Format zwischen zwei Programmen nicht kompatibel ist, und modifiziert werden muß, um kompatibel zu sein. Beispielsweise kann ein Tool Information in einem schematischen Grafikdiagramm präsentieren, wie beispielsweise in Fig. 14 gezeigt. Ein anderes Programm kann wünschen, dieselben Daten in einer Netzlistenform zu verwenden, in welcher Bestandteile und Knoten definiert werden, und in welcher für jeden Bestandteil eine Anzeige bezüglich der Knoten und/oder anderer Komponenten zur Verfügung gestellt wird, zwischen die er geschaltet ist. Das erfindungsgemäße System stellt eine Routine zur Verfügung, die als Regelbasisschnittstellenroutine (RBI) bezeichnet wird, welche derartige Transformationen durchführt, und auch zur Durchführung von Standardtransformationen eingesetzt werden kann, soweit dies nötig ist, beispielsweise zwischen inkompatiblen Befehlen zur Durchführung derselben Funktion in den beiden Sprachen. Fig. 1 ist ein Flußdiagramm der RBI-Routine.In addition to the requirement to translate inconsistent names between software tools, there are also situations where the format is incompatible between two programs and must be modified to be compatible. For example, a tool can present information in a schematic graphic diagram, such as shown in FIG. 14. Another program may wish to use the same data in a netlist form, in which components and nodes are defined, and in which for each component an indication of the nodes and / or other components between which it is connected is provided. The system according to the invention provides a routine, which is referred to as a rule base interface routine (RBI), which carries out such transformations, and can also be used to carry out standard transformations, if this is necessary, for example between incompatible commands for performing the same function in the two languages . Figure 1 is a flow diagram of the RBI routine.

In Fig. 12 wird der Betrieb durch die RBI-Routine gestartet, die durch Epic oder ein anderes Programm aufgerufen wird, welches auf dem System läuft, oder als Ergebnis einer Benutzereingabe. Dies wird als der Startschritt 310 in Fig. 12 bezeichnet.In Fig. 12, operation is started by the RBI routine called by Epic or another program running on the system or as a result of user input. This is referred to as the start step 310 in FIG. 12.

Der erste Schritt im Betrieb, Schritt 312, besteht darin, daß verschiedene Optionen gelesen und an einem geeigneten Ort in dem RAM gespeichert werden, welches zum Speichern von Information für die RBI-Routine verwendet wird. Optionen, Schemata, Signalformen und dergleichen werden manchmal nachstehend als "Objekte" bezeichnet, wobei Objekte Elemente sind, die entweder vom Hersteller des Systems oder Benutzer (Optionen) oder von einem anderen Programm (schematische Komponenten, Signalformen usw.) zur Verfügung gestellt werden, bei welchem die durch RBI bereitgestellten Umwandlungsregeln eingesetzt werden.The first step in operation, step 312, is that various options are read and an appropriate one Location to be stored in RAM, which is for storing of information is used for the RBI routine. Options, schemes, waveforms and the like will be sometimes referred to below as "objects", where  Objects are elements that are either from the manufacturer of the Systems or users (options) or from another Program (schematic components, signal forms, etc.) for Be provided, in which the by RBI provided conversion rules are used.

Während des Schrittes 314, dem nächsten Schritt im Betrieb, wird die geeignete RBI-Regeldatei oder Dateien, die im Bereich 96 des Speichers 28 gespeichert ist, in einen geeigneten Abschnitt des Prozessorspeichers eingelesen. Während des Schrittes 316 erfolgt eine Überprüfung der Regeln, um sicherzustellen, daß sie korrekte Zeichen an korrekten Orten verwenden, und im Zusammenhang der RBI-Routine gültig sind. Die Regeln sollten gültig sein, jedoch ist es immer möglich, daß sich aus verschiedenen Gründen ein Fehler entwickelt, und es ist daher anzuraten, eine semantische Überprüfung durchzuführen, bevor die Regeln verwendet werden.During step 314, the next step in operation, the appropriate RBI rules file or files stored in area 96 of memory 28 are read into a suitable portion of processor memory. During step 316, the rules are checked to ensure that they use correct characters in the correct locations and are valid in the context of the RBI routine. The rules should be valid, but it is always possible that an error will develop for a number of reasons, and it is therefore advisable to do a semantic check before using the rules.

Während des Schrittes 318, dem nächsten Schritt im Betrieb, wird die angeforderte Datenbasis, die umgewandelt werden soll, in das System eingelesen und ebenfalls jede externe erforderliche Information, die zur Umwandlung nötig ist. Beispielsweise kann ein GRM-Bildschirm, der auf die voranstehend erläuterte Weise erzeugt wurde, zur Verwendung durch das RBI-Programm zur Verfügung gestellt werden.During step 318, the next step in Operation, the requested database is converted to be read into the system and also each external information required for conversion is necessary. For example, a GRM screen that is on the manner explained above was generated for Use provided by the RBI program become.

Sobald diese einleitenden Betriebsschritte durchgeführt wurden, geht das Programm zum Schritt 320 über, in welchem es mit der Bearbeitung von Regeln beginnt, beginnend mit dem ersten oder obersten Datenbasisobjekt und der ersten Regel. Wie voranstehend erläutert, stellen die Datenbasisobjekte die schematischen Zeichen, Signalformen, Netzlisteneinträge oder Optionen dar, die von dem Benutzer oder anderen eingegeben wurden, und deren Umwandlung erforderlich ist. Vom Schritt 320 aus geht der Betrieb zum Schritt 322 über, in welchem die nächste Regel, in diesem Fall die erste Regel, in ein Register "momentane Regel" übertragen wird. Während des Schrittes 324 erfolgt eine Überprüfung, ob das momentane Regelregister leer ist. Ist das momentane Regelregister leer, so bedeutet dies, daß sämtliche Regeln betrachtet wurden und der Vorgang beendet ist. Dies veranlaßt den Betrieb dazu, zum Schritt 326 zu verzweigen, um das Ergebnis des RBI-Vorgangs oder eines Teils davon auszudrucken, oder anderes Material, welches die Routine ausdrucken soll. Alternativ hierzu kann dieses Material auch nur gespeichert werden, beispielsweise an einem geeigneten Ort im Speicher 28, ohne ausgedruckt zu werden. Sobald der Schritt 326 beendet ist, so verläßt das System die RBI-Routine durch den Schritt 328 und informiert Epic oder ein anderes Programm, welches den Ablauf von RBI gefordert hatte, und/oder den Benutzer, daß dieser Vorgang beendet ist.As soon as these preliminary operational steps have been carried out, the program proceeds to step 320, in which it begins with the processing of rules, starting with the first or top database object and the first rule. As discussed above, the database objects represent the schematic characters, waveforms, netlist entries, or options that have been entered by the user or others and the conversion of which is required. From step 320, operation proceeds to step 322, in which the next rule, in this case the first rule, is transferred to a "current rule" register. During step 324, a check is made as to whether the current control register is empty. If the current rule register is empty, this means that all rules have been viewed and the process has ended. This causes the operation to branch to step 326 to print out the result of the RBI operation, or a portion thereof, or other material to be printed out by the routine. Alternatively, this material can also only be stored, for example at a suitable location in the memory 28 , without being printed out. Once step 326 is completed, the system exits the RBI routine through step 328 and notifies Epic or another program that requested RBI to run and / or the user that the process has ended.

Wenn während des Schrittes 324 festgestellt wird, daß das momentane Regelregister nicht leer ist, etwa in einem Fall, wenn in dieses die erste Regel geladen wurde, so geht der Betrieb vom Schritt 324 zum Schritt 330 über, um zu ermitteln, ob dies eine "Bildschirm"-Regel ist. Es gibt im wesentlichen zwei Arten von Regeln in der RBI-Routine, die als "Bildschirmregeln" und "Beendigungsregeln" bezeichnet werden. Eine Beendigungsregel betrifft im allgemeinen einen einzigen Befehl, der sofort ausgeführt werden kann. Im Gegensatz hierzu betrifft eine Bildschirmregel im allgemeinen zwei oder mehr Befehle und kann auch eine Verzweigung oder andere Faktoren umfassen. Jede Regel, die keine "Bildschirmregel" ist, ist eine "Beendigungsregel". Falls daher während des Schrittes 330 festgestellt wird, daß die Regel keine Bildschirmregel ist, dann geht der Betrieb zum Schritt 332 über, um den einzigen Befehl der Beendigungsregel auszuführen, und kehrt dann zum Schritt 322 zurück, um die nächste Regel in die Warteschlange in dem momentanen Regelregister zu laden.If it is determined during step 324 that the current control register is not empty, for example in a If the first rule has been loaded into it, so the operation proceeds from step 324 to step 330 to determine if this is a "screen" rule. There is essentially two types of rules in the RBI routine, which as "screen rules" and "termination rules" be designated. One termination rule applies to general a single command that is executed immediately can be. In contrast, one concerns Screen rule generally two or more commands and can also include branching or other factors. Any rule that is not a "screen rule" is one  "Termination Rule". Therefore, if during step 330 it is determined that the rule is not a screen rule then the operation proceeds to step 332 to which to execute only the termination rule command, and then returns to step 322 to find the next rule in load the queue into the current control register.

Wenn im Schritt 330 festgestellt wird, daß die Regel in dem momentanen Regelregister eine "Bildschirm"-Regel ist, dann geht der Betrieb zu einem von verschiedenen Schritten über, abhängig von der Art der Bildschirmregel, die empfangen wurde. Es gibt grundsätzlich fünf Arten von Bildschirmregeln, die empfangen werden können. Zwei der Arten an Bildschirmregeln betreffen den Anfang bzw. das Ende einer Vierersequenz. Diese sind in Fig. 12A durch den Befehl oder die Regel "for all (nets)" und für die Regel "for all (symbols)", angegeben, die dieser folgt. Später gibt es auch eine Regel "for_bar all (ports)". Diese Regeln geben an, daß für sämtliche in den Klammern angegebenen Objekte die folgenden Regeln angewendet werden sollen, und eine alles beendende Regel wird durch den Ports-Befehl "thin_for_all bracket" und durch den ähnlichen Beendigungsbefehl für (Symbole) und (Netze) in Fig. 12A angezeigt. Dies sind die Regeln, welche eine Sequenz "for_all" beenden.If it is determined in step 330 that the rule in the current rule register is a "screen" rule, then operation proceeds to one of several steps, depending on the type of screen rule that has been received. There are basically five types of screen rules that can be received. Two of the types of screen rules relate to the beginning and end of a sequence of four. These are indicated in FIG. 12A by the command or rule "for all (nets)" and for the rule "for all (symbols)", which follows this. Later there is also a rule "for_bar all (ports)". These rules indicate that the following rules should be applied to all objects in parentheses, and an all-ending rule is indicated by the ports command "thin_for_all bracket" and the similar exit command for (symbols) and (networks) in Fig . 12A displayed. These are the rules that end a "for_all" sequence.

Zwei andere Arten von Befehlen entstehen aus einer "if"-Sequenz, von denen zwei in Fig. 12A gezeigt sind. Jede "if"-Sequenz beginnt mit dem Wort "if" ("wenn"), gefolgt von dem Objekt, auf welches "if" ausgeübt werden soll und welches in Klammern angegeben ist. Dann folgen eine oder mehrere Regeln und die "if"-Sequenz wird beendet durch die Regel "fin_if", die ebenfalls das Objekt umfaßt. Two other types of instructions arise from an "if" sequence, two of which are shown in Figure 12A. Each "if" sequence begins with the word "if", followed by the object to which "if" is to be applied and which is given in parentheses. Then one or more rules follow and the "if" sequence is ended by the rule "fin_if", which also includes the object.

Die endgültige Art einer Regel ist eine Bildschirmbruchregel. Dies ist eine Regel, welche untersucht, ob eine bestimmte Bedingung erfüllt ist, und die dann, falls die Bedingung erfüllt wurde, die übrigen Befehle des Bildschirms umgeht; oder, in anderen Worten, verhindert, daß der Rest der Regel durchgeführt wird. Eine Bruchregel ist nicht besonders in Fig. 12A angegeben.The final type of rule is a screen break rule. This is a rule that examines whether a certain condition is met and, if the condition is met, bypasses the remaining commands on the screen; or, in other words, prevents the rest of the rule from being carried out. A break rule is not particularly indicated in Fig. 12A.

Falls in Fig. 12 im Schritt 330 ermittelt wurde, daß die Bildschirmregel ein Anfang einer Bildschirmregel ist, so geht der Betrieb zum Schritt 334 über, um das nächste Objekt der Art zu holen, die in der "for"-Regel angegeben wird. Beispielsweise mit dem Befehl "for_all_nets" wird während des Schrittes 334 das nächste "Netz" im Schritt 334 zurückgeholt. Vom Schritt 334 geht der Betrieb zum Schritt 336 über, um festzustellen, ob sämtliche Objekte der angegebenen Art angesehen wurden. Wurden nicht sämtliche Objekte angesehen, so wird die nächste Regel innerhalb des "for"-Bildschirms während des Schrittes 338 erhalten, und diese Regel wird in die momentanen Regeln geladen, wenn der Betrieb zum Schritt 322 zurückkehrt. Während des nächsten Zyklus wird das Objekt durch diese Regel betrachtet und durch die Regel bearbeitet. Wird im Schritt 338 für ein gegebenes Objekt "fin_for_all" erreicht, so wird diese Regel während des Schrittes 340 erkannt und veranlaßt, daß das nächste Objekt der in der letzten "for"-Regel festgelegten Art zurückgeholt wird. Dann erfolgt eine Ermittlung, ob das Objekt leer ist, und die "for"-Bildschirmregeln werden auf das neue Objekt ausgeübt, wenn es nicht leer ist, durch einen Kreislauf durch die geeigneten Schritte, und eine Beendigung durch die Beendigungs- und Bildschirmregel. Sobald vom Schritt 340 aus der Schritt 336 erreicht ist und festgestellt wird, daß das Objekt leer ist, so geht der Betrieb zum Schritt 342 über, um zum Ende der "for"-Bildschirmregel überzugehen und so diese Regel zu verlassen.In Fig. 12, if it was determined in step 330 that the screen rule is a start of a screen rule, the operation proceeds to step 334 to fetch the next object of the type specified in the "for" rule. For example with the command "for_all_nets", the next "network" is retrieved in step 334 during step 334. From step 334, operation proceeds to step 336 to determine if all of the objects of the specified type have been viewed. If all objects have not been viewed, the next rule within the "for" screen is obtained during step 338, and that rule is loaded into the current rules when operation returns to step 322. During the next cycle, the object is viewed by this rule and processed by the rule. If "fin_for_all" is reached in step 338 for a given object, this rule is recognized during step 340 and is caused to bring the next object of the type defined in the last "for" rule back. A determination is then made as to whether the object is empty, and the "for" screen rules are applied to the new object if it is not empty by cycling through the appropriate steps and ending by the termination and screen rule. Once step 340 from step 340 is reached and it is determined that the object is empty, the operation proceeds to step 342 to proceed to the end of the "for" screen rule and so exit.

Entsprechend geht, wenn die ankommende Bildschirmregel während des Schrittes 330 als eine beginnende "if"-Bildschirmregel erkannt wird, der Betrieb zum Schritt 344 über, um festzustellen, ob die "if"-Bedingung wahr ist. Ist die "if"-Bedingung nicht wahr, so geht der Betrieb zum Schritt 346 über, welcher den Betrieb dazu veranlaßt, die erste Regel auszuführen, die dem Ende des "if"-Bildschirms folgt, und der Betrieb kehrt zum Schritt 322 zurück, um diese Regel als die nächste Regel in dem momentanen Regelregister anzuordnen.Similarly, if the incoming screen rule during step 330 as an beginning "if" screen rule is detected, the operation to step 344 to determine if the "if" condition is true is. If the "if" condition is not true, the Operation to step 346, which is the operation to do so caused to execute the first rule, which is the end of the "if" screen follows, and operation returns to step 322 back to this rule as the next rule in that to arrange the current control register.

Ist die "if"-Bedingung wahr, so geht der Betrieb zum Schritt 348 über, um die Regel innerhalb des "if"-Bildschirms zu erhalten, und diese Regel als die nächste Regel in dem momentanen Regelregister anzuordnen. Dann kehrt der Betrieb zum Schritt 322 zurück, um zu veranlassen, daß diese Regel ausgeführt wird. Ist die Regel innerhalb des "if"-Bildschirms die Regel zur Beendigung des "if-Bildschirms", so geht der Betrieb vom Schritt 330 zum Schritt 350 über, um die nächste Regel außerhalb des "if"-Bildschirms zu holen, und diese Regel als die nächste Regel in das momentane Regelregister zu bringen, und dann kehrt der Betrieb zum Schritt 322 zurück, um die Ausführung dieser Regel zu veranlassen.If the "if" condition is true, the operation goes to Step 348 over to the rule within the to get "if" screen, and this rule as the to arrange the next rule in the current rule register. Then the operation returns to step 322 to Get this rule to run. Is the Rule within the "if" screen the rule for Termination of the "if screen", the operation starts from Step 330 to step 350 for the next rule to pick up outside the "if" screen, and this rule as the next rule in the current rule register and then the operation returns to step 322 back to cause this rule to run.

Wenn schließlich im Schritt 330 festgestellt wird, daß die Regel eine Bildschirmbruchregel ist, so geht der Betrieb zum Schritt 352 über, um zu ermitteln, ob die Bruchbedingung wahr ist. Ist die Bruchbedingung wahr, dann geht der Betrieb zum Ende des Bildschirms über, oder holt sich, mit anderen Worten, die erste Regel außerhalb des Bildschirms, während des Schrittes 354, und diese Regel wird die nächste Regel in dem momentanen Regelregister. Dann kehrt der Betrieb zum Schritt 322 zurück. Entsprechend wird, wenn im Schritt 352 keine Ausgabe erfolgt, die nächste Regel während des Schrittes 356 zurückgeholt, als die nächste Regel in das momentane Regelregister geladen, und dann kehrt der Betrieb zum Schritt 322 zurück, um diese Regel auszuführen.Finally, if it is determined in step 330 that the The rule is a screen break rule, so the operation goes to step 352 to determine if the Break condition is true. If the break condition is true, then operation goes to the end of the screen or fetches in other words, the first rule outside the  Screen, during step 354, and this rule becomes the next rule in the current rule register. Then the operation returns to step 322. Accordingly, if there is no output in step 352 the next rule occurs during step 356 retrieved as the next rule in the current one Control register loaded, and then operation returns to Return to step 322 to execute this rule.

Wie voranstehend erläutert, steuern die RBI-Regeln Formatumwandlungen zwischen den beiden betrachteten Programmen, so daß Objekte in einem der Tools in das geeignete Forma für das andere Tool umgewandelt werden. Die Regeln können auch bei Objekten angewandt werden, die Standardbefehle oder andere Gegenstände in einem der Tools sind, die so umgewandelt werden müssen, daß sie bei dem anderen Tool arbeiten.As explained above, the RBI rules control Format conversions between the two considered Programs so that objects in one of the tools in that appropriate forma to be converted for the other tool. The rules can also be applied to objects that Standard commands or other items in one of the tools are that have to be converted in such a way that they other tool work.

Eine weitere Anforderung an ein System, welches den Betrieb einer großen Anzahl an Softwaretools steuern soll, ist die Fähigkeit, interaktiv Information zu sammeln, die von diesen Tools in jeder Stufe ihres Betriebs gefordert werden. Derartige Information kann vom Benutzer des Systems, vom Bediener oder von anderen Tools in dem System erlangt werden. Wird die Information von dem Bediener erlangt, so ist es vorzuziehen, daß der Bediener so wenig Information wie möglich zur Verfügung stellt, wobei Standardeingaben für die meisten der geforderten Eingaben verfügbar sind, und daß der Benutzer dazu aufgefordert wird, alle geforderten Eingaben zur Verfügung zu stellen. Dem Benutzer können auch sämtliche wahlweisen Eingaben angezeigt werden, die in dieser Stufe verfügbar sind. Vorzugsweise geht das System nicht mit dem angezeigten Vorgang weiter, bis der Benutzer sämtliche geforderten Eingaben zur Verfügung gestellt hat und diese Eingaben gültig sind.Another requirement for a system that the Control the operation of a large number of software tools, is the ability to collect information interactively required by these tools at every stage of their operations become. Such information can by the user of the Systems, by the operator or by other tools in the system can be obtained. The information is provided by the operator obtained, it is preferable that the operator do so little Provides information as possible, where Standard inputs for most of the required inputs are available and that the user is prompted to do so will provide all required inputs. The user can also make all optional entries that are available at this level. Preferably the system does not go with the one displayed Process continues until the user has requested all  Has provided inputs and these inputs are valid.

Die Routine, die die voranstehend beschriebenen Funktionen zur Steuerung, andere nicht-grafische Eingaben und möglicherweise für bestimmte Arten grafischer Eingaben zur Verfügung stellt, wird als die Designüberprüfungs- oder dv-Routine bezeichnet. Fig. 13 ist ein Flußdiagramm dieser Routine, und Fig. 14 ist eine erläuternde Anzeige, die unter Verwendung dieser Routine erhalten wird.The routine that provides the functions described above for control, other non-graphical inputs and possibly for certain types of graphical inputs is referred to as the design check or dv routine. Fig. 13 is a flowchart of this routine, and Fig. 14 is an explanatory display obtained using this routine.

In Fig. 13 geht das Programm mit dem Startschritt 360 von Epic oder einem anderen geeigneten Softwaretool los, welches auf dem System läuft. dv kann immer dann aufgerufen werden, wenn es erforderlich ist, interaktiv Daten oder anderes geeignetes Material in das System einzugeben.In FIG. 13, the program starts with the start step 360 from Epic or another suitable software tool that runs on the system. dv can be called up whenever it is necessary to enter interactive data or other suitable material into the system.

Der nächste Schritt im Betriebsablauf, Schritt 362, ist das Einlesen von Grafik- und Menüinformation für dv, die an einem geeigneten Ort im Bereich 95 des Speichers 28 gespeichert ist, und die Anzeige der grundlegenden dv-Ikonanzeige. Die dv-Ikons sind im Bereich 364 in Fig. 14 gezeigt, und dieser Abschnitt der in Fig. 14 gezeigten Anzeige ist das, was ursprünglich auf dem Bildschirm der Anzeigevorrichtung 30 erscheinen würde.The next step in the operational flow, step 362, is to read in graphic and menu information for dv stored in a suitable location in area 95 of memory 28 and display the basic dv icon display. The dv icons are shown in area 364 in FIG. 14, and this portion of the display shown in FIG. 14 is what would originally appear on the screen of display device 30 .

Das System liest dann die Epic-Regeln, die für diesen Task geeignet sind, vom Bereich 90 des Speichers 28 ein und speichert diese Regeln als eine verstandene Task-Liste, deren Funktion später beschrieben wird (Schritt 366). Während des Schrittes 368, dem nächsten Schritt im Betrieb, liest das System die dv-Regeln aus dem Bereich 94 des Speichers 28, oder zumindest den Anteil dieser Regeln, die für das momentan laufende Softwaretool oder die momentan laufenden Softwaretools relevant sind, und speichert diese Regeln als eine Task-Befehlsliste. Diese Regeln definieren spezielle Befehle für das betreffende Tool und enthalten u. a. Standardeingaben für unterschiedliche Stufen in dem Tool. Ein beispielhafter Abschnitt einer dv-Regeldatei ist in Fig. 13A gezeigt.The system then reads the epic rules suitable for this task from the area 90 of the memory 28 and stores these rules as an understood task list, the function of which will be described later (step 366). During step 368, the next step in operation, the system reads the dv rules from area 94 of memory 28 , or at least the portion of these rules that are relevant to the software tool or software tools currently running, and stores them Rules as a task command list. These rules define special commands for the tool in question and contain, among other things, standard inputs for different levels in the tool. An exemplary portion of a dv rules file is shown in FIG. 13A.

Dann liest das System die schematischen Designdateien während des Schrittes 370. Dies sind Dateien, die Information betreffend das betrachtete Schema enthalten, einschließlich beispielsweise einer Erläuterung der Bedeutung jedes Kastens in einem Schema. Die schematischen Designdateien werden ebenfalls an einem geeigneten Ort in dem RAM des Prozessors 22 gespeichert.The system then reads the schematic design files during step 370. These are files that contain information regarding the scheme under consideration, including, for example, an explanation of the meaning of each box in a scheme. The schematic design files are also stored in a suitable location in the RAM of the processor 22 .

Soweit ein ähnlicher Task vorher durchgeführt wurde und irgendwelche Information, die bei einem derartigen vorherigen Lauf erzeugt wurde, für zukünftige Bezugnahme gespeichert wurde, wird derartige Information ebenfalls zurückgeholt und im Schritt 372 in das RAM des Prozessors eingeschrieben. Wenn daher die Schritte 362 bis 372 beendet sind, hat das System eine erhebliche Menge an Informationen und Regeln angesammelt, die erforderlich sein können, um die dv-Funktion durchzuführen. Es wird darauf hingewiesen, daß zwar die Information in einer bestimmten Reihenfolge in Fig. 13 zurückgeholt und gespeichert wurde, daß diese Reihenfolge allerdings nur zum Zwecke der Erläuterung angegeben ist, und daß die Information in jeder gewünschten Reihenfolge zurückgeholt und gespeichert werden kann.Insofar as a similar task has been previously performed and any information generated in such a previous run has been saved for future reference, such information is also retrieved and written to the processor RAM in step 372. Therefore, when steps 362 through 372 are completed, the system has accumulated a significant amount of information and rules that may be required to perform the dv function. It should be noted that although the information has been retrieved and stored in a particular order in Fig. 13, this order has been given for purposes of illustration only and that the information can be retrieved and stored in any order desired.

Der nächste Schritt im Betrieb ist der Schritt 374, in welchem ein Kanal geöffnet wird, um mit Epic zu kommunizieren. Dies ist ein bidirektionaler Kanal. Falls dieser Kanal nicht geöffnet werden kann, wird das Programm abgebrochen.The next step in operation is step 374, in which opens a channel to use Epic communicate. This is a bidirectional channel. If  this channel cannot be opened, the program canceled.

Sobald die voranstehend beschriebenen, einleitenden Funktionen beendet sind, geht der Betrieb mit dem Schritt 376 weiter und wartet auf eine Eingabe. Nichts weiteres passiert, bis eine Ausgabe "JA" im Schritt 376 erhalten wird, die anzeigt, daß eine Eingabe empfangen wurde. Wenn eine Eingabe empfangen wird, geht der Betrieb zum Schritt 378 weiter, um zu ermitteln, ob die Eingabe eine Eingabe in bezug auf "Aussteigen" ist. Ist die Eingabe eine Ausstiegseingabe, die anzeigt, daß dv aufgerufen werden soll, so geht der Betrieb zum Schritt 380 über, um zu ermitteln, ob der Benutzer die Umgebung speichern möchte. Der Schritt 380 stellt die Fähigkeit zur Verfügung, entweder ausgewählte Tasks oder Regeln zu speichern, die von dem Benutzer modifiziert wurden, oder jedes andere Material zu speichern, welches von dem Systemintegrator in den Regeln oder Makros festgelegt wurde, und zwar durch den System-Operator oder den Hersteller des Systems in dem mit dem System bereitgestellten Material. Wenn Information gespeichert werden soll, so geht der Betrieb zum Schritt 382 über, um die angegebene Information zu speichern. Vom Schritt 380, falls eine Ausgabe "NEIN" erhalten wird, oder vom Schritt 382 geht der Betrieb zum Schritt 384 über, um aus der dv-Routine auszusteigen oder diese zu verlassen. Das Umgebungsmaterial, welches während des Schrittes 382 gespeichert wurde, ist dann das Material, welches während des Schrittes 372 gespeichert wird, wenn das Tool das nächste Mal abläuft.Once the introductory ones described above Functions are completed, operation continues with the step 376 and waits for an entry. Nothing more happens until an output "YES" is obtained in step 376 indicating that an input has been received. If an input is received, the operation goes to step 378 to determine if the input is an input in terms of "alighting". If the input is a Exit entry indicating that dv is being called , the operation proceeds to step 380 to determine whether the user wants to save the environment. Step 380 provides the ability either save selected tasks or rules that modified by the user, or any other Save material that is used by the system integrator in the rules or macros, by the system operator or the manufacturer of the system in the material provided with the system. If information the operation goes to step 382 to save the specified information. From Step 380 if an output "NO" is obtained, or from step 382, operation transfers to step 384 get out of the dv routine or leave it. The surrounding material, which during step 382 is then the material that was saved during of step 372 is saved when the tool expires next time.

Wird im Schritt 378 eine Ausgabe "NEIN" erhalten, wie dies normalerweise der Fall ist, so geht der Betrieb zum Schritt 386 über, um zu ermitteln, ob die Eingabe eine solche Eingabe ist, die durch Epic (also das in Fig. 4 gezeigte Programm) durchgeführt werden soll, anstatt durch dv. Dies wird unter Verwendung der Epic-Regeln ermittelt, die während des Schrittes 366 gespeichert wurden. Ist das Programm ein Programm, welches von Epic durchgeführt werden soll, so wird der Task an Epic (Schritt 388) durch den Kanal geschickt, der während des Schrittes 374 eingerichtet wurde. Vom Schritt 388 kehrt das System zum Schritt 376 zurück, um auf eine neue Eingabe zu warten.If an "NO" output is received in step 378, as is normally the case, operation proceeds to step 386 to determine if the input is such an input as that shown by Epic (i.e., that shown in FIG. 4) Program) should be carried out instead of by dv. This is determined using the Epic rules that were saved during step 366. If the program is a program that is to be carried out by Epic, the task is sent to Epic (step 388) through the channel that was set up during step 374. From step 388, the system returns to step 376 to wait for a new entry.

Falls der Task nicht durch Epic durchgeführt werden soll, geht der Betrieb zum Schritt 390 über, um festzustellen, ob der Task ein dv-Befehl ist. Ist der Task weder ein dv- oder ein Epic-Befehl, dann liegt ein Fehler vor, der dem System und/oder dem Benutzer während des Schrittes 392 auf geeignete Weise angezeigt wird. Vom Schritt 392 geht der Betrieb zum Schritt 376 zurück, um auf eine neue Eingabe zu warten. Die neue Eingabe kann beispielsweise eine Eingabe von dem Benutzer sein, welche den Fehler korrigiert.If the task should not be performed by Epic, the operation proceeds to step 390 to determine whether the task is a dv command. If the task is neither a DV or an Epic command, then there is an error that the System and / or the user during step 392 appropriately displayed. From step 392 the Operation returns to step 376 to start a new entry waiting. The new entry can be, for example Input from the user, which is the error corrected.

Ist der Befehl ein dv-Befehl, so geht der Betrieb zum Schritt 394 über, um die Art des dv-Befehls zu ermitteln, der empfangen wurde. Es gibt drei grundlegende Arten an dv-Befehlen, die allgemein bezeichnet sind als "Informationssammlung", "Übersetzung" und "Design-Lesen". Es wird anfänglich angenommen, daß während des Schrittes 394 ermittelt wird, daß der Befehl der Design-Lesebefehl ist. Unter dieser Bedingung geht der Betrieb zum Schritt 396 über, um das spezifische schematische Diagramm zu lesen und zu speichern, welches an diesem Punkt des Betriebs des Tools erzeugt wurde, beispielsweise das auf dem Bildschirm in Fig. 14 gezeigte schematische Diagramm, und auch die GRM-Alias-Information zu lesen und zu speichern für ein derartiges Tool, und für ein Tool, an welches das Schema übertragen werden soll, oder die GRM-Alias-Information zwischen dem Schema an seinem Hierarchieniveau und einem höheren oder niedrigeren Hierarchieniveau, auf welches das Schema übertragen werden soll. Die während des Schrittes 396 gespeicherte Information wird durch spätere Befehle genutzt, um die gewünschte Wandlung durchzuführen. Vom Schritt 396 kehrt der Betrieb zum Schritt 376 zurück, um auf eine neue Eingabe zu warten.If the command is a dv command, operation proceeds to step 394 to determine the type of dv command that was received. There are three basic types of dv commands, commonly referred to as "information gathering", "translation" and "design reading". It is initially assumed that it is determined during step 394 that the command is the design read command. Under this condition, operation proceeds to step 396 to read and save the specific schematic diagram generated at that point in the tool's operation, such as the schematic diagram shown on the screen in FIG. 14, and also the GRM Read and store alias information for such a tool, and for a tool to which the schema is to be transferred, or the GRM alias information between the schema at its hierarchical level and a higher or lower hierarchical level to which the Scheme to be transferred. The information stored during step 396 is used by later commands to perform the desired conversion. From step 396, operation returns to step 376 to wait for a new entry.

Falls festgestellt wird, daß die Eingabe ein Übersetzungsbefehl ist, so bedeutet dies, daß eine Übersetzung für ein bestimmtes schematisches Element oder Bestandteil oder auf einem anderen Element oder Bestandteil ausgeübt werden soll, welches dem Benutzer angezeigt wird. Während des Schrittes 398 wird der Benutzer dazu aufgefordert, den Bestandteil oder das andere Element anzugeben, auf welchem die Operation durchgeführt werden soll. Sobald der Benutzer diesen Vorgang beendet, greift während des Schrittes 400 in Reaktion auf die Benutzereingabe dv auf die Datenbasis zu, die während des Schrittes 396 oder 370 gespeichert wurde, um den angegebenen Gegenstand zu übersetzen. Während des Schrittes 402 wird der übersetzte Gegenstand an Epic geschickt, falls dies geeignet ist, und zwar über den während des Schrittes 374 erzeugten Kanal. Einige übersetzte Gegenstände werden nur in dv gespeichert oder können so auf andere Weise umgeleitet werden, wie das durch dv-Regeln angezeigt ist, oder woanders hin. Sobald der Schritt 402 beendet ist, kehrt der Betrieb zum Schritt 376 zurück, um auf eine neue Eingabe zu warten. If it is determined that the entry is a Is a translation command, it means that a Translation for a specific schematic element or Component or on another element or Component should be exercised, which the user is shown. During step 398, the User prompted for the ingredient or that specify other item on which the operation to be carried out. Once the user has this Process completed, intervenes during step 400 Response to the user input dv to the database, saved during step 396 or 370, to translate the specified subject. During the Step 402 becomes the translated item to Epic sent, if appropriate, through the Channel created during step 374. Some Translated items are only saved in dv or can be redirected in a different way than that is indicated by dv rules, or somewhere else. As soon as step 402 is completed, the operation returns to step 376 back to wait for a new entry.  

Falls festgestellt wird, daß der dv-Befehl ein Informationssammelbefehl ist, so geht der Betrieb vom Schritt 394 zum Schritt 404 über, in welchem dem Benutzer auf dem Bildschirm des Anzeigegerätes 30 eine Standardtaskbefehlseinstellung gezeigt wird, welche die folgenden drei Elemente enthalten kann:If it is determined that the dv command is an information gathering command, operation proceeds from step 394 to step 404 where the user is shown a standard task command setting on the screen of display device 30 which may include the following three elements:

  • 1. Eine Liste von Standardangaben, die für die gegebene Stufe im Betrieb des Softwaretools geeignet ist. Diese werden durch den Systemintegrator des Benutzers oder durch den Hersteller des Systems zur Verfügung gestellt.1. A list of standard information required for the given level in the operation of the software tool is suitable. These are done by the system integrator of the user or provided by the manufacturer of the system.
  • 2. Eine Anzeige von Eingaben, bei denen es erforderlich ist, daß sie vom Benutzer zur Verfügung gestellt werden. Dies können beispielsweise bestimmte Werte für Bauteile sein, beispielsweise Widerstands- oder Kapazitätswerte.2. A display of entries where it is required that it is available from the user be put. For example, this can be certain Values for components, for example resistance or Capacity values.
  • 3. Wahlweise Eingaben, die von dem Benutzer in dieser Stufe des Betriebs des Softwaretools zur Verfügung gestellt werden können, wobei das System jedoch auch ohne diese Eingaben weitermachen kann. Dies kann beispielsweise eine Anzeige eines Herstellers für ein Bauteil oder eine Farbkodierung von Drähten sein, die an diesem Punkt in das Design eingeführt werden könnten, die jedoch nicht erforderlich sind.3. Optional inputs by the user in this Level of operation of the software tool available can be put, but the system also without can continue these inputs. For example an advertisement from a manufacturer for a component or Color coding of wires that are at that point in the Design could be introduced, but not required are.

Der Benutzer kann eine oder sämtliche Standardeingabe akzeptieren oder diese ändern, muß erforderliche Eingaben für den Fortgang des Betriebs hinzufügen und kann irgendeine der wahlweisen Eingaben hinzufügen. Während des Schrittes 406 erfolgt eine Festlegung, ob der Benutzer irgendwelche Änderungen vorgenommen hat. Hat der Benutzer Änderungen vorgenommen, so geht der Betrieb zum Schritt 408 über, um die Änderungen in die interne Umgebung zu übernehmen, nämlich die Änderungen an dem geeigneten Ort im Speicher aufzuzeichnen. Vom Schritt 406 aus, falls eine Ausgabe "Keine Änderungen" vorliegt, oder vom Schritt 408 aus, geht der Betrieb mit dem Schritt 410 weiter, um zu ermitteln, ob sämtliche erforderlichen Änderungen durchgeführt wurden. Wurden nicht alle erforderlichen Änderungen durchgeführt, so geht der Betrieb zum Schritt 412 über, in welchem der Benutzer dazu aufgefordert wird, erforderliche Änderungen vorzunehmen. Dies umfaßt die Eingabe erforderlicher Eingaben an den angegebenen Orten. Die Aufforderung kann durch irgendeine geeignete Weise durchgeführt werden, beispielsweise durch Blinken oder eine andere Hervorhebung einer erforderlichen Änderung oder Eingabe, die noch nicht gemacht wurde. Vom Schritt 412 geht der Betrieb zum Schritt 406 über, um festzustellen, ob der Benutzer Änderungen durchgeführt hat, und über die Schritte 408 und 410 zu ermitteln, ob nunmehr alle erforderlichen Änderungen durchgeführt wurden.The user can use one or all of the standard input accept or change them, must be entered for the progress of operations and can add add any of the optional inputs. During the Step 406 determines whether the user made any changes. Has the user If changes are made, the operation goes to step  408 over to the changes in the internal environment take over, namely the changes in the appropriate place to record in memory. From step 406 if one Output "No changes" is present, or from step 408 off, operation continues to step 410 to determine whether any required changes were carried out. Were not all required If changes are made, the operation goes to step 412 in which the user is prompted to make any necessary changes. This includes the Entry of required entries at the specified locations. The request can be made by any suitable way be carried out, for example by flashing or another highlighting a necessary change or input that has not yet been made. From the step 412, operation proceeds to step 406 to determine if the user made changes and to determine via steps 408 and 410 whether all necessary changes have now been made.

Wurden alle erforderlichen Änderungen durchgeführt, so geht der Betrieb zum Schritt 414 über, um den geeigneten Epic-Task zu ermitteln, beispielsweise den vom Benutzer ausgewählten Task. Dieser Epic-Task wird dann im Schritt 402 an Epic geschickt, falls dies geeignet ist, zusammen mit Information, die mittels dv über den Kanal gesammelt wurde, der während des Schrittes 374 eingerichtet wurde, und dann kehrt der Betrieb zum Schritt 376 zurück, um auf die nächste Eingabe zu warten.If all the necessary changes have been made, then Operation transfers to step 414 to determine the appropriate one Identify Epic task, such as that of the user selected task. This epic task is then in step 402 sent to Epic together, if appropriate with information collected via dv through the channel set up during step 374, and then operation returns to step 376 to to wait for the next entry.

Das voranstehend beschriebene dv-Programm ist dazu ausgebildet, alphanumerische und andere Steuerinformation von einem Benutzer zu sammeln. Allerdings ist es beim Entwurf elektronischer Schaltungen und insbesondere bei der Durchführung von Simulationsprogrammen im Zusammenhang mit derartigen Entwürfen häufig erforderlich, ausgewählte Grafikdaten und insbesondere bestimmte analoge oder digitale Signalformen in das System einzugeben. Bezüglich dv ist es wünschenswert, daß der Benutzer dazu aufgefordert wird, solche Grafikdaten, soweit erforderlich, zur Verfügung zu stellen- daß für den Benutzer in den meisten Situationen Standardeingaben verfügbar sind, und daß der Gesamtbetrieb für den Operator so einfach und narrensicher wie möglich ist. Es ist ebenfalls wesentlich, daß die Routine dazu ausgebildet ist, mit Softwaretools von verschiedenen unterschiedlichen Quellen zu arbeiten, welche Signalformen in verschiedenen Sprachen zur Verfügung stellen können, unterschiedliche Namen benutzen und/oder unterschiedliche Formate einsetzen, und daß Übersetzungen oder Interpretationen durch das System auf eine Weise zur Verfügung gestellt werden, die sowohl für den Benutzer als auch für den Simulator oder ein anderes Softwaretool transparent ist, für welches Information gesammelt wird. Der Bediener (Operator) sollte die Wahl haben, entweder bereits existierende Signalformen auszuwählen oder andere Grafiken oder seine eigene Signalform auf dem Bildschirm der Anzeigevorrichtung 30 zu zeichnen, beispielsweise unter Benutzung der Maus 26.The dv program described above is designed to collect alphanumeric and other control information from a user. However, when designing electronic circuits and in particular when carrying out simulation programs in connection with such designs, it is often necessary to enter selected graphic data and in particular certain analog or digital signal forms into the system. Regarding dv, it is desirable that the user be prompted to provide such graphic data as necessary - that standard input be available to the user in most situations, and that the overall operation be as simple and foolproof as possible for the operator . It is also essential that the routine be designed to work with software tools from different different sources, which can provide waveforms in different languages, use different names and / or use different formats, and that translations or interpretations are made by the system provide a way that is transparent to both the user and the simulator or other software tool for which information is collected. The operator should have the choice of either selecting existing waveforms or drawing other graphics or his own waveform on the screen of display 30 , for example using mouse 26 .

Die erfindungsgemäße Routine, welche die verschiedenen, voranstehend angegebenen Fähigkeiten zur Verfügung stellt, wird als "Wavedit" bezeichnet. Zwar erfolgt die Erläuterung in bezug auf "Wavedit" in bezug auf Signalformeingaben, jedoch ist es offensichtlich, daß die beschriebenen Vorgehensweisen auch für andere Arten grafischer Eingaben verwendet werden könnten. Ein Flußdiagramm der Wavedit-Routine ist in Fig. 15 gezeigt, und Flußdiagramme unterschiedlicher Unterprogramme dieser Routine sind in den Fig. 16 bis 19 gezeigt.The routine according to the invention, which provides the various abilities specified above, is referred to as "Wavedit". While the explanation of "Wavedit" is for waveform inputs, it is obvious that the procedures described could be used for other types of graphical inputs. A flow chart of the Wavedit routine is shown in FIG. 15, and flow charts of various subroutines of this routine are shown in FIGS . 16 to 19.

Wie zuerst aus Fig. 15 hervorgeht, gelangt man in die Routine durch den Schritt 420. Der Eingang in die Routine kann in Reaktion auf eine Eingabe von Epic erfolgen, von einer der anderen Routinen oder einem der anderen Softwaretools, die auf dem System laufen, beispielsweise ein Simulator, der grafische Eingaben erfordert, oder in Reaktion auf eine geeignete Eingabe von dem Operator. Typischerweise gelangt man in Wavedit in Reaktion auf einen Befehl von einem Makro der Epic-Routine, die zur Durchführung einer Simulationsfunktion läuft.As is apparent first from Fig. 15, leads to the routine through the step 420. The input to the routine may be in response to an input from Epic, of one of the other routines, or any other software tools that run on the system, for example, a simulator that requires graphical input or in response to an appropriate input from the operator. Typically, Wavedit comes in response to a command from a macro of the epic routine that is running to perform a simulation function.

Nach dem Eingang in Wavedit besteht der erste Schritt, Schritt 422, darin, interne Daten zu initialisieren. Dies erfolgt automatisch in Reaktion auf Befehle, welche einen Teil der Wavedit-Routine bilden, und führt zum Einlesen erforderlicher Daten in das System aus den Wavedit-Dateien 98, um die Erzeugung einer Standardanfangsanzeige hervorzurufen, einschließlich einer Standardsignalform oder von Standardsignalformen und eines Standardmenüs. Die Standardanzeige kann übersteuert werden, wie nachstehend erläutert wird, nämlich durch Benutzereingaben.After entering Wavedit, the first step, step 422, is to initialize internal data. This is done automatically in response to commands that form part of the Wavedit routine and results in the necessary data being read into the system from the Wavedit files 98 to cause the generation of a standard initial display, including a standard waveform or waveforms and menu. The standard display can be overridden, as explained below, namely by user input.

Während des Schrittes 424, dem nächsten Schritt im Betriebsablauf, werden verschiedene Konfigurationsdateien in das System eingelesen. Fig. 16 stellt ein detaillierteres Flußdiagramm der Operationen dar, die im Zusammenhang mit dem Schritt 424 durchgeführt werden. In Fig. 16 ist der erste Schritt 426 das Öffnen einer Zustandsdefinitionsdatei. Die Zustandsdefinitionsdatei stellt Werte zur Verfügung, die für jeden digitalen Zustand angezeigt werden sollen, der in einer zu erzeugenden digitalen Signalform auftauchen kann. Als Minimum werden zwei digitale Zustände, 0 und 1, definiert. Jedoch können verschiedene Anstiegs- und Abfallzustände, ebenso wie andere digital definierte Zustände, die im Stand der Technik bekannt sind, in dem System verwendet werden. Jeder Zustand, der zusammen mit einem speziellen Ablauf der Wavedit-Routine verwendet werden soll, muß während des Schrittes 424 definiert werden. Typischerweise gibt es Standarddefinitionen für zumindest die binären Zustände 0 und 1. zusätzliche Standarddefinitionen können zur Verfügung gestellt werden. Diese sind verfügbar, wenn im Schritt 426 eine Zustandsdefinitionsdatei geöffnet wird, und werden während der Schritte 428 und 430 in das System eingelesen. Jede Definition in der Zustandsdefinitionsdatei gibt an, wie der Zustand beim Zeichnen aussieht, wie das System den Zustand identifiziert, und wie das System den Zustand betreffende Information weitergeben soll. Der Benutzer kann entweder die Standarddefinitionen akzeptieren oder eigene Definitionen auf geeignete Weise eingeben. Während des Schrittes 428 erfolgt eine Ermittlung, ob sämtliche Definitionen für den speziellen Ablauf der Wavedit-Routine eingegeben wurden, und im Schritt 430 wird eine zusätzliche Definition in die Tabelle eingelesen, falls noch nicht alle Definitionen gelesen wurden. Die Schritte 428 und 430 werden wiederholt, bis alle Definitionen eingegeben wurden, die für den speziellen Ablauf der Routine erforderlich sind.During step 424, the next step in the operational flow, various configuration files are read into the system. Fig. 16 illustrates a more detailed flow chart of the operations performed in connection with step 424. In Fig. 16, the first step 426 is the opening of a state definition file. The state definition file provides values that are to be displayed for each digital state that can appear in a digital signal form to be generated. At least two digital states, 0 and 1, are defined. However, various rise and fall states, as well as other digitally defined states known in the art, can be used in the system. Each state that is to be used in conjunction with a particular flow of the Wavedit routine must be defined during step 424. There are typically standard definitions for at least binary states 0 and 1 . additional standard definitions can be provided. These are available when a state definition file is opened in step 426 and are read into the system during steps 428 and 430. Each definition in the state definition file specifies what the state looks like when drawing, how the system identifies the state, and how the system should pass on information relating to the state. The user can either accept the standard definitions or enter their own definitions in a suitable manner. During step 428, a determination is made as to whether all definitions for the specific sequence of the Wavedit routine have been entered, and an additional definition is read into the table in step 430 if all definitions have not yet been read. Steps 428 and 430 are repeated until all definitions have been entered that are required for the particular flow of the routine.

Wurden alle Zustandsdefinitionen eingegeben, so geht der Betrieb zum Schritt 432 über. Während des Schrittes 432 erfolgt eine Ermittlung, ob sämtliche zustandslogikregeln aus dem Bereich 98 des Speichers in den RAM des Prozessors 22 eingelesen wurden. Zustandslogikregeln sind beispielsweise Regeln zur Durchführung Bool′scher Algebra, oder andere Regeln, welche potentielle Wechselwirkungen zwischen Signalformen definieren. Falls während des Schritts 432 festgestellt wird, daß noch nicht sämtliche zustandslogikregeln gelesen wurden, so geht der Betrieb zum Schritt 434 über, um zusätzliche Logikregeln in eine interne Logikregeltabelle in einem geeigneten Wavedit-Bereich eines RAM des Prozessors 22 einzulesen. Die Schritte 432 und 434 werden wiederholt, bis ermittelt wird, daß sämtliche Logikzustandsregeln eingelesen wurden, und zu diesem Zeitpunkt geht der Betrieb zum Schritt 436 über, um die Definitionsdateien zu schließen.Once all of the state definitions have been entered, operation proceeds to step 432. During step 432, a determination is made as to whether all the state logic rules from the area 98 of the memory have been read into the RAM of the processor 22 . State logic rules are, for example, rules for performing Boolean algebra, or other rules that define potential interactions between signal forms. If it is determined during step 432 that all of the state logic rules have not yet been read, operation proceeds to step 434 to read additional logic rules into an internal logic rule table in a suitable wavedit area of a processor 22 RAM. Steps 432 and 434 are repeated until it is determined that all of the logic state rules have been read in, and at that point operation transfers to step 436 to close the definition files.

Dann geht der Betrieb zum Schritt 438 über, um eine Filterlistendatei zu öffnen. Die Filterlistendatei enthält Informationen, welche es Wavedit gestatten, Eingaben von oder Übertragungen an ihre Ausgänge zu Softwaretools, im allgemeinen Simulatortools zu empfangen, welche bezüglich der Sprache oder des Formats mit Wavedit nicht kompatibel sind. Insbesondere gibt die Filterlistendatei ein Softwaretool an, welches dazu verwendet werden kann, geeignete Übersetzungen zwischen Wavedit und den externen Tool durchzuführen. Eine derartige Übersetzungsroutine kann RBI sein, oder ein anderes Übersetzungstool, welches in dem System verfügbar ist. Sobald eine Filterliste in einem geeigneten Bereich im RAM des Prozessors 22 geöffnet wurde, führt der Betriebsablauf die Schritte 440 und 442 durch, um zu ermitteln, ob es weitere Filterspezifikationen gibt, die aus dem Bereich 98 ausgelesen werden sollten, oder aus einem anderen geeigneten Ort, und zwar in die Filterlistendatei, und um die Filterspezifikationen in die interne Filterlistendatei einzulesen, bis sämtliche Filterspezifikationen in diese Datei eingelesen wurden. Falls dies auftritt, wird während des Schrittes 444 die Filterdatei geschlossen. Then operation proceeds to step 438 to open a filter list file. The filter list file contains information which allows Wavedit to receive inputs from or transmissions to its outputs to software tools, generally simulator tools, which are incompatible with Wavedit in terms of language or format. In particular, the filter list file specifies a software tool that can be used to carry out suitable translations between Wavedit and the external tool. Such a translation routine can be RBI or any other translation tool available in the system. Once a filter list has been opened in a suitable area in the RAM of processor 22 , the operational flow performs steps 440 and 442 to determine if there are other filter specifications that should be read from area 98 or from another suitable location , namely in the filter list file, and to read the filter specifications into the internal filter list file until all filter specifications have been read into this file. If this occurs, the filter file is closed during step 444.

Vom Schritt 444 geht der Betrieb zum Schritt 446 über, um Menüdateien in einen geeigneten Bereich in dem RAM des Prozessors für Wavedit einzulesen. Hier handelt es sich um verschiedene Menüs, die auf dem Bildschirm der Anzeigevorrichtung 30 während des Ablaufs der Wavedit-Routine erscheinen können. Die Menüs sind typischerweise Menüs aus Ikons. Der Lesemenüdateischritt umfaßt typischerweise auch eine Öffnung der Datei, eine Ermittlung, ob es mehr zu lesende Menüs gibt, ein Ablesen der Menüs und Schließen der Datei ebenso wie bei den vorherigen zwei Dateien, jedoch wurde zum Zwecke der Vereinfachung des Diagramms dieser Betrieb nur als ein einziger Schritt in Fig. 16 gezeigt.From step 444, operation proceeds to step 446 to read menu files into an appropriate area in the processor RAM for Wavedit. These are various menus that may appear on the display of the display device 30 while the Wavedit routine is running. The menus are typically menus made up of icons. The read menu file step typically also includes opening the file, determining if there are more menus to read, reading the menus, and closing the file as in the previous two files, but this operation has been considered only as one for the purpose of simplifying the diagram only step shown in FIG. 16.

Entsprechend wurde der Leebefehlsquellendateischritt 484 auch nur als ein einziger Schritt gezeigt, obwohl er auch vier getrennte Schritte umfassen würde. Die Befehlsquellendatei definiert Makros zur Verwendung beim Ablauf von Wavedit. Diese Makros, wie diejenigen für Epic, enthalten eine Schrittsequenz zur Durchführung einer bestimmten Funktion und sind in einer interpretativen Ausdehnungssprache beschrieben.Accordingly, the leeward source file step 484 was also shown as a single step, although it would include four separate steps. The command source file defines macros for use when Wavedit runs. These macros, like those for Epic, contain a sequence of steps to perform a specific function and are described in an interpretive extension language.

Nach Beendigung des Schrittes 448 ist der Lesekonfigurationsdateischritt beendet, und der Betrieb geht zum Schritt 450 (Fig. 15) über, um zu ermitteln, ob es irgendwelche zu lesenden Datendateien gibt. Dieser Schritt legt im allgemeinen fest, ob der Benutzer eine Signalformdefinition zur Verfügung gestellt hat, welche er angezeigt haben möchte. Hat der Benutzer keine Anzeige definiert, dann geht der Betrieb zum Schritt 452 über, um das System dazu in Bereitschaft zu setzen, eine Editierung ohne eine Datei durchzuführen. Dies bedeutet, daß dann, wenn eine Anzeige unter diesen Bedingungen erzeugt wird, die Anzeige eine Anzeige der Standardsignalformen und -menüs darstellen wird, die während des Schrittes 422 eingegeben wurden.After step 448 is completed, the read configuration file step is complete and operation proceeds to step 450 ( FIG. 15) to determine if there are any data files to be read. This step generally determines whether the user has provided a waveform definition that he wants to display. If the user has not defined a display, operation proceeds to step 452 to set the system ready to edit without a file. This means that if a display is generated under these conditions, the display will be a display of the standard waveforms and menus that were entered during step 422.

Hat der Benutzer Eingaben zur Verfügung gestellt, so geht der Betrieb vom Schritt 450 zum Schritt 454 über, um festzustellen, ob die von dem Benutzer eingegebene Datei ein Filtern erfordert. Filtern ist dann erforderlich, wenn die Eingabe von dem Programm einer dritten Partei empfangen wurde, statt beispielsweise von einer vorher existierenden Wavedit-Datei und bezüglich des Namens und des Formats mit Wavedit inkompatibel ist. Ist eine Filterung erforderlich, so geht der Betrieb zum Schritt 456 über, um das geeignete Filter oder Interpretations/Übersetzungs-Tool aufzurufen, wie es von der Filterlistendatei angegeben wird, die während der Schritte 438 bis 444 gespeichert wurde, um mit der Eingabe eine erforderliche Übersetzung oder andere Interpretationen durchzuführen.If the user has made entries available, then go operation from step 450 to step 454 to determine whether the file entered by the user filtering required. Filtering is required if the input from the third party program was received instead of, for example, from a previous one existing wavedit file and regarding the name and format is incompatible with Wavedit. Is a Filtering required, so operation goes to step 456 over to the appropriate filter or Call interpretation / translation tool as it is by the filter list file specified during the Steps 438 to 444 have been saved to input a required translation or other Perform interpretations.

Entweder vom Schritt 454, wenn eine NEIN-Ausgabe erhalten wird, oder vom Schritt 456 aus geht der Betrieb zum Schritt 458 über, um festzustellen, ob eine Wavedit-Datei existiert. Dieser Schritt besteht im wesentlichen darin, durch Nachsehen zu ermitteln, ob tatsächlich während der Interpretation, die im Schritt 456 durchgeführt wurde, eine Datei erzeugt wurde, oder aus der empfangenen Eingabe. Wurde eine Datei erzeugt, so wird die Datei gelesen und im Schritt 460 gespeichert. Wurde keine Datei erzeugt, so wird im Schritt 462 eine leere Datei erzeugt. Diese Datei kann später hinzugefügt werden, wenn Eingaben empfangen werden. Either from step 454 if a NO output is received or from step 456, the operation proceeds to Step 458 over to determine if there is a Wavedit file exists. This step essentially consists of by looking to see if actually during the Interpretation that was performed in step 456 a file was created, or from the received one Input. If a file was created, the file is read and saved in step 460. Was not a file an empty file is generated in step 462. This file can be added later when inputted be received.  

Vom Schritt 460 oder vom Schritt 462 geht der Betieb zum Schritt 464 über, um festzustellen, ob es weitere zu lesende Dateien gibt. Sind weitere Dateien zu lesen, so kehrt der Betrieb zum Schritt 454 zurück, um zu ermitteln, ob diese Dateien eine Filterung erfordern.From step 460 or step 462, the operation goes to Step 464 over to see if there are any more reading files there. If there are other files to be read, then so Operation returns to step 454 to determine whether these files require filtering.

Gibt es im Schritt 464 keine weiteren Dateien zu lesen, oder wird der Schritt 452 durchgeführt, so geht der Betrieb zum Schritt 466 über. Schritt 466 veranlaßt die Durchführung bestimmter Operationen zum Initialisieren des Systems zur Anzeige von Signalformen. Der Betrieb geht dann zum Schritt 468 über, um die Signalformen zu zeichnen. Fig. 18 ist ein detaillierteres Flußdigramm der Schritte, die beim Anzeigeschritt 468 des Zeichnens ablaufen.If there are no more files to read in step 464, or if step 452 is performed, the operation proceeds to step 466. Step 466 causes certain operations to initialize the waveform display system to be performed. Operation then proceeds to step 468 to draw the waveforms. Fig. 18 is a more detailed Flußdigramm the steps that take place when the drawing display step 468.

In Fig. 18 besteht Schritt 470, der erste Schritt in dieser Operation, darin zu ermitteln, ob es bei einer Ansicht weitere zu zeichnende Signalformen gibt. Zum diesem Zeitpunkt sollte erwähnt werden, daß eine Wavedit-Darstellung eine Hierarchie von Darstellungen enthält. Auf dem höchsten Niveau der Hierarchie befindet sich der Grafikbildschirm, auf welchem alles gezeichnet wird. Auf dem einzigen Grafikbildschirm kann eine oder mehrere Ansichten vorgesehen sein, wobei jede Ansicht eine Achse aufweist und eine oder mehrere Signalformen oder Spuren enthält. Daher führt der Schritt 470 ursprünglich eine Abfrage durch, ob in der ursprünglichen Ansicht Signalformen gezeichnet werden sollen. FIG. 18 is step 470, the first step in this operation to determine is whether there are more in one view to drawing waveforms. At this point it should be mentioned that a Wavedit representation contains a hierarchy of representations. At the highest level of the hierarchy is the graphics screen on which everything is drawn. One or more views can be provided on the single graphics screen, each view having an axis and containing one or more waveforms or tracks. Therefore, step 470 originally queries whether waveforms should be drawn in the original view.

Gibt es in einer anfänglichen Zeichnung zu zeichnende Signalformen, so geht der Betrieb zum Schritt 472 über, um die erforderlichen Operationen zum Zeichnen der erforderlichen Achse für die Ansicht und der Signalform durchzuführen, und erforderliche Etiketten auf der Ansicht durch die Signalform anzubringen.Is there to be drawn in an initial drawing Waveforms, the operation proceeds to step 472 the operations required to draw the required axis for the view and the waveform  perform, and required labels on the view by attaching the waveform.

Sobald Schritt 472 beendet ist, geht der Betrieb zum Schritt 474 über, um festzustellen, ob die Signalform digital ist. Ist die Signalform nicht digital, so geht der Betrieb zum Schritt 476 über, um die analoge Signalform zu zeichnen, unter Verwendung einer geeigneten Signalformerzeugungsroutine, welche keinen Teil der vorliegenden Erfindung bildet, unter Verwendung der X-Y-Zahlinformation, die für die analoge Signalform zur Verfügung gestellt ist.Once step 472 is completed, the operation goes to Step 474 to determine if the waveform is digital. If the signal form is not digital, then it goes Operation to step 476 to remove the analog waveform draw using an appropriate Waveform generation routine that is not part of the forms the present invention using the X-Y number information required for the analog waveform Is provided.

Wird festgestellt, daß die Signalform eine digitale Signalform ist, so geht der Betrieb zum Schritt 478 über, um zu ermitteln, ob es weitere Zustände in der Signalform gibt, welche angezeigt werden sollen. Gibt es weitere Zustände in der Signalform, welche angezeigt werden sollen, so geht der Betrieb zum Schritt 480 über, um den betreffenden Digitalzustand zu zeichnen, unter Verwendung der geeigneten Zustandsdefinition von der Zustandsdefinitionstabelle, die während der Schritte 426 bis 430 erzeugt wurde. Dann kehrt der Betrieb zum Schritt 478 zurück, um zu ermitteln, ob es weitere zu zeichnende Zustände gibt, und durchläuft die Schleifen der Schritte 478 und 480, um die gewünschte Signalform zu erzeugen, bis im Schritt 478 festgestellt wird, daß sämtliche Zustände der Signalform gezeichnet wurden.It is found that the waveform is digital Is waveform, the operation proceeds to step 478, to determine if there are other states in the waveform which are to be displayed. There are more States in the waveform that are displayed , the operation proceeds to step 480, around which to use the digital state in question the appropriate state definition from the State definition table created during steps 426 until 430 was created. Then the operation returns to the step 478 back to determine if there are more to be drawn States, and loops through the steps 478 and 480 to generate the desired waveform until it is determined in step 478 that all states the waveform were drawn.

Wenn das Zeichnen einer bestimmten Signalform beendet ist, so kehrt der Betrieb zum Schritt 470 zurück, um festzustellen, ob es in dieser bestimmten Ansicht weitere zu zeichnende Signalformen gibt. Gibt es weitere Signalformen, die in der Ansicht gezeichnet werden sollen, so geht der Betrieb zum Schritt 472 über, um der Ansicht für die neue Signalform eine Achse und/oder Etiketten hinzuzufügen, falls dies erforderlich ist, und geht dann zu den Schritten 474 bis 480 über, um die Signalform zu zeichnen. Wird während des Schrittes 470 festgestellt, daß es für diese bestimmte Ansicht keine weiteren, zu zeichnenden Signalformen gibt, so verzweigt der Betrieb zum Schritt 482, um festzustellen, ob es mehrere Ansichten gibt, die auf diesem Grafikbildschirm erscheinen sollen. Sollen weitere Ansichten auf dem Grafikbildschirm erscheinen, so kehrt der Betrieb zum Schritt 470 zurück, um festzustellen, ob es Signalformen für die neue Ansicht gibt, und, falls dies der Fall ist, geht es mit den Schritten 472 bis 480 weiter, um Etiketten und eine Achse für eine derartige Signalform zu zeichnen, und die Signalform zu zeichnen. Diese Operationssequenz dauert an, bis sämtliche Signalformen für eine zusätzliche Ansicht gezeichnet wurden, und dann kehrt der Betrieb zum Schritt 482 zurück, um zu ermitteln, ob es weitere zu zeichnende Ansichten gibt. Wurden sämtliche Ansichten gezeichnet, so wird im Schritt 482 eine NEIN-Ausgabe erhalten, was dazu führt, daß der Betrieb den Anzeigeschritt 468 für das Zeichnen verläßt.When drawing of a certain waveform is finished, so operation returns to step 470 to determine if there is any more in that particular view waveforms to be drawn. There are more Waveforms to be drawn in the view  so the operation proceeds to step 472 to view an axis and / or labels for the new signal form add if necessary and then go to steps 474 through 480 to obtain the waveform to draw. It is determined during step 470 that there are no more, for that particular view drawing signal forms, so the operation branches to step 482 to determine if there are multiple views that should appear on this graphic screen. Want more views on the graphics screen appear, the operation returns to step 470, to see if there are waveforms for the new view there, and if so, the Steps 472 through 480 continue to add labels and an axis to draw for such a waveform, and the Draw waveform. This sequence of operations continues until all waveforms for an additional view have been drawn, and then the operation returns to step 482 back to determine if there are more to draw Views there. If all views were drawn, so a NO output is obtained in step 482, plus causes the operation to display step 468 for the Drawing leaves.

Verläßt der Betrieb den Anzeigeschritt 468 für das Zeichnen, so geht er dann zum Schritt 486 über, um auf eine Eingabe zu warten. Wird im Schritt 486 eine Eingabe empfangen, so geht der Betrieb zum Schritt 488 über, um zu ermitteln, ob die Eingabe von der Tastatur empfangen wurde (eine Benutzereingabe) oder von Epic (Buchse). Wurde die Eingabe als eine Tasteneingabe von dem Benutzer oder von Epic empfangen, so geht der Betrieb zum Schritt 490 über, um den Befehl zu suchen, der von der Eingabe angefordert wurde. Ein Befehl kann entweder in den Makros gefunden werden, die während des Schrittes 448 eingegeben wurden, oder in internen Befehlen, die als Teil der Wavedit-Routine gespeichert wurden, wobei zunächst in einem Makro nach Befehlen gesucht wird, und dann in den internen Befehlen. Wird im Schritt 492 ein Befehl gefunden, so geht der Betrieb zum Schritt 494 aus, um den Befehl auszuführen.The operation exits the display step 468 for the Drawing, he then proceeds to step 486 to to wait for an input. An input is made in step 486 received, the operation proceeds to step 488 to determine whether the input was received from the keyboard (user input) or from Epic (socket). Was the Input as a key input from the user or from Received Epic, the operation proceeds to step 490, to look for the command requested by the input has been. A command can either be found in the macros  that were entered during step 448, or in internal commands that are part of the Wavedit routine were saved, initially in a macro is searched for commands, and then in the internal commands. In step 492, a command is issued found, the operation proceeds to step 494 to Execute command.

Fig. 17 ist ein detaillierteres Flußdiagramm des Befehlsausführungsschrittes 494 für einen beispielhaften Befehl, in diesem Fall einen Bewertungsbefehl. Der Bewertungsbefehl kann beispielsweise zur Ausbildung einer dritten Signalform aus einer Kombination zweier anderer Signalformen führen. Wenn während des Schrittes 496 ermittelt wird, daß für bestimmte Signalformen ein Bewertungsbefehl empfangen wurde, so geht der Betrieb zum Schritt 498 über, um festzustellen, ob die Signalformen digital sind. Sind die Signalformen nicht digital, so geht der Betrieb zum Schritt 500 über, um die Signalformen unter Verwendung mathematischer Standardfunktionen zu kombinieren, beispielsweise Varianz oder Covarianz, und unter Verwendung existierender Softwaretools, die nicht spezifisch einen Teil der vorliegenden Erfindung bilden. Fig. 17 is a more detailed flow diagram of instruction execution step 494 for an example instruction, in this case an evaluation instruction. The evaluation command can, for example, lead to the formation of a third signal form from a combination of two other signal forms. If it is determined during step 496 that an evaluation command has been received for certain waveforms, operation proceeds to step 498 to determine if the waveforms are digital. If the waveforms are not digital, operation proceeds to step 500 to combine the waveforms using standard mathematical functions such as variance or covariance, and using existing software tools that are not specifically part of the present invention.

Falls die Signalformen als digital festgestellt werden, so geht der Betrieb zum Schritt 502 über, um festzustellen, ob sämtliche digitalen Zustände der Signalformen, die kombiniert werden sollen, kombiniert wurden. Gibt es weitere, zu kombinierende digitale Zustände, so geht der Betrieb zum Schritt 504 über, um die entsprechenden Zustände der beiden Signalformen zu kombinieren, unter Verwendung der geeigneten Logikregeln aus der Logikregeltabelle, die während der Schritte 432 und 434 gespeichert wurde (Fig. 16). Eine derartige Kombination kann einen einzigen Schritt oder mehrere Schritte umfassen, abhängig von der Komplexität der Kombinationslogik. Vom Schritt 504 aus kehrt der Betrieb zum Schritt 502 zurück, um festzustellen, ob es weitere, zu kombinierende digitale Zustände gibt, und der Betrieb durchläuft die Schleifen der Zustände 502 und 504, bis sämtliche digitale Zustände der beiden, zu kombinierenden Signalformen tatsächlich kombiniert wurden. Wurde die Kombination der beiden Signalformen beendet, entweder als Ergebnis einer analogen Kombination unter Verwendung von Schritt 500, oder als das Ergebnis einer digitalen Kombination durch die Schritte 502 und 504, so geht der Betrieb zum Schritt 506 über, um eine neue Signalform aus dem Ausgang der kombinierten Signalformen zu erzeugen, und zum Schritt 508, in welchem die neue Signalform der Anzeige zugefügt wird. Die Signalform sollte unter Verwendung derselben Schritte zum ursprünglichen Hinzufügen einer Signalform zur Anzeige gemäß Fig. 18 hinzugefügt werden, wobei geeignete Eingaben bezüglich der Ansicht empfangen werden, in welcher die Signalform erscheinen soll.If the waveforms are determined to be digital, operation proceeds to step 502 to determine if all of the digital states of the waveforms to be combined have been combined. If there are other digital states to be combined, operation proceeds to step 504 to combine the corresponding states of the two waveforms using the appropriate logic rules from the logic rules table stored during steps 432 and 434 ( Fig. 16 ). Such a combination can include a single step or multiple steps, depending on the complexity of the combination logic. From step 504, operation returns to step 502 to determine if there are other digital states to be combined, and the operation loops through states 502 and 504 until all of the digital states of the two waveforms to be combined have actually been combined . If the combination of the two waveforms has ended, either as the result of an analog combination using step 500, or as the result of a digital combination through steps 502 and 504, operation proceeds to step 506 to output a new waveform of the combined waveforms and to step 508 where the new waveform is added to the display. The waveform should be added using the same steps to initially add a waveform to the display of FIG. 18, with appropriate input being received regarding the view in which the waveform is to appear.

Sobald Schritt 508 beendet ist, ist der Befehl fertig, und der Betrieb kehrt zum Schritt 510 zurück, um festzustellen, ob der Befehl korrekt ausgeführt wurde. Wurde während des Schrittes 492 kein Befehl gefunden, so wird eine Fehlernachricht im Schritt 512 ausgedruckt, und der Betrieb geht darüber hinaus zum Schritt 510 über, um festzustellen, ob der Befehl ordnungsgemäß ausgeführt wurde. Wird der Befehl nicht ordnungsgemäß ausgeführt, wie dies geschehen würde, falls man zu diesem Schritt über den Schritt 512 gelangt, so sucht der Betrieb nicht nach irgendwelchen weiteren Tastatur- oder Epic-Einträgen, sondern geht zum Schritt 514 über, um festzustellen, ob es eine Mauseingabe gibt. Once step 508 is complete, the command is finished, and the operation returns to step 510 to determine whether the command was executed correctly. If no command was found during step 492, then an error message is printed out in step 512, and operation also proceeds to step 510 to determine if the command executed properly has been. If the command does not run properly, like this would happen if you go to the step above If step 512 arrives, the company does not search any other keyboard or epic entries, but proceeds to step 514 to determine if it is gives a mouse input.  

Wird während des Schrittes 514 festgestellt, daß eine Mauseingabe vorhanden ist, so geht der Betrieb zum Schritt 518 über, um den Bereich auf der Anzeigevorrichtung zu finden, in welcher sich die Maus befindet. In dieser Situation liegt typischerweise die Maus in einem Bereich einer Signalform, die auf dem Bildschirm angezeigt wird. Die Maus kann mit mehreren Tasten versehen sein, beispielsweise drei Tasten, wobei jede Taste einen unterschiedlichen Befehl repräsentiert, der für den Bereich ausgeführt werden kann, über welchem sich die Maus befindet. Während des Schrittes 520, dem nächsten Schritt im Betrieb, wird der Befehl ermittelt, der als Ergebnis der auf der Maus betätigten Taste ausgeführt werden soll, und der Befehl wird ausgeführt. Ein derartiger Befehl könnte beispielsweise darin bestehen, einen Punkt auf der Signalform anzubringen, um eine Durchführung von Messungen an dem Punkt und ihre Aufzeichnung zu gestatten. Messungen können auch in Reaktion auf einen Befehl zwischen dem angezeigten Punkt und einem vorher angezeigten Punkt durchgeführt werden.If it is determined during step 514 that a If there is mouse input, the operation goes to step 518 over to the area on the display device find in which the mouse is located. In this Situation typically lies the mouse in an area a waveform that appears on the screen. The mouse can have multiple buttons, for example three buttons, each button having one represents a different command for the Area can be executed, over which the mouse located. During step 520, the next step in operation, the command is determined as a result the button pressed on the mouse is to be executed, and the command is executed. Such an order could be, for example, a dot on the Attach waveform to make measurements at the point and allow their recording. Measurements may also respond to a command between the displayed point and a previously displayed point be performed.

Gibt es im Schritt 514 keine Mauseingabe oder ist der Schritt 520 beendet, so geht der Betrieb zum Schritt 522 über, um festzustellen, ob es eine Menübefehlseingabe gibt. Eine Menübefehlseingabe wird dann erhalten, wenn sich beispielsweise die Maus über einem Ikon auf einem Menü befindet, welches dargestellt wird, und eine geeignete Taste betätigt wird. Ist eine Menübefehlseingabe vorhanden, so geht der Betrieb zum Schritt 524 über, um den Befehl zu finden, entweder in den gespeicherten Makros oder in dem internen Befehlssatz von Wavedit, und geht dann zum Schritt 526 über, um den Befehl auszuführen. Der Befehl wird im wesentlichen auf die gleiche Weise ausgeführt wie der Befehl im Schritt 494, wie für einen beispielhaften Befehl in Fig. 17 dargestellt ist. If there is no mouse input in step 514 or step 520 is ended, operation proceeds to step 522 to determine if there is a menu command input. A menu command input is obtained when, for example, the mouse is over an icon on a menu that is being displayed and an appropriate key is pressed. If there is menu command input, operation proceeds to step 524 to find the command, either in the stored macros or in Wavedit's internal command set, and then proceeds to step 526 to execute the command. The command is executed in essentially the same manner as the command in step 494, as shown for an exemplary command in FIG. 17.

Wenn im Schritt 522 keine Menüeingabe gefunden wird, oder wenn die Ausführung eines Befehls im Schritt 526 beendet ist, so kehrt der Betrieb zum Schritt 486 zurück, um auf eine zusätzliche Eingabe zu warten. Die beschriebenen Operationen werden für zusätzliche Eingaben wiederholt, bis ein Ausstiegsbefehl festgestellt wird, als Ergebnis entweder einer Tastatur- oder Epic-Eingabe oder einer Menüeingabe.If no menu entry is found in step 522, or when execution of an instruction ends in step 526 If so, the operation returns to step 486 to waiting for an additional input. The described Operations are repeated for additional inputs, until an exit command is found, as a result either a keyboard or epic input, or one Menu entry.

Fig. 19 erläutert die Operationssequenz, die dann auftritt, wenn dieser Befehl festgestellt wird. Wenn in Fig. 19 ein Ausstiegsbefehl während des Schrittes 530 ermittelt wird, so geht der Betrieb zum Schritt 532 über, um festzustellen, ob alle geänderten Daten gerettet wurden. Wurden nicht alle geretteten Daten geändert, dann geht der Betrieb zum Schritt 534 über, um den Benutzer darüber zu informieren, daß benutzte, geänderte Daten nicht gerettet wurden, und den Benutzer dazu aufzufordern zu bestätigen, daß es zulässig ist, die Wavedit-Routine zu verlassen, was nämlich zum Verlust derartiger geänderter Daten führen würde. Gibt der Benutzer an, daß es nicht akzeptierbar ist auszusteigen, wobei sämtliche geänderten Daten nicht gerettet werden, dann verzweigt der Betrieb zum Schritt 536, um den Ausstiegsbefehl zu verlassen, und geht zu Wavedit zurück, um das Retten der geänderten Daten zu gestatten. Wird eine Ausgabe "JA" entweder während des Schrittes 532 oder des Schrittes 534 erhalten, so geht der Betrieb damit weiter, daß die Wavedit-Routine verlassen wird, wodurch die Operation beendet ist. Fig. 19 explains the sequence of operations that occurs when this command is detected. In Fig. 19, if an exit command is determined during step 530, operation proceeds to step 532 to determine if all of the changed data has been saved. If all of the saved data has not been changed, then operation proceeds to step 534 to inform the user that used, changed data has not been saved and to prompt the user to confirm that the Wavedit routine is allowed to be closed leave, which would lead to the loss of such changed data. If the user indicates that it is unacceptable to exit, and all changed data is not saved, then operation branches to step 536 to exit the exit command and returns to Wavedit to allow the changed data to be saved. If an "YES" output is received either during step 532 or step 534, operation continues by exiting the Wavedit routine, thereby completing the operation.

Es wurde daher ein System zur Verfügung gestellt, welches die Verwendung automatisierter Designsysteme und automatisierter Herstellungssysteme wesentlich vereinfacht, während es ein hohes Niveau an Konfigurierbarkeit zur Verfügung stellt, um spezielle Anforderungen eines gegebenen Benutzers zu erfüllen und mit Änderungen derartiger Anforderungen fertig zu werden, sobald sie auftreten. Das System gestattet die Verwendung von Tools, die bezüglich der Sprache, des Namens und/oder des Formats inkompatibel sind, auf eine Weise, die sowohl für den Benutzer als auch die Softwaretools vollständig transparent ist, und zwar all dies durch Verwendung eines einzigen integrierten Systems.A system was therefore made available which the use of automated design systems and automated manufacturing systems essential simplified while maintaining a high level  Configurability provides to special Meet requirements of a given user and cope with changes in such requirements, as soon as they occur. The system allows use of tools related to language, name and / or of the format are incompatible, in a way that both for the user as well as the software tools completely is transparent, all of this using a single integrated system.

Zwar wurde die Erfindung voranstehend unter Bezug auf eine bevorzugte Ausführungsform dargestellt und beschrieben, jedoch wird darauf hingewiesen, daß die Ausführungsform nur zum Zwecke der Erläuterung dient, und daß sich zahlreiche Änderungen der verschiedenen angegebenen Schritte und der Reihenfolge dieser Schritte durchführen lassen, und daß auch andere Änderungen bezüglich der Form und Einzelheiten durch einen Fachmann vorgenommen werden könnten, wobei man immer noch innerhalb des Wesens und Umfangs der Erfindung bleibt.While the invention has been described above with reference to a preferred embodiment shown and described, however, it is noted that the embodiment only for the purpose of explanation, and that numerous changes to the various specified Perform steps and the order of these steps leave, and that other changes in shape and details are made by a person skilled in the art could, while still within the essence and The scope of the invention remains.

Claims (69)

1. System zum Integrieren und Verwalten der Operationen mehrerer unterschiedlicher Softwaretools, von denen zumindest einige mit dem System inkompatibel sind, gekennzeichnet durch:
eine Einrichtung zum Speichern mehrerer Regelmakros, die sich jeweils auf einen bestimmten Prozeß beziehen;
eine Einrichtung zur Eingabe eines Prozesses in das System;
eine auf einen eingegebenen Prozeß reagierende Einrichtung zum Zurückholen eines entsprechenden Makros;
eine Ausführungseinrichtung, welche auf das zurückgeholte Makro reagiert, um ausgewählte Tools zur Ausführung in einer vorbestimmten Sequenz zu veranlassen;
eine Einrichtung zur Ermittlung, ob ein ausgeführtes Tool mit dem System kompatibel ist; und
eine auf die Ausführung eines inkompatiblen Tools reagierende Einrichtung zum Einkapseln des Tools, welche veranlaßt, daß sämtliche Übertragungen an das Tool und von diesem überprüft und interpretiert werden, soweit erforderlich.
1. System for integrating and managing the operations of several different software tools, at least some of which are incompatible with the system, characterized by :
means for storing a plurality of control macros, each relating to a particular process;
means for entering a process into the system;
means responsive to an input process for retrieving a corresponding macro;
execution means responsive to the retrieved macro to cause selected tools to execute in a predetermined sequence;
means for determining whether an executed tool is compatible with the system; and
a device responsive to the execution of an incompatible tool for encapsulating the tool, which causes all transfers to and from the tool to be checked and interpreted, if necessary.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß eine Liste der in dem System zu verwendenden Softwaretools vorgesehen ist, wobei die Liste in der Speichereinrichtung gespeichert ist, und eine Anzeige in der Liste für jedes Tool bezüglich der Tatsache vorgesehen ist, ob das Tool ein inkompatibles Tool ist.2. System according to claim 1, characterized in that a list of those to be used in the system Software tools is provided, the list in the Storage device is stored, and a display in the list for each tool regarding the fact it is intended whether the tool is an incompatible tool. 3. System nach Anspruch 1, dadurch gekennzeichnet, daß die Einkapselungseinrichtung mehrere Interpretationsregeln an einem vorbestimmten Ort in einem Makro enthält, welche ein Softwaretool betreffen, das eine Einkapselung erfordert, eine Einrichtung zur Überprüfung jeder Übertragung zum Tool und von diesem für einen Gegenstand, auf welchen sich eine der Interpretationsregeln bezieht, und eine Einrichtung, die auf die Übertragung eines Gegenstands reagiert, auf welchen sich eine Interpretationsregel bezieht, zur Durchführung der in der Regel festgelegten Interpretation.3. System according to claim 1, characterized in that the encapsulation device several Rules of interpretation at a predetermined location in contains a macro, which is a software tool relate to encapsulation, one Facility to review every transfer to the tool and of this for an object upon which relates to one of the rules of interpretation, and one Establishment on the transfer of an object responds to which an interpretation rule relates to the implementation of the rule fixed interpretation. 4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Interpretationsregeln getrennte Regeln für Gegenstände umfassen, die von dem inkompatiblen Tool übertragen werden, und für Gegenstände, die an das Tool übertragen werden, und daß die Einrichtung zum Überprüfen und die Einrichtung zur Durchführung eine Überprüfung bzw. Durchführung in bezug auf die geeigneten Regeln für die Richtungen durchführen, in welcher ein Gegenstand übertragen wird.4. System according to claim 3, characterized in that the rules of interpretation separate rules for Items included by the incompatible tool transferred, and for items sent to the Tool are transferred and that the facility for Check and set up to carry out a Review or implementation of the carry out appropriate rules for the directions in which an object is transferred. 5. System nach Anspruch 4, dadurch gekennzeichnet, daß weiterhin eine Einrichtung vorgesehen ist, die betreibbar ist, wenn ein inkompatibles Tool ausgeführt wird, um zu ermitteln, ob die Interpretationsregeln zur Übertragung von einem derartigen Tool gespeichert werden sollten, daß eine Einrichtung zum Speichern derartiger Regeln vorhanden ist, sowie eine Einrichtung, die auf eine Ausgabe von diesem Tool reagiert, um die Regeln zurückzubringen und die Regeln dazu einzusetzen, Ausgaben von diesem Tool zu interpretieren.5. System according to claim 4, characterized in that a facility is also provided which is operable when an incompatible tool is run is used to determine whether the interpretation rules  saved for transfer from such a tool should be a facility for storing such rules exist, as well as a Facility based on an edition of this tool responded to bring back the rules and the rules to use to spend from this tool interpret. 6. System nach Anspruch 2, dadurch gekennzeichnet, daß die Regelmakros, einschließlich der Interpretationsregeln, in einer interpretativen Ausdehnungssprache geschrieben sind, die sowohl für den Menschen als auch die Maschine lesbar ist.6. System according to claim 2, characterized in that the control macros, including the Interpretation rules, in an interpretative Extension language is written, both for the machine as well as the machine is readable. 7. System nach Anspruch 6, dadurch gekennzeichnet, daß ein Makro Regeln für mehrere Softwaretools zur Durchführung einer gegebenen Funktion enthalten kann, wobei die Regeln die Reihenfolge angeben, in welcher die Tools ausgeführt werden sollen.7. System according to claim 6, characterized in that a macro rules for multiple software tools Performing a given function may include where the rules indicate the order in which the tools are to be run. 8. System nach Anspruch 7, dadurch gekennzeichnet, daß zumindest eines der Makros eine Regel enthält, welche das Zurückholen eines neuen Makros aus der Speichereinrichtung veranlaßt.8. System according to claim 7, characterized in that at least one of the macros contains a rule which retrieving a new macro from the Storage device causes. 9. System zum Integrieren und Verwalten der Operationen mehrerer unterschiedlicher Softwaretools, von denen zumindest einige mit dem System inkompatibel sind, gekennzeichnet durch:
eine Einrichtung zum Speichern mehrerer Regelmakros, von denen jedes eine bestimmte Funktion betrifft, wobei die Makros in einer interpretativen Ausdehnungssprache geschrieben sind, die sowohl für den Menschen als auch die Maschine lesbar ist;
eine Einrichtung zur Eingabe eines Prozesses in das System;
eine auf einen eingegebenen Prozeß reagierende Einrichtung zum Zurückholen eines korrespondierenden Makros;
eine auf das zurückgeholte Makro reagierende Einrichtung zur Veranlassung der Ausführung ausgewählter Tools in einer vorbestimmten Sequenz;
wobei ein Makro Regeln zum Steuern der Sequenzabfolge von Tools und der Schnittstellenbildung von Tools mit dem System enthalten kann, mit einem Benutzer und untereinander, und wobei ein Benutzer des Systems Regeln in existierenden Makros hinzufügen oder ändern kann, oder ein neues Makro hinzufügen kann, sämtlich in der interpretativen Ausdehnungssprache, wobei die Regeln von dem System erkannt werden und sofort in dieser Sprache ablaufen, wodurch das System einfach erneut konfiguriert werden kann.
9. System for integrating and managing the operations of several different software tools, at least some of which are incompatible with the system, characterized by:
means for storing a plurality of control macros, each relating to a particular function, the macros being written in an interpretive language of extension that is readable by both humans and machines;
means for entering a process into the system;
means responsive to an input process for retrieving a corresponding macro;
means responsive to the retrieved macro for causing selected tools to execute in a predetermined sequence;
wherein a macro can include rules for controlling the sequence of tools and the interfacing of tools with the system, with and between users, and where a user of the system can add or change rules in existing macros, or add a new macro, all of them in the interpretive extension language, whereby the rules are recognized by the system and run immediately in this language, which means that the system can easily be reconfigured.
10. System nach Anspruch 9, dadurch gekennzeichnet, daß das Format für zumindest eines der Tools von dem Format für ein anderes Tool verschieden ist, und daß eine Übertragung in zumindest einer Richtung zwischen dem einen und dem anderen Tool erfolgen kann;
wobei eine Regeldatei vorgesehen ist, die in einer interpretativen Ausdehnungssprache geschrieben ist, und Formatumwandlungsregeln für Tools mit inkompatiblen Formaten enthält;
eine Einrichtung vorgesehen ist, die betreibbar ist, wenn eine Übertragung zwischen bezüglich des Formats inkompatiblen Tools erfolgen soll, um die geeigneten Formatumwandlungsregeln aus der Regeldatei zurückzuholen; und
eine Einrichtung zur Verwendung der zurückgeholten Regeln vorgesehen ist, um die Formatumwandlung von Material zu steuern, welches zwischen den bezüglich des Formats inkompatiblen Tools übertragen werden soll.
10. System according to claim 9, characterized in that the format for at least one of the tools is different from the format for another tool, and that a transmission can take place in at least one direction between the one and the other tool;
providing a rules file written in an interpretive extension language and containing format conversion rules for tools with incompatible formats;
a device is provided which can be operated if a transfer between tools incompatible with the format is to take place in order to retrieve the appropriate format conversion rules from the rules file; and
means for using the retrieved rules is provided to control the format conversion of material to be transferred between the tools incompatible with the format.
11. System nach Anspruch 10, dadurch gekennzeichnet, daß zumindest zwei bezüglich des Formats inkompatible Tools auch bezüglich des Namens inkompatibel sind; und daß eine Einrichtung vorgesehen ist, um erforderliche Namensübersetzungen bei Material durchzuführen, welches zwischen den bezüglich des Namens inkompatiblen Tools übertragen wird.11. System according to claim 10, characterized in that at least two incompatible in format Tools are also incompatible with the name; and that a facility is provided to required Carry out name translations for material, which between those regarding the name incompatible tools. 12. System nach Anspruch 9, dadurch gekennzeichnet, daß zumindest einige der Tools bezüglich des Namens inkompatibel sind; und daß eine Regeldatei vorgesehen ist, die in einer interpretativen Ausdehnungssprache geschrieben ist, die Übersetzungsregeln für Tools enthält, die bezüglich des Namens inkompatibel sind; und eine Einrichtung, die betätigbar ist, wenn eine Übertragung zwischen bezüglich des Namens inkompatiblen Tools erfolgen soll, um geeignete Regeln in der Regeldatei einzusetzen, um erforderliche Übersetzungen zu bewirken, um die Tools kompatibel zu machen.12. System according to claim 9, characterized in that at least some of the tools related to the name are incompatible; and that a rules file is provided is that in an interpretive language of expansion is written, the translation rules for tools contains that are incompatible with the name; and a device that is actuable when one Transfer between regarding the name incompatible tools should be used to set appropriate rules in the rules file to use required Effect translations to make the tools compatible do. 13. System nach Anspruch 12, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um mit jeder Regeldatei eine Liste von Namensübersetzungen für die bezüglich des Namens inkompatiblen Tools zu speichern.13. System according to claim 12, characterized in that a facility is provided to work with everyone  Rules file a list of name translations for the save incompatible tools with respect to the name. 14. System nach Anspruch 13, dadurch gekennzeichnet, daß die Regeln und die korrespondierende Namensliste in einem Bildschirm gespeichert sind, wobei ein Namensübersetzungseintrag jedesmal dann der Liste zugefügt wird, wenn eine Übersetzung eines Namens erfolgt, der sich noch nicht auf der Liste befindet.14. System according to claim 13, characterized in that the rules and the corresponding list of names in a screen are stored, a Name translation entry then each time in the list is added when a translation of a name that is not yet on the list. 15. System nach Anspruch 14, dadurch gekennzeichnet, daß eine auf die Übertragung eines Namens, der eine Übersetzung erfordert, zwischen den bezüglich des Namens inkompatiblen Tools reagierende Einrichtung vorgesehen ist, um festzustellen, ob es einen Eintrag für diesen Namen in der Namensliste gibt, daß eine Einrichtung vorgesehen ist, die darauf reagiert, daß ein Eintrag für den Namen vorgesehen ist, um den Eintrag zur Übersetzung des Namens zu verwenden, und daß eine Einrichtung vorgesehen ist, die darauf reagiert, daß kein Eintrag für den Namen vorgesehen ist, um die geeigneten Regeln zur Übersetzung des Namens zu verwenden.15. System according to claim 14, characterized in that one on the transfer of a name, the one Translation requires between those regarding the Name incompatible tools responsive facility is provided to determine if there is an entry for this name in the list of names there is a Device is provided that responds to that an entry for the name is provided around the Use entry to translate name, and that a facility is provided which is based thereon responds that no entry is provided for the name is to follow the appropriate rules for translating the Name to use. 16. System nach Anspruch 15, dadurch gekennzeichnet, daß die Einrichtung zur Verwendung der geeigneten Regeln eine Einrichtung zum Suchen nach jeder geeigneten Regel umfaßt, um festzustellen, ob sie auf den Namen anwendbar ist, und eine Einrichtung zum Ausführen geeigneter Regeln, um die Übersetzung des Namens durchzuführen.16. System according to claim 15, characterized in that the facility to use the appropriate rules a facility to search for any suitable Usually includes to determine if they are on the name is applicable, and means for executing appropriate rules to translate the name perform. 17. System nach Anspruch 16, dadurch gekennzeichnet, daß eine Einrichtung zur Entfernung aller ungültigen Zeichen nach einer Namensübersetzung durch die Einrichtung zum Ausführen geeigneter Regeln vorgesehen ist.17. System according to claim 16, characterized in that a facility to remove all invalid ones  Character after a name translation by the Means provided for executing appropriate rules is. 18. System nach Anspruch 16, dadurch gekennzeichnet, daß eine Einrichtung zum Abschneiden eines übersetzten Namens auf eine geeignete Maximallänge vorgesehen ist.18. System according to claim 16, characterized in that a device for truncating a translated Name is provided to a suitable maximum length. 19. System nach Anspruch 16, dadurch gekennzeichnet, daß eine Einrichtung zur Zufügung irgendwelcher erforderlicher Vorsilben oder Nachsilben zu einem übersetzten Namen vorgesehen ist.19. System according to claim 16, characterized in that a facility for adding any required prefixes or suffixes to one translated name is provided. 20. System nach Anspruch 16, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um zu bestimmen, ob ein einzigartiger übersetzter Name für jeden zu übersetzenden Namen erforderlich ist, eine Einrichtung, die betreibbar ist, falls ein einzigartiger übersetzter Name erforderlich ist, ob zur Ermittlung der übersetzte Name einzigartig ist, eine Einrichtung, die betreibbar ist, wenn der übersetzte Name nicht einheitlich ist, um zu ermitteln, ob der übersetzte Name so modifiziert werden kann, daß er einzigartig ist, und eine Einrichtung zum Modifizieren des übersetzten Namens, so daß er einzigartig ist, wenn eine derartige Modifikation möglich ist.20. System according to claim 16, characterized in that means are provided for determining whether a unique translated name for everyone too translating name is required, a Facility that is operable if one unique translated name is required whether to determine the translated name is unique, a facility that is operable when the translated name is not uniform to determine whether the translated name modified in this way can be that it is unique, and one Facility for modifying the translated name, so that it is unique when such Modification is possible. 21. System nach Anspruch 20, dadurch gekennzeichnet, daß eine Einrichtung zur Anzeige für jeden Eintrag in der Namensliste vorgesehen ist, um anzuzeigen, ob dieser Eintrag zu einem übersetzten Namen gehört, der einzigartig sein muß. 21. System according to claim 20, characterized in that a facility for displaying each entry in the Name list is provided to indicate whether this Entry belongs to a translated name that must be unique.   22. System nach Anspruch 14, dadurch gekennzeichnet, daß eine Einrichtung zur Speicherung der Namensliste eines Bildschirms als eine Alias-Datei vorgesehen ist.22. System according to claim 14, characterized in that a device for storing the name list of a Screen is provided as an alias file. 23. System nach Anspruch 14, dadurch gekennzeichnet, daß eine Einrichtung zur Verwendung der Namensliste in einem Bildschirm vorgesehen ist, um aus erzeugten Namen Originalnamen zur Verfügung zu stellen, wobei nicht für jeden Originalnamen ein einzigartiger Name vorhanden ist, und wobei die Bereitstellungseinrichtung eine Liste von Originalnamen für jeden bei ihr eingesetzten erzeugten Namen zur Verfügung stellt.23. System according to claim 14, characterized in that a facility for using the name list in a screen is provided to be generated from Provide original names, where not a unique name for every original name is present, and being the Deployment facility a list of Original names for each generated one used by her Provides names. 24. System nach Anspruch 9, dadurch gekennzeichnet, daß eines oder mehrere der Tools eine geschachtelte Hierarchie von Material bezüglich einer Komponente umfassen kann, wobei unterschiedliche Namen für denselben Gegenstand an unterschiedlichen Niveaus in der Hierarchie verwendet werden; und
daß eine Regeldatei für Übersetzungen der Namen für die verschiedenen Hierarchieniveaus vorgesehen ist, sowie eine Einrichtung zur Verwendung der Regeldatei, um den geeigneten Namen für einen Gegenstand auf einem gegebenen Hierarchieniveau zu erhalten.
24. The system of claim 9, characterized in that one or more of the tools can comprise a nested hierarchy of material related to a component, using different names for the same item at different levels in the hierarchy; and
that a rules file is provided for translations of the names for the different hierarchy levels, and means for using the rules file to obtain the appropriate name for an item at a given hierarchy level.
25. System nach Anspruch 9, dadurch gekennzeichnet, daß
Eingabeinformationen von einem Benutzer für zumindest einige Tools erforderlich ist; und
Regeldateien vorgesehen sind, die in einer interpretativen Ausdehnungssprache geschrieben sind; und
eine Einrichtung zur Verwendung der Regeldateien vorgesehen ist, um aktiv angeforderte Eingabeinformation einzugeben.
25. System according to claim 9, characterized in that
User input information is required for at least some tools; and
Rule files are provided that are written in an interpretive extension language; and
a device is provided for using the rule files to enter actively requested input information.
26. System nach Anspruch 25, dadurch gekennzeichnet, daß die Regeldateien Standardeingaben für jede Stufe zur Verfügung stellen, an welcher Eingaben von jedem Tool gefordert werden, und daß eine Einrichtung vorgesehen ist, die betreibbar ist, wenn ein Tool auf einer Stufe ist, in welcher Eingaben zur Darstellung der Standardeingaben für diese Stufe für den Benutzer erforderlich sind, eine Einrichtung vorgesehen ist, um dem Benutzer die Vornahme von Änderungen der Standardeingaben zu gestatten, und eine Einrichtung vorgesehen ist, um die von dem Benutzer modifizierten Standardeingaben an das Tool weiterzugeben.26. System according to claim 25, characterized in that the rule files standard inputs for each level Provide what inputs from each tool be requested and that a facility is provided which is operable when a tool is at a level is in what inputs to represent the Standard inputs for this level for the user are required, a facility is provided to the user to make changes to the Allow standard inputs, and a facility is provided to be modified by the user Pass on standard inputs to the tool. 27. System nach Anspruch 26, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, die dem Benutzer eine Anzeige gestattet, daß er Eingaben zu einem Tool oder zum System zu machen wünscht.27. System according to claim 26, characterized in that a device is provided that the user Display allows him to make inputs to a tool or wants to turn it into a system. 28. System nach Anspruch 26, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um den Benutzer in der Standardeingabendarstellung bezüglich Gegenständen aufzufordern, welcher der Benutzer als Eingaben an der gegebenen Stufe dem Tool hinzufügen muß.28. System according to claim 26, characterized in that a device is provided to the user in the standard input representation for objects request which of the users as inputs on the must add the given level to the tool. 29. System nach Anspruch 28, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um einen weiteren Betrieb des Tools zu sperren, bis der Benutzer die erforderlichen Eingaben durchführt. 29. System according to claim 28, characterized in that one device is provided for another Operation of the tool lock until the user makes the necessary entries.   30. System nach Anspruch 28, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um den Benutzer in der Standardeingabenanzeige bezüglich zusätzlicher Gegenstände aufzufordern, welche der Benutzer als Eingaben an der gegebenen Stufe in dem Tool hinzufügen kann.30. System according to claim 28, characterized in that a device is provided to the user in the standard input display for additional To request items which the user considers to be Add inputs at the given level in the tool can. 31. System nach Anspruch 25, dadurch gekennzeichnet,
daß eine Einrichtung zum Speichern von Information, ein Design betreffend, und zum Speichern von Übersetzungsinformation, ein ausgewähltes Tool oder mehrere Tools betreffend, vorgesehen ist;
daß eine Einrichtung vorgesehen ist, um einen Benutzer dazu aufzufordern, ein Element des gespeicherten Designs auszuwählen, auf welchem eine ausgewählte Übersetzung durchgeführt werden soll; und
daß eine Einrichtung vorgesehen ist, die auf eine Benutzereingabe reagiert, um die ausgewählte Übersetzung bei dem Element durchzuführen, das von dem Benutzer ausgewählt wurde.
31. System according to claim 25, characterized in that
that means are provided for storing information relating to a design and for storing translation information relating to a selected tool or tools;
that means are provided for prompting a user to select an element of the stored design on which a selected translation is to be carried out; and
that means are provided that respond to user input to perform the selected translation on the item selected by the user.
32. System nach Anspruch 25, dadurch gekennzeichnet,
daß die erforderliche Eingabeinformation digitale grafische Information ist; und
daß eine Einrichtung vorgesehen ist, um Zustandsdefinitionen für gültige digitale Zustände für die grafische Information zu speichern;
eine Einrichtung zum Empfang grafischer Informationen, die eingegeben werden sollen, und
eine Einrichtung zum Einsatz der gespeicherten Zustandsdefinitionen, um die empfangene Grafikinformation darzustellen.
32. System according to claim 25, characterized in that
that the required input information is digital graphic information; and
that means are provided for storing state definitions for valid digital states for the graphic information;
means for receiving graphic information to be entered and
a device for using the stored status definitions to display the received graphic information.
33. System nach Anspruch 32, dadurch gekennzeichnet, daß die empfangenen Grafikinformationen entweder Standardgrafikinformation von dem System oder von einem Benutzer bereitgestellte Grafikinformation ist.33. System according to claim 32, characterized in that the graphic information received either Standard graphics information from the system or from graphic information provided to a user. 34. System nach Anspruch 32, dadurch gekennzeichnet, daß
die Einrichtung zum Speichern von Regeldateien eine Einrichtung zum Speichern von Logikregeln zur Operation auf der Grafikinformation aufweist;
eine Einrichtung zum Empfangen und Erkennen von Befehlen zur Operation auf der Grafikinformation; und
eine Einrichtung zum Einsatz geeigneter gespeicherter Logikregeln zur Ausführung eines empfangenen und erkannten Befehls.
34. System according to claim 32, characterized in that
the means for storing rule files comprises means for storing logic rules for operation on the graphic information;
means for receiving and recognizing commands to operate on the graphic information; and
a device for using suitable stored logic rules for executing a received and recognized command.
35. System nach Anspruch 32, dadurch gekennzeichnet,
daß die digitale Grafikinformation Signalformen sind; und
daß die Einrichtung zum Darstellen die gespeicherten Zustandsdefinitionen zum Steuern der Darstellung für jeden aufeinanderfolgenden Zustand einer darzustellenden Signalform einsetzt.
35. System according to claim 32, characterized in that
that the digital graphic information is waveforms; and
that the means for displaying uses the stored state definitions to control the display for each successive state of a waveform to be displayed.
36. Verfahren zum integrieren und Verwalten der Operationen mehrerer unterschiedlicher Softwaretools, von denen zumindest einige mit dem System nicht kompatibel sind, gekennzeichnet durch folgende Schritte:
Speichern mehrerer Regelmakros, von denen jedes einen bestimmten Prozeß betrifft;
Eingabe eines Prozesses in das System;
Zurückholen eines entsprechenden Makros in Reaktion auf einen eingegebenen Prozeß;
Ausführen ausgewählter Tools in einer vorbestimmten Sequenz in Reaktion auf das zurückgeholte Makro;
Ermittlung, ob ein Tool, welches ausgeführt wird, mit dem System kompatibel ist; und
Einkapseln des Tools und Veranlassung einer Überprüfung und Interpretation sämtlicher Übertragungen zum Tool und von dem Tool je nach Erfordernis in Reaktion auf die Ausführung eines inkompatiblen Tools.
36. Method for integrating and managing the operations of several different software tools, at least some of which are not compatible with the system, characterized by the following steps:
Storing multiple control macros, each relating to a particular process;
Entering a process into the system;
Retrieving a corresponding macro in response to an entered process;
Executing selected tools in a predetermined sequence in response to the retrieved macro;
Determining whether a tool that is running is compatible with the system; and
Encapsulating the tool and initiating a review and interpretation of all transfers to and from the tool as required in response to the execution of an incompatible tool.
37. Verfahren nach Anspruch 36, dadurch gekennzeichnet, daß eine Liste der in dem System zu verwendenden Softwaretools vorgesehen ist, wobei die Liste mit den Makros gespeichert wird, und in der Liste eine Anzeige für jedes Tool vorgesehen ist, ob das Tool ein inkompatibles Tool ist.37. The method according to claim 36, characterized in that that a list of those to be used in the system Software tools is provided, the list with the Macros is saved, and an ad appears in the list for each tool is provided whether the tool is a is incompatible tool. 38. Verfahren nach Anspruch 36, dadurch gekennzeichnet, daß der Einkapselungsschritt folgende Schritte umfaßt: Überprüfung mehrerer Interpretationsregeln an einem vorbestimmten Ort in einem Makro, welches ein Softwaretool betrifft, welches Einkapselung erfordert, während jeder Übertragung an das Tool und von dem Tool für einen Gegenstand, auf den eine der Interpretationsregeln zutrifft, und durch Durchführen der in der Regel angegebenen Interpretation in Reaktion auf die Übertragung eines Gegenstands, auf welchen eine Interpretationsregel zutrifft.38. The method according to claim 36, characterized in that the encapsulation step comprises the following steps: Review of multiple interpretation rules on one predetermined location in a macro which is a Software tool that requires encapsulation, during each transfer to and from the tool for an object to which one of the  Interpretation rules apply, and by performing the interpretation usually given in Response to the transfer of an item to which applies an interpretation rule. 39. Verfahren nach Anspruch 38, gekennzeichnet durch folgende Schritte, die durchgeführt werden, wenn eine Ausführung mit einem inkompatiblen Tool erfolgt: Ermitteln, ob die Interpretationsregeln zur Übertragung von einem derartigen Tool gespeichert werden sollen, in einer Einrichtung zum Speichern derartiger Regeln, und Zurückbringen der Regeln in Reaktion auf eine Ausgabe von dem Tool, und Verwendung der Regeln zur Interpretation von Ausgaben von diesem Tool.39. The method according to claim 38, characterized by following steps that are carried out when a Execution with an incompatible tool takes place: Determine whether the interpretation rules for Transfer saved by such a tool should be in a facility for storage such rules, and bringing the rules back into Respond to an output from the tool, and use the rules for interpreting expenditure from this Tool. 40. Verfahren nach Anspruch 37, dadurch gekennzeichnet, daß die Regelmakros einschließlich der Interpretationsregeln in einer interpretativen Ausdehnungssprache geschrieben sind, die sowohl für Menschen als auch Maschinen lesbar ist.40. The method according to claim 37, characterized in that the control macros including the Interpretation rules in an interpretative Extension language is written, both for Humans as well as machines is readable. 41. Verfahren nach Anspruch 40, dadurch gekennzeichnet, daß ein Makro Regeln für mehrere Softwaretools aufweisen kann, um eine bestimmte Funktion durchzuführen, wobei die Regeln die Reihenfolge festlegen, in welcher die Tools durchgeführt werden.41. The method according to claim 40, characterized in that that a macro rules for multiple software tools may have a specific function perform, the rules the order determine in which the tools are carried out. 42. Verfahren nach Anspruch 41, dadurch gekennzeichnet, daß zumindest eines der Makros eine Regel enthält, welche die Rückgewinnung eines neuen Makros aus der Speichereinrichtung verursacht. 42. The method according to claim 41, characterized in that that at least one of the macros contains a rule which is the recovery of a new macro from the Storage device caused.   43. Verfahren zum Integrieren und Verwalten der Operationen mehrerer unterschiedlicher Softwaretools, von denen zumindest einige nicht mit dem System kompatibel sind, gekennzeichnet durch folgende Schritte:
Speichern mehrerer Regelmakros, von denen jedes eine bestimmte Funktion betrifft, wobei die Makros in einer interpretativen Ausdehnungssprache geschrieben sind, die sowohl für Menschen als auch Maschinen lesbar ist;
Eingeben eines Prozesses in das System;
Zurückholen eines entsprechenden Makros in Reaktion auf einen eingegebenen Prozeß;
Ausführen ausgewählter Tools, die in einer vorbestimmten Sequenz ausgeführt werden sollen, in Reaktion auf das zurückgeholte Makro; und
wobei ein Makro Regeln zum Steuern der Sequenzfolge der Tools und der Schnittstellenverbindung der Tools mit dem System aufweisen kann, mit einem Benutzer und untereinander, und wobei ein Benutzer des Systems Regeln in existierenden Makros hinzufügen oder ändern kann, oder ein neues Makro hinzufügen kann, sämtlich in der interpretativen Ausdehnungssprache, wobei die Regeln von dem System erkannt werden und sofort in dieser Sprache ablaufen können, wodurch das System einfach erneut konfiguriert werden kann.
43. Method for integrating and managing the operations of several different software tools, at least some of which are not compatible with the system, characterized by the following steps:
Storing multiple control macros, each of which relates to a specific function, the macros being written in an interpretive language that is readable by both humans and machines;
Entering a process into the system;
Retrieving a corresponding macro in response to an entered process;
Executing selected tools to be executed in a predetermined sequence in response to the retrieved macro; and
wherein a macro may include rules for controlling the sequence of the tools and the interface of the tools with the system, with one user and with each other, and wherein a user of the system may add or change rules in existing macros, or add a new macro, all in the interpretive extension language, whereby the rules are recognized by the system and can run immediately in this language, whereby the system can be easily reconfigured.
44. Verfahren nach Anspruch 43, dadurch gekennzeichnet,
daß das Format für zumindest eines der Tools unterschiedlich von dem Format für ein anderes Tool ist, und eine Übertragung in zumindest einer Richtung zwischen dem einen und dem anderen Tool erfolgen kann;
wobei eine Regeldatei vorgesehen ist, die in einer interpretativen Ausdehnungssprache geschrieben ist, und Formatumwandlungsregeln für Tools mit inkompatiblen Formaten enthält; und
Schritte zum Zurückführen der geeigneten Formatumwandlungsregeln aus der Regeldatei, wenn eine Übertragung zwischen bezüglich des Formats inkompatiblen Tools erfolgen soll; und
wobei die zurückgeholten Regeln zum Steuern der Formatumwandlung von Material eingesetzt werden, welches zwischen den bezüglich des Formats inkompatiblen Tools übertragen werden soll.
44. The method according to claim 43, characterized in
that the format for at least one of the tools is different from the format for another tool, and that transmission can take place in at least one direction between the one and the other tool;
providing a rules file written in an interpretive extension language and containing format conversion rules for tools with incompatible formats; and
Steps for returning the appropriate format conversion rules from the rules file if there is to be a transfer between tools incompatible with the format; and
wherein the retrieved rules are used to control the format conversion of material to be transferred between the tools that are incompatible with the format.
45. Verfahren nach Anspruch 44, dadurch gekennzeichnet,
daß zumindest zwei bezüglich des Formats inkompatible Tools auch bezüglich des Namens nicht kompatibel sind, und
daß weiterhin der Schritt der Durchführung erforderlicher Namensübersetzungen auf Material vorgesehen ist, welches zwischen den beiden bezüglich des Namens inkompatiblen Tools übertragen wird.
45. The method according to claim 44, characterized in that
that at least two tools incompatible in terms of format are also incompatible in terms of name, and
that the step of performing the necessary name translations on material that is transferred between the two tools that are incompatible with the name is also provided.
46. Verfahren nach Anspruch 43, dadurch gekennzeichnet, daß zumindest einige der Tools bezüglich des Namens nicht kompatibel sind, und daß eine Regeldatei vorhanden ist, die in einer interpretativen Ausdehnungssprache geschrieben ist und Übersetzungsregeln für Tools enthält, die bezüglich des Namens nicht kompatibel sind; wobei die Schritte durchführbar sind, wenn eine Übertragung zwischen bezüglich des Namens inkompatiblen Tools erfolgt, daß geeignete Regeln in der Regeldatei genutzt werden, um die Übersetzungen durchzuführen, die dazu erforderlich sind, die Tools kompatibel zu machen.46. The method according to claim 43, characterized in that that at least some of the tools related to the name are not compatible and that a rules file is present in an interpretative Language of expansion is written and Contains translation rules for tools related to the name are not compatible; taking the steps are feasible when a transfer between  regarding the name of incompatible tools that appropriate rules in the rules file can be used to to carry out the translations required for this are to make the tools compatible. 47. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß eine Einrichtung zum Speichern, mit jeder Regeldatei, einer Liste von Namensübersetzungen für die bezüglich des Namens inkompatiblen Tools vorgesehen ist.47. The method according to claim 12, characterized in that that a facility for storing, with everyone Rules file, a list of name translations for the tools incompatible with the name is provided. 48. Verfahren nach Anspruch 47, dadurch gekennzeichnet, daß die Regeln und die entsprechende Namensliste in einem Bildschirm gespeichert werden, wobei ein Namensübersetzungseintrag der Liste jedesmal dann zugefügt wird, wenn eine Übersetzung für einen Namen durchgeführt wird, der sich noch nicht auf der Liste befindet.48. The method according to claim 47, characterized in that that the rules and the corresponding list of names in a screen can be saved, where a Then name translation entry of the list each time is added when a translation for a name is performed, which is not yet on the list located. 49. Verfahren nach Anspruch 48, dadurch gekennzeichnet, daß folgende Schritte vorgesehen sind: Feststellung, wenn eine Übertragung eines Namens, der eine Übersetzung erfordert, zwischen den bezüglich des Namens inkompatiblen Tools erfolgt, ob ein Eintrag für diesen Namen in der Namensliste vorhanden ist, und, falls ein Eintrag für den Namen vorhanden ist, Verwendung des Eintrags zur Übersetzung des Namens, und wenn kein Eintrag für den Namen vorhanden ist, Verwendung der geeigneten Regeln zur Übersetzung des Namens.49. The method according to claim 48, characterized in that the following steps are planned: if a transfer of a name, the one Translation requires between those regarding the Namely incompatible tools, whether an entry for that name is in the list of names, and, if there is an entry for the name, Use of the entry to translate the name, and if there is no entry for the name, Use the appropriate rules to translate the Called. 50. Verfahren nach Anspruch 49, dadurch gekennzeichnet, daß die Verwendungsschritte folgende Schritte umfassen: Betrachtung jeder geeigneten Regel, um zu ermitteln, ob sie auf den Namen anwendbar ist, und Einsetzen geeigneter Regeln zur Durchführung der Übersetzung des Namens.50. The method according to claim 49, characterized in that the usage steps following steps include: considering any suitable rule to  determine whether it is applicable to the name, and Establish appropriate rules for performing the Translation of the name. 51. Verfahren nach Anspruch 50, dadurch gekennzeichnet, daß weiterhin die Schritte der Entfernung jedes ungünstigen Zeichens nach einer Namensübersetzung während des Schrittes des Einsetzens geeigneter Regeln vorgesehen sind.51. The method according to claim 50, characterized in that continue the steps of removing each unfavorable character after a name translation during the step of implementing appropriate rules are provided. 52. Verfahren nach Anspruch 50, dadurch gekennzeichnet, daß die Schritte des Abschneidens eines übersetzten Namens auf eine geeignete Maximallänge vorgesehen sind.52. The method according to claim 50, characterized in that that the steps of cutting off a translated Name are provided to a suitable maximum length. 53. Verfahren nach Anspruch 50, dadurch gekennzeichnet, daß weiterhin der Schritt der Hinzufügung irgendwelcher geeigneter Vorsilben oder Nachsilben zu einem übersetzten Namen vorgesehen ist.53. The method according to claim 50, characterized in that that continue the step of adding any suitable prefixes or suffixes a translated name is provided. 54. Verfahren nach Anspruch 50, dadurch gekennzeichnet, daß weiterhin folgende Schritte vorgesehen sind: Ermittlung, ob ein einzigartiger übersetzter Name für jeden zu übersetzenden Namen erforderlich ist, und wenn ein einzigartiger übersetzter Name erforderlich ist, Ermittlung, ob der übersetzte Name einzigartig ist, und wenn der übersetzte Name nicht einzigartig ist, Ermittlung, ob der übersetzte Name so modifiziert werden kann, daß er einzigartig ist, und Modifizieren des übersetzten Namens so, daß er einzigartig ist, wenn diese Modifizierung möglich ist.54. The method according to claim 50, characterized in that the following steps are also planned: Determine whether a unique translated name for any name to be translated is required, and if a unique translated name is required is determining whether the translated name is unique and if the translated name is not unique is determining whether the translated name is modified in this way can become unique and modify the translated name so that it is unique, if this modification is possible. 55. System nach Anspruch 20, dadurch gekennzeichnet, daß eine Einrichtung zur Bezeichnung jedes Eintrags in der Namensliste in der Hinsicht vorgesehen ist, ob dieser Eintrag für einen übersetzten Namen dient, der einzigartig sein muß.55. System according to claim 20, characterized in that a facility to designate each entry in the Name list is provided in terms of whether this  Entry for a translated name that serves must be unique. 56. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß die Schritte des Speicherns der Namensliste eines Bildschirms als eine Alias-Datei vorgesehen sind.56. The method according to claim 14, characterized in that the steps of saving the name list of a Screen are provided as an alias file. 57. System nach Anspruch 48, dadurch gekennzeichnet, daß folgende Schritte vorgesehen sind: Verwendung der Namensliste in einem Bildschirm zur Bereitstellung von Originalnamen aus erzeugten Namen, wenn kein einzigartiger Name für jeden Originalnamen vorhanden ist, wobei der Bereitstellungsschritt eine Liste von Originalnamen für jeden hierbei eingesetzten erzeugten Namen bereitstellt.57. System according to claim 48, characterized in that the following steps are envisaged: using the Name list in a screen to provide Original names from generated names, if none unique name for each original name , the providing step being a list of Original names for each generated one Provides names. 58. Verfahren nach Anspruch 43, dadurch gekennzeichnet, daß ein Tool oder mehrere Tools eine geschachtelte Hierarchie von Material bezüglich eines Bauteils enthält bzw. enthalten, wobei unterschiedliche Namen für denselben Gegenstand auf unterschiedlichen Niveaus in der Hierarchie verwendet werden.58. The method according to claim 43, characterized in that one or more tools are nested Hierarchy of material related to a component contains or contain, with different names for the same item at different levels be used in the hierarchy. 59. Verfahren nach Anspruch 43, dadurch gekennzeichnet, daß von einem Benutzer für zumindest einige Tools Eingabeinformation erforderlich ist, wobei Regeldateien vorhanden sind, die in einer interpretativen Ausdehnungssprache geschrieben sind, und weiterhin der Schritt vorgesehen ist, die Regeldateien dazu einzusetzen, interaktiv erforderliche Eingabeinformation einzugeben.59. The method according to claim 43, characterized in that from a user for at least some tools Input information is required, where Rule files exist in one are written in the language of extension, and further the step is provided that Use rules files interactively enter required input information. 60. Verfahren nach Anspruch 59, dadurch gekennzeichnet,
daß die Regeldateien Standardeingaben für jede Stufe zur Verfügung stellen, an welcher Eingaben von jedem Tool gefordert werden; und
daß die Schritte der Darstellung der Standardeingaben für diese Stufe für den Benutzer vorgesehen sind, wenn sich ein Tool an einer Stufe befindet, an welcher Eingaben erforderlich sind, wodurch dem Benutzer die Vornahme von Änderungen an den Standardeingaben ermöglicht wird, um die von dem Benutzer modifizierten Standardeingaben an das Tool zu übertragen.
60. The method according to claim 59, characterized in
that the control files provide standard inputs for each level at which inputs are required by each tool; and
that the steps of displaying the standard inputs for that level are intended for the user when a tool is at a level where inputs are required, thereby allowing the user to make changes to the standard inputs to reflect those modified by the user Transfer standard inputs to the tool.
61. Verfahren nach Anspruch 60, dadurch gekennzeichnet, daß der Schritt vorgesehen ist, dem Benutzer eine Anzeige zu gestatten, daß er Eingaben zu einem Tool oder zum System zu machen wünscht.61. The method according to claim 60, characterized in that the step is provided to the user Allow ad to make inputs to a tool or wants to turn it into a system. 62. Verfahren nach Anspruch 60, dadurch gekennzeichnet, daß der Schritt vorgesehen ist, den Benutzer in der Standardeingabendarstellung bezüglich Gegenständen aufzufordern, welche der Benutzer als Eingaben an der gegebenen Stufe in das Tool hinzufügen muß.62. The method according to claim 60, characterized in that the step is provided to the user in the Standard input representation for objects to request which of the users as inputs on the given level in the tool. 63. Verfahren nach Anspruch 62, dadurch gekennzeichnet, daß der Schritt der Sperrung einer weiteren Operation des Tools vorgesehen ist, bis der Benutzer die erforderlichen Eingaben vornimmt.63. The method according to claim 62, characterized in that the step of blocking another operation of the tool is provided until the user makes the necessary entries. 64. Verfahren nach Anspruch 62, dadurch gekennzeichnet, daß der Schritt vorgesehen ist, den Benutzer in der Standardeingabedarstellung bezüglich wahlweiser Gegenstände aufzufordern, welcher der Benutzer als Eingaben an der gegebenen Stufe in das Tool hinzufügen kann.64. The method according to claim 62, characterized in that that the step is provided to the user in the Standard input representation regarding optional To request items which the user considers to be Add inputs to the tool at the given level can. 65. Verfahren nach Anspruch 59, dadurch gekennzeichnet,
daß die Schritte der Speicherung von Information, ein Design betreffend, vorgesehen sind; und
das Speichern von Übersetzungsinformation, welche ein ausgewähltes Tool oder mehrere Tools betrifft;
Auffordern eines Benutzers, ein Element des gespeicherten Designs auszuwählen- auf welchem eine ausgewählte Übersetzung durchgeführt werden soll; und
Durchführung, in Reaktion auf eine Benutzereingabe, der ausgewählten Übersetzung bei dem Element, welches von dem Benutzer ausgewählt wurde.
65. The method according to claim 59, characterized in
that the steps of storing information regarding a design are provided; and
storing translation information relating to a selected tool or tools;
Prompting a user to select an element of the saved design on which to perform a selected translation; and
Carrying out, in response to user input, the selected translation on the item selected by the user.
66. Verfahren nach Anspruch 59, dadurch gekennzeichnet,
daß die geforderte Eingabeinformation digitale Grafikinformation ist; und
daß folgende Schritte vorgesehen sind: Speichern von Zustandsdefinitionen für gültige digitale Zustände für die grafische Information;
Empfangen grafischer Informationen, die eingegeben werden sollen; und
Einsetzen der gespeicherten Zustandsdefinitionen zur Darstellung der empfangenen Grafikinformation.
66. The method according to claim 59, characterized in
that the required input information is digital graphic information; and
that the following steps are provided: storing state definitions for valid digital states for the graphical information;
Receiving graphical information to be entered; and
Use of the saved status definitions to display the received graphic information.
67. Verfahren nach Anspruch 66, dadurch gekennzeichnet, daß die empfangenen Grafikinformationen entweder Standardgrafikinformation von dem System oder durch einen Benutzer zur Verfügung gestellte Grafikinformation ist.67. The method according to claim 66, characterized in that that the graphic information received is either Standard graphics information from or through the system provided a user Graphic information is. 68. Verfahren nach Anspruch 66, dadurch gekennzeichnet, daß folgende Schritte vorgesehen sind: Speichern von Logikregeln zum Operieren auf der Grafikinformation;
Empfangen und Erkennen von Befehlen zum Operieren auf der Grafikinformation; und
Verwendung geeigneter, gespeicherter Logikregeln zur Ausführung eines empfangenen und erkannten Befehls.
68. The method according to claim 66, characterized in that the following steps are provided: storing logic rules for operating on the graphic information;
Receiving and recognizing commands to operate on the graphic information; and
Use appropriate, stored logic rules to execute a received and recognized command.
69. Verfahren nach Anspruch 66, dadurch gekennzeichnet, daß die digitale Grafikinformation Signalformen darstellt, und daß die gespeicherten Zustandsdefinitionen dazu verwendet werden, die Anzeigedarstellung für jeden aufeinanderfolgenden Zustand einer darzustellenden Signalform zu steuern.69. The method according to claim 66, characterized in that that the digital graphic information waveforms represents, and that the saved State definitions are used to that Display representation for each successive State of a waveform to be displayed Taxes.
DE4310615A 1993-03-31 1993-03-31 Designing electrical devices with multiple design tools that are at least partially incompatible with each other Expired - Lifetime DE4310615C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4310615A DE4310615C2 (en) 1993-03-31 1993-03-31 Designing electrical devices with multiple design tools that are at least partially incompatible with each other

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4310615A DE4310615C2 (en) 1993-03-31 1993-03-31 Designing electrical devices with multiple design tools that are at least partially incompatible with each other

Publications (2)

Publication Number Publication Date
DE4310615A1 true DE4310615A1 (en) 1994-10-06
DE4310615C2 DE4310615C2 (en) 1999-03-18

Family

ID=6484419

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4310615A Expired - Lifetime DE4310615C2 (en) 1993-03-31 1993-03-31 Designing electrical devices with multiple design tools that are at least partially incompatible with each other

Country Status (1)

Country Link
DE (1) DE4310615C2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041260A1 (en) * 1995-06-07 1996-12-19 Alliedsignal Inc. Reconfigurable algorithmic networks for aircraft data management
WO1998059284A2 (en) * 1997-06-25 1998-12-30 Samsung Electronics Co., Ltd. Method and apparatus for creating home network macros
WO2003003199A1 (en) * 2001-06-29 2003-01-09 Convergys Cmg Utah Inc. Method for creating application programming interfaces for internal applications
US6696930B1 (en) 2000-04-10 2004-02-24 Teledyne Technologies Incorporated System and method for specification of trigger logic conditions
US6915189B2 (en) 2002-10-17 2005-07-05 Teledyne Technologies Incorporated Aircraft avionics maintenance diagnostics data download transmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE Buch "Software Engineering" Gewald, Haake, Pfadler, R. Oldenbourg Verlag München Wien, 1982, S. 221-232 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041260A1 (en) * 1995-06-07 1996-12-19 Alliedsignal Inc. Reconfigurable algorithmic networks for aircraft data management
US5761625A (en) * 1995-06-07 1998-06-02 Alliedsignal Inc. Reconfigurable algorithmic networks for aircraft data management
WO1998059284A2 (en) * 1997-06-25 1998-12-30 Samsung Electronics Co., Ltd. Method and apparatus for creating home network macros
WO1998059284A3 (en) * 1997-06-25 1999-09-30 Samsung Electronics Co Ltd Method and apparatus for creating home network macros
US6696930B1 (en) 2000-04-10 2004-02-24 Teledyne Technologies Incorporated System and method for specification of trigger logic conditions
WO2003003199A1 (en) * 2001-06-29 2003-01-09 Convergys Cmg Utah Inc. Method for creating application programming interfaces for internal applications
US6915189B2 (en) 2002-10-17 2005-07-05 Teledyne Technologies Incorporated Aircraft avionics maintenance diagnostics data download transmission system

Also Published As

Publication number Publication date
DE4310615C2 (en) 1999-03-18

Similar Documents

Publication Publication Date Title
DE10051645B4 (en) Process control system and method for controlling a process
DE60207155T2 (en) Object-oriented Internet interface system for an industrial control device
DE69637436T2 (en) Object-oriented communication system with support for several remote machine types
DE60223593T2 (en) GRAPHIC CONFIGURATION OF PROGRAMMAGE VISION RELATIONS
DE60003457T2 (en) METHOD AND SYSTEM FOR CONFIGURING COMPONENTS, OUTPUTABLE IN A NETWORK
DE10351351B4 (en) Method and system for the dynamic generation of user interfaces
EP1597675A1 (en) System and method for managing and exchanging the data of a technical project, technical installation and individual installation components
WO2015185328A1 (en) Computer-implemented method and signal sequence for a program for reusing software configurations that can be executed for software systems, and computer system, and a computer program with program code for carrying out the method
EP1589416A2 (en) Method and system for generating a source code for a computer program
DE10250836A1 (en) Network navigation method in computer network, involves displaying number of bookmark indicators each of which is associated with respective one of group associated bookmarks
DE102004043788A1 (en) Personal computing device executes program based on individual programming code to provide predefined code and to define direct relation between input and output of data by user and attribute of classes in input model
EP1005215B1 (en) Method and system for editing configuration data in telecommunications systems
DE69907714T2 (en) COMPONENT-BASED SOURCE CODE GENERATOR METHOD
DE60032403T2 (en) Specially adapted reproduction and presentation of database information
DE10041072A1 (en) Automatic generation of program code involves forming symbol for component with interfaces in graphical editor, offering selection, generating code combining components
DE4310615C2 (en) Designing electrical devices with multiple design tools that are at least partially incompatible with each other
DE19615683A1 (en) Method and control device for a graphical control of processes in a network management system
DE102005018864B4 (en) Method and system for generating a source code for a computer program
EP1668494B1 (en) Method and system for configuring the language of a computer programme
DE10339112B4 (en) Method for generating at least one project reference model, method for generating structured configuration information by means of such a project reference model and device for carrying out, managing and organizing such methods
EP1044409B1 (en) Program flow method and method for expanding a program component system
EP3355186A1 (en) Creation and execution of software modules
DE10065323C2 (en) Method for controlling the arrangement of graphic elements
DE102004023634B4 (en) Method for checking the completeness and consistency of an information library
EP4147121A1 (en) Method for creating and executing a control program for controlling an automation system, and automation system

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right