DE102007060686A1 - Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit - Google Patents

Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit Download PDF

Info

Publication number
DE102007060686A1
DE102007060686A1 DE200710060686 DE102007060686A DE102007060686A1 DE 102007060686 A1 DE102007060686 A1 DE 102007060686A1 DE 200710060686 DE200710060686 DE 200710060686 DE 102007060686 A DE102007060686 A DE 102007060686A DE 102007060686 A1 DE102007060686 A1 DE 102007060686A1
Authority
DE
Germany
Prior art keywords
data processing
circuit
control circuit
processing circuit
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE200710060686
Other languages
German (de)
Inventor
Thomas Tyczynski
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.)
Technische Universitaet Dresden
Original Assignee
Technische Universitaet Dresden
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 Technische Universitaet Dresden filed Critical Technische Universitaet Dresden
Priority to DE200710060686 priority Critical patent/DE102007060686A1/en
Publication of DE102007060686A1 publication Critical patent/DE102007060686A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Abstract

The control circuit (100) has an input circuit (102), which is arranged to receive a specification of a mathematical problem, which is solved by the electronic data processing circuit (101). A detection circuit (103) is arranged to detect an algorithm, which is carried out by the electronic data processing circuit and solves the problem, when it is carried out by the electronic data processing circuit. Independent claims are included for the following: (1) a method for computerized control of an electronic data processing circuit; and (2) a computer program element, which causes the processor to execute a method for computerized control of an electronic data processing circuit.

Description

Die Erfindung betrifft einen Steuerschaltkreis, ein Verfahren und ein Computerprogrammelement zum Steuern eines elektronischen Datenverarbeitungsschaltkreises.The The invention relates to a control circuit, a method and a computer program element for controlling an electronic data processing circuit.

Es existieren eine Vielzahl von Programmiersprachen, die zur Programmierung von Computern, Mikrocontrollern und Steuerschaltkreisen verwendet werden können. Dabei gibt es sogenannte proprietäre Sprachen, d. h. Programmiersprachen, die beispielsweise nur von einer bestimmten Firma oder Gruppe unterstützt und verwendet wird, als auch Programmiersprachen, die von einem breiten Kreis von Programmierern eingesetzt wird.It There are a variety of programming languages available for programming used by computers, microcontrollers and control circuits can. There are so-called proprietary languages, d. H. programming languages, for example, supported only by a specific company or group and is used as well as programming languages by a wide Circle is used by programmers.

Zur Erstellung von Computerprogrammen, wobei im Folgenden unter einem Computerprogramm auch ein Programm für einen Mikrocontroller oder einen verhältnismäßig einfachen Steuerschaltkreis verstanden wird, werden typischerweise Editoren verwendet, mit deren Hilfe ein Programm-Quelltext erstellt wird, der von einem Compiler in die Maschinensprache des Zielsystems, d. h. des Computersystems, an das das Programm ausgehen soll, übersetzt wird. Je nach verwendetem Editor kann dieser die Funktionalität haben, syntaktische und bis zu einem gewissen Grad auch logische Fehler im Programm-Quelltext zu erkennen und den Programmierer darauf aufmerksam zu machen.to Creation of computer programs, hereinafter referred to as one Computer program also a program for a microcontroller or a relatively simple one Control circuitry is understood to be editors used to create a program's source code, from a compiler to the machine language of the target system, d. H. the computer system to which the program should originate becomes. Depending on the editor used, this one can have the functionality syntactic and to a certain extent also logical errors recognize in the program source code and the programmer's attention close.

Neben der Forderung nach syntaktischer und logischer Fehlerfreiheit des Programm-Quelltexts besteht jedoch auch die Forderung nach fehlerfreier Funktionalität, d. h. die Forderung, dass das Programm die gewünschten Funktionen fehlerfrei und wie geplant durchführt. Dies bezieht sich auf die Eingabe von Daten, die Ausgabe von Daten und die gesamte Verarbeitung von Daten wie z. B. Funktionen für Berechnungen, Analysen und Simulationen. Besonders im Bereich naturwissenschaftlicher Untersuchungen, Analysen und Darstellungen ist die Fehlerfreiheit von Computerprogrammen wichtig. Aufgabe des Programmierers ist, durch entsprechendes Qualitätsmanagement die fehlerfreie Funktionalität des Programms zu gewährleisten.Next the demand for syntactic and logical accuracy of the Program source texts, however, there is also the demand for error-free functionality d. H. The requirement that the program perform the desired functions error-free and as planned. This refers to the input of data, the output of data and the entire processing of data such. B. functions for calculations, Analyzes and simulations. Especially in the field of natural sciences Examinations, analyzes and presentations are freedom from errors important from computer programs. The task of the programmer is to through appropriate quality management the error free functionality of the Program.

Komfortable Editoren zum Erstellen von Computerprogrammen können eine Vielzahl von Möglichkeiten unterstützen, die es dem Programmierer bereits zum Zeitpunkt der Erstellung des Computerprogramms erlauben, die von ihm für das Computerprogramm ausgewählten oder erstellten Algorithmen zu testen und zu untersuchen. Häufig eingesetzte Möglichkeiten sind das Setzen von Unterbrechungspunkten (break points) und die Überwachung von Variablenwerten. Es kann auch die Eingabe spezieller Testroutinen ermöglicht werden.comfortable Editors for creating computer programs can use a variety of ways support, the programmer already at the time of the creation of the Computer program allow him or her selected for the computer program tested algorithms to test and investigate. Frequently used options are the setting of break points and the monitoring of Variable values. It can also be the input of special test routines allows become.

Diese Verfahrensfehlerkontrolle ermöglichen es jedoch nicht das Computerprogramm, beispielsweise ein Rechenverfahren, auf mathematische Korrektheit zu überprüfen, d. h. beispielsweise zu überprüfen, ob das Programm korrekte, beispielsweise entsprechend den Eingabewerten physikalisch sinnvolle Ergebnisse liefert. Erst ein umfangreicher Test von Zwischenversionen und der Endversion des Computerprogramms ermöglicht es typischerweise festzustellen, ob das Computerprogramm fehlerfrei funktioniert.These Procedural error allow it but not the computer program, for example a computational method, to check for mathematical correctness, d. H. for example, to check if the program is correct, for example according to the input values provides physically meaningful results. First a more extensive Test of intermediate versions and the final version of the computer program allows typically determine if the computer program is functioning properly.

Der Erfindung liegt das Problem zu Grunde, ein System bereitzustellen, dass Benutzern eine verglichen mit dem Stand der Technik komfortablere und in Hinblick auf die Korrektheitsüberprüfung effizientere Steuerung (z. B. Programmierung) von elektronischen Datenverarbeitungsschaltkreisen, beispielsweise Computern, erlaubt.Of the The invention is based on the problem of providing a system that makes users more comfortable compared to the state of the art and in terms of correctness checking, more efficient control (eg programming) of electronic data processing circuits, for example, computers.

Das Problem wird durch einen Steuerschaltkreis, ein Verfahren und ein Computerprogrammelement zum Steuern eines elektronischen Datenverarbeitungsschaltkreises mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.The Problem is solved by a control circuit, a procedure and a Computer program element for controlling an electronic data processing circuit solved with the features according to the independent claims.

Es wird ein Steuerschaltkreis zum Steuern eines elektronischen Datenverarbeitungsschaltkreises bereitgestellt, der aufweist:
einen Eingabeschaltkreis, der eingerichtet ist, eine Spezifikation eines mathematischen Problems, das von dem elektronischen Datenverarbeitungsschaltkreis gelöst werden soll, zu empfangen;
einen Ermittlungsschaltkreis, der eingerichtet ist, einen Algorithmus zu ermitteln, der von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden kann und mittels welchem, wenn er von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt wird, das Problem gelöst wird;
einen Simulierschaltkreis, der eingerichtet ist, mindestens eine Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus zu erzeugen;
einen Anzeigeschaltkreis, der eingerichtet ist, die Beispiellösung anzuzeigen; und
einen Erzeugungsschaltkreis, der eingerichtet ist, Steuerbefehle zu erzeugen, die, wenn sie von dem Datenverarbeitungsschaltkreis ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.
There is provided a control circuit for controlling an electronic data processing circuit, comprising:
an input circuit configured to receive a specification of a mathematical problem to be solved by the electronic data processing circuit;
a detection circuit configured to detect an algorithm that can be executed by the electronic data processing circuit and by means of which, when executed by the electronic data processing circuit, the problem is solved;
a simulating circuit configured to generate at least one example solution of the mathematical problem using the determined algorithm;
a display circuit configured to display the sample solution; and
a generating circuit configured to generate control commands which, when executed by the data processing circuit, cause the problem to be solved according to the determined algorithm.

Ferner werden ein Verfahren zum Steuern eines elektronischen Datenverarbeitungsschaltkreises und ein Computerprogrammelement gemäß dem oben beschriebenen Steuerschaltkreis bereitgestellt.Further A method for controlling an electronic data processing circuit and a computer program element according to the above provided control circuit.

Beispielhafte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen. Die Ausgestaltungen der Erfindung, die im Zusammenhang mit dem Steuerschaltkreis beschrieben sind, gelten sinngemäß auch für das Verfahren zum Steuern eines elektronischen Datenverarbeitungsschaltkreises und das Computerprogrammelement.Exemplary developments of the invention will become apparent from the dependent claims. The embodiments of the invention which are described in connection with the control circuit, apply mutatis mutandis to the method for controlling an electronic data processing circuit and the computer program element.

Gemäß einem Ausführungsbeispiel der Erfindung weist der Steuerschaltkreis ferner einen Speicher zum Speichern einer Mehrzahl von Algorithmen zur Lösung des Problems auf und der Ermittlungsschaltkreis ist eingerichtet, den Algorithmus aus der Mehrzahl von Algorithmen auszuwählen.According to one embodiment According to the invention, the control circuit further comprises a memory for storing a plurality of algorithms for solving the Problems on and the discovery circuit is set up To select algorithm from the plurality of algorithms.

Gemäß einem anderen Ausführungsbeispiel der Erfindung weist der Steuerschaltkreis ferner einen Modifizierschaltkreis auf, der eingerichtet ist, den Algorithmus an das mathematische Problem anzupassen.According to one another embodiment of the In the invention, the control circuit further comprises a modifying circuit which is set up, the algorithm to the mathematical To adjust the problem.

Der Steuerschaltkreis kann auch einen Speicher zum Speichern mindestens einer Eigenschaft des Datenverarbeitungsschaltkreises aufweisen. Beispielsweise wird die Simulation unter Berücksichtigung der Eigenschaft des Datenverarbeitungsschaltkreises durchgeführt. Ebenso kann die Erzeugung der Steuerbefehle unter Berücksichtigung der Eigenschaft des Datenverarbeitungsschaltkreises durchgeführt werden. Die Eigenschaft des Datenverarbeitungsschaltkreises ist beispielsweise die unterstützten Befehle, der verfügbare Speicher, die Rechenleistung, die verwendete Speicheradressierung und/oder das verwendete Datenformat des Datenverarbeitungsschaltkreises.Of the Control circuitry may also include a memory for storing at least a property of the data processing circuit. For example the simulation is taken into account the property of the data processing circuit performed. As well may be the generation of the control commands taking into account the property of the data processing circuit. The property of the data processing circuit is, for example, the supported commands, the available one Memory, the computing power, the used memory addressing and / or the data format of the data processing circuit used.

Gemäß einem Ausführungsbeispiel der Erfindung weist der Steuerschaltkreis ferner einen Speicher zum Speichern von Syntaxregeln auf und der Erzeugungsschaltkreis ist eingerichtet, die Steuerbefehle gemäß den Syntaxregeln zu erzeugen.According to one embodiment According to the invention, the control circuit further comprises a memory for storing syntax rules and the generating circuit is set up to generate the control commands according to the syntax rules.

Gemäß einem anderen Ausführungsbeispiel weist der Steuerschaltkreis, ferner einen zweiten Ermittlungsschaltkreis auf, der eingerichtet ist, die Parameter des mathematischen Problems aus der Spezifikation des mathematischen Problems zu ermitteln.According to one other embodiment has the control circuit, and a second detection circuit which is set up, the parameters of the mathematical problem to determine from the specification of the mathematical problem.

Der Steuerschaltkreis kann ferner einen Skalierschaltkreis aufweisen, der eingerichtet ist, Parametern des mathematischen Problems Skalierfaktoren zuzuweisen.Of the Control circuit may further comprise a scaling circuit, which is set up parameters of the mathematical problem scaling factors assign.

Der Steuerschaltkreis ist beispielsweise ein Computer. Der Datenverarbeitungsschaltkreis ist beispielsweise ein Computer oder ein Mikrocontroller. Der Steuerschaltkreis kann derselbe Computer wie der Datenverarbeitungsschaltkreis sein.Of the Control circuit is for example a computer. The data processing circuit is for example a computer or a microcontroller. The control circuit may be the same computer as the data processing circuit.

Gemäß einem Ausführungsbeispiel der Erfindung weist der Steuerschaltkreis ferner einen Übermittlungsschaltkreis auf, der eingerichtet ist, die Steuerbefehle an den Datenverarbeitungsschaltkreis zu übermitteln.According to one embodiment According to the invention, the control circuit further comprises a transmission circuit configured to transmit the control commands to the data processing circuit.

Gemäß einem Ausführungsbeispiel der Erfindung wird die Spezifikation des mathematischen Problems in Form mindestens einer mathematischen Formel von dem Eingabeschaltkreis empfangen. Der Benutzer kann also Beispielsweise das zu lösende Problem in einer von ihm gewohnten mathematischen Notation eingeben. Der Steuerschaltkreis ermittelt dann einen Algorithmus zur Lösung des Problems und erzeugt automatisch die Steuerbefehle, gemäß welchen das Zielsystem, d. h. der Datenverarbeitungsschaltkreis, den Lösungsalgorithmus ausführt. Somit wird der Datenverarbeitungsschaltkreis zur Lösung des Problems programmiert, ohne dass der Benutzer selbst Programmiererfahrung haben muss bzw. Erfahrung mit der Programmierung des Datenverarbeitungsschaltkreises haben muss.According to one embodiment The invention will be the specification of the mathematical problem in the form of at least one mathematical formula of the input circuit receive. For example, the user may have the problem to be solved in a standard mathematical notation. Of the Control circuit then determines an algorithm for solving the Problems and automatically generates the control commands, according to which the target system, d. H. the data processing circuit, the solution algorithm performs. Thus, the data processing circuit for solving the Problems programmed without the user even programming experience must have or experience with the programming of the data processing circuit must have.

Die mathematische Formel wird beispielsweise mittels einer Tastatur eingegeben.The Mathematical formula is, for example, by means of a keyboard entered.

Die Steuerbefehle werden beispielsweise in Form von Maschinencode des Datenverarbeitungsschaltkreises erzeugt. Die Steuerbefehle können auch in Form von Assemblerinstruktionen erzeugt werden. Gemäß einem Ausführungsbeispiel der Erfindung werden die Steuerbefehle in Form von Instruktionen einer höheren Programmiersprache erzeugt, beispielsweise in C, Pascal, Java, FORTRAN, (Visual) BASIC etc. Die höhere Programmiersprache ist beispielsweise eine objektorientierte Programmiersprache, wie beispielsweise C++ oder Java.The Control commands are given in the form of machine code, for example Data processing circuit generates. The control commands can also be generated in the form of assembler instructions. According to one embodiment According to the invention, the control commands are in the form of instructions a higher one Programming language generated, for example in C, Pascal, Java, FORTRAN, (Visual) BASIC etc. The higher one Programming language is, for example, an object-oriented programming language, such as C ++ or Java.

Die Steuerbefehle können in Form einer Computerprogramm-Prozedur erzeugt werden. Die Computerprogramm-Prozedur wird beispielsweise in eine Laufzeitbibliothek für den Datenverarbeitungsschaltkreis eingebunden.The Control commands can in the form of a computer program procedure be generated. For example, the computer program procedure into a runtime library for involved the data processing circuit.

Die Steuerbefehle können auch in Form einer Klasse einer objektorientierten Programmiersprache erzeugt werden.The Control commands can also in the form of a class of an object-oriented programming language be generated.

Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Weiteren näher erläutert.embodiments The invention is illustrated in the figures and will be discussed below explained in more detail.

1 zeigt einen Steuerschaltkreis zum Steuern eines elektronischen Datenverarbeitungsschaltkreises gemäß einem Ausführungsbeispiel der Erfindung 1 shows a control circuit for controlling an electronic data processing circuit according to an embodiment of the invention

2 zeigt ein Ablaufdiagramm gemäß einem Ausführungsbeispiel der Erfindung. 2 shows a flowchart according to an embodiment of the invention.

3 zeigt ein Ablaufdiagramm gemäß einem Ausführungsbeispiel der Erfindung. 3 shows a flowchart according to an embodiment of the invention.

4A und 4B zeigen ein Ablaufdiagramm gemäß einem Ausführungsbeispiel der Erfindung. 4A and 4B show a flow slide gram according to an embodiment of the invention.

5 zeigt ein Ablaufdiagramm gemäß einem Ausführungsbeispiel der Erfindung. 5 shows a flowchart according to an embodiment of the invention.

1 zeigt einen Steuerschaltkreis 100 zum Steuern eines elektronischen Datenverarbeitungsschaltkreises 101 gemäß einem Ausführungsbeispiel der Erfindung. 1 shows a control circuit 100 for controlling an electronic data processing circuit 101 according to an embodiment of the invention.

Der Steuerschaltkreis 100 ist beispielsweise ein Computer, z. B. ein Desktop-Computer, ein Laptop oder auch ein PDA (Personal Digital Assistant). Der Datenverarbeitungsschaltkreis ist beispielsweise ein Computer oder ein Mikrocontroller.The control circuit 100 is for example a computer, for. As a desktop computer, a laptop or even a PDA (Personal Digital Assistant). The data processing circuit is for example a computer or a microcontroller.

Der Steuerschaltkreis 100 und der elektronische Datenverarbeitungsschaltkreis 101 kann auch dieselbe elektronische Vorrichtung, beispielsweise derselbe Computer, sein. Beispielsweise kann ein Computer verwendet werden, ein Programm zu erstellen, das von dem Computer dann selbst ausgeführt wird.The control circuit 100 and the electronic data processing circuit 101 may also be the same electronic device, for example, the same computer. For example, a computer can be used to build a program that will then be run by the computer itself.

Der Steuerschaltkreis 100 weist einen Eingabeschaltkreis 102 auf, der eingerichtet ist, eine Spezifikation eines mathematischen Problems, das von der elektronischen Datenverarbeitungsschaltkreis 101 gelöst werden soll, zu empfangen. Der Eingabeschaltkreis 102 ist beispielsweise eine Eingabeschnittstelle, die das Eingeben von Daten in den Steuerschaltkreis 101 beispielsweise über eine Tastatur, über eine Computer-Maus oder über Datenmassenspeicher wie eine Festplatte, eine CD-ROM oder eine DVD (Digital Versatile Disc) ermöglicht. Der Eingabeschaltkreis 102 kann auch das Eingeben von Daten mittels eines Kommunikationsnetzwerks wie eines Computernetzwerks oder eines Mobilfunk-Kommunikationsnetzwerks in den Steuerschaltkreis 100 ermöglichen.The control circuit 100 has an input circuit 102 which is set up, a specification of a mathematical problem that comes from the electronic data processing circuit 101 to be solved, to receive. The input circuit 102 For example, an input interface is the inputting of data to the control circuit 101 For example, via a keyboard, a computer mouse or data mass storage such as a hard disk, a CD-ROM or a DVD (Digital Versatile Disc) allows. The input circuit 102 may also enter data into the control circuitry via a communications network, such as a computer network or cellular communication network 100 enable.

Der Steuerschaltkreis 100 weist ferner einen Ermittlungsschaltkreis 103 auf, der eingerichtet ist, einen Algorithmus zu ermitteln, der von der elektronischen Datenverarbeitungsschaltkreis 101 ausgeführt werden kann und mittels welchem, wenn der von der elektronischen Datenverarbeitungsschaltkreis 101 ausgeführt wird, das spezifizierte mathematische Problem gelöst wird. Der Ermittlungsschaltkreis 103 ist beispielsweise ein Prozessor des Steuerschaltkreises 100 der geeignet programmiert ist, um den Algorithmus zu ermitteln. Der Algorithmus wird beispielsweise aus einer Datenbank, die beispielsweise in einem Speicher des Steuerschaltkreises 100 abgelegt ist, ermittelt. In der Datenbank sind beispielsweise für eine Vielzahl von mathematischen Problemen Lösungsalgorithmen gespeichert, beispielsweise Algorithmen zur Lösung linearer Gleichungssysteme oder von Systemen von Differenzialgleichungen, aus denen der Ermittlungsschaltkreis je nach Art des eingegebenen mathematischen Problems einen Algorithmus oder mehrere Algorithmen auswählt als Lösungsalgorithmen oder auch als Teil-Lösungsalgorithmen zur Lösung des mathematischen Problems.The control circuit 100 also has a detection circuit 103 which is adapted to determine an algorithm used by the electronic data processing circuit 101 can be performed and by means of which, if that of the electronic data processing circuit 101 is executed, the specified mathematical problem is solved. The detection circuit 103 is for example a processor of the control circuit 100 which is suitably programmed to determine the algorithm. For example, the algorithm is derived from a database, for example, in a memory of the control circuit 100 is stored, determined. For example, algorithms for solving linear systems of equations or systems of differential equations are stored in the database for a multiplicity of mathematical problems, from which the determination circuit selects one algorithm or several algorithms as solution algorithms or also as partial algorithms depending on the type of mathematical problem entered. Solution algorithms for solving the mathematical problem.

Der Steuerschaltkreis 100 weist ferner einen Simulierschaltkreis 104 auf, der eingerichtet ist, mindestens eine Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus zu erzeugen. Der Simulierschaltkreis 104 ist beispielsweise ein geeignet programmierter Prozessor des Steuerschaltreises 100, beispielsweise derselbe Prozessor, der auch für die Realisierung des Ermittlungsschaltkreises 103 programmiert ist. Der Simulierschaltkreis 104 erzeugt die Beispiellösung beispielsweise unter Verwendung von eingegebenen Beispielwerten für das mathematische Problem. Beispielsweise ist das mathematische Problem die Lösung eines allgemeinen Gleichungssystems und die Beispiellösung wird für Beispielwerte von Parametern des Gleichungssystems erzeugt.The control circuit 100 further comprises a simulating circuit 104 configured to generate at least one example solution of the mathematical problem using the determined algorithm. The simulating circuit 104 is, for example, a suitably programmed processor of the control circuit 100 For example, the same processor, which is also for the realization of the detection circuit 103 is programmed. The simulating circuit 104 generates the example solution using, for example, input mathematical problem example values. For example, the mathematical problem is the solution of a general equation system and the example solution is generated for example values of parameters of the equation system.

Der Steuerschaltkreis 100 weist außerdem einen Anzeigeschaltkreis 105 auf, der eingerichtet ist, die erzeugte Beispiellösung anzuzeigen. Der Anzeigeschaltkreis 105 wird beispielsweise durch einen Monitor und eine Grafikschnittstelle des Steuerschaltkreises 100, die von einem Prozessor des Steuerschaltkreises geeignet angesteuert werden, realisiert.The control circuit 100 also has a display circuit 105 which is set up to display the generated example solution. The display circuit 105 is for example by a monitor and a graphics interface of the control circuit 100 realized by a processor of the control circuit suitably realized.

Der Steuerschaltkreis 100 weist ferner einen Erzeugungsschaltkreis 106 auf, der eingerichtet ist, Steuerbefehle zu erzeugen, die, wenn sie von dem Datenverarbeitungsschaltkreis 101 ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.The control circuit 100 also has a generating circuit 106 configured to generate control commands which, when received by the data processing circuit 101 cause the problem to be solved according to the algorithm determined.

Die Steuerbefehle werden beispielsweise von dem Steuerschaltkreis 100 an den elektronischen Datenverarbeitungsschaltkreis 101 mittels einer Kommunikationsschnittstelle 107 übermittelt. Die Kommunikationsschnittstelle 107 ist beispielsweise eine Computerbus-Schnittstelle oder eine Kommunikationsverbindung eines Kommunikationsnetzwerks. Die Übermittlungen der Steuerbefehle von dem Steuerschaltkreis 100 an den elektronischen Datenverarbeitungsschaltkreis 101 kann aber auch über einen Datenträger wie beispielsweise einen USB (Universal Serial Bus)-Stick, eine Diskette oder eine CD-ROM erfolgen, oder in dem Fall, dass der Steuerschaltkreis 100 und der elektronische Datenverarbeitungsschaltkreis 101 von demselben Computer realisiert werden, ein Speicherbereich, in dem die Steuerbefehle für eine spätere Ausführung abgelegt werden.The control commands are, for example, from the control circuit 100 to the electronic data processing circuit 101 by means of a communication interface 107 transmitted. The communication interface 107 is for example a computer bus interface or a communication connection of a communication network. The transmissions of the control commands from the control circuit 100 to the electronic data processing circuit 101 but can also be done via a disk such as a USB (Universal Serial Bus) stick, a floppy disk or a CD-ROM, or in the case that the control circuit 100 and the electronic data processing circuit 101 be realized by the same computer, a memory area in which the control commands are stored for later execution.

Ein dem Steuerschaltkreis 100 entsprechendes Verfahren zum rechnergestützten Steuern eines elektronischen Datenverarbeitungsschaltkreises ist in 2 dargestellt.A the control circuit 100 corresponding method for computerized control of a electronic data processing circuit is in 2 shown.

2 zeigt ein Ablaufdiagramm 200 gemäß einem Ausführungsbeispiel der Erfindung. 2 shows a flowchart 200. according to an embodiment of the invention.

In 201 wird die Spezifikation eines mathematischen Problems, das von dem elektronischen Datenverarbeitungsschaltkreis gelöst werden soll, eingegeben.In 201 the specification of a mathematical problem to be solved by the electronic data processing circuit is entered.

In 202 wird ein Algorithmus ermittelt, der von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden kann, mittels welchem, wenn er von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt wird, das Problem gelöst wird.In 202 an algorithm is determined which can be performed by the electronic data processing circuit by means of which, when executed by the electronic data processing circuit, the problem is solved.

In 203 wird durch Simulation mindestens eine Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus erzeugt.In 203 At least one example solution of the mathematical problem is generated by simulation using the determined algorithm.

In 204 wird die Beispiellösung angezeigt.In 204 the example solution will be displayed.

In 205 werden Steuerbefehle erzeugt, die, wenn sie von dem Datenverarbeitungsschaltkreis ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.In 205 Control commands are generated which, when executed by the data processing circuitry, cause the problem to be solved in accordance with the determined algorithm.

Anschaulich wird gemäß einem Ausführungsbeispiel der Erfindung eine Vorrichtung (beispielsweise in Form des oben beschriebenen Steuerschaltkreises) bereitgestellt, die Daten, wie beispielsweise Steuerbefehle und Eingabedaten erzeugt, die an ein Zielsystem übermittelt werden, so dass dieses ein Computerprogramm, welches beispielsweise der Analyse, der Animation, der Überwachung von oder der Interaktion mit physikalischen oder chemischen Vorgängen dient, ausführt.clear will according to one embodiment the invention, a device (for example in the form of the above described control circuit), the data, such as For example, generates control commands and input data to a Target system transmitted so that this is a computer program which for example analysis, animation, monitoring of or interacting with physical or chemical processes, performs.

Die Vorrichtung unterstützt es, dass beispielsweise die Konsistenz von für das Programm verwendeten Daten und Algorithmen im Kontext mit dem Programm, beispielsweise in Hinblick auf die gewünschte Funktionalität des Programms, zu untersuchen und mathematische oder logische Fehler festzustellen. Beispielsweise kann die Vorrichtung bei der Eingabe eines mathematischen Problems in Form einer mathematischen Formel eine Syntaxüberprüfung der Formel durchführen.The Device supported it that, for example, the consistency of used for the program Data and algorithms in context with the program, for example in terms of the desired functionality of the program, to investigate and mathematical or logical errors determine. For example, the device may be in the input a mathematical problem in the form of a mathematical formula a syntax check of the Perform the formula.

Ferner kann die Vorrichtung die Optimierung von dem Programmierer, d. h. den Benutzer an der Vorrichtung ausgewählten Lösungsalgorithmen unterstützen. Ist beispielsweise ein lineares Gleichungssystem, das durch eine Matrix beschrieben ist, zu lösen und der Programmierer wählt einen Lösungsalgorithmus für lineare Gleichungssysteme aus, so kann die Vorrichtung überprüfen, ob die Matrix dünn besetzt ist und gegebenenfalls eine Variante des Lösungsalgorithmus auswählen und/oder dem Benutzer vorschlagen, die die effiziente Lösung von Gleichungssystemen, die durch dünn besetzte Matrizen beschrieben werden, ermöglicht. Des Weiteren kann die Vorrichtung beispielsweise überprüfen, ob vom Programmierer eingegebene mathematische Formeln vereinfacht werden können und dementsprechend Lösungsverfahren vereinfacht werden können.Further For example, the device may allow optimization by the programmer, i. H. assist the user with the solution algorithms selected on the device. is For example, a linear system of equations that is represented by a matrix is described to solve and the programmer chooses a solution algorithm for linear Equation systems, the device can check if the matrix is sparse is and optionally select a variant of the solution algorithm and / or suggest to the user that the efficient solution of systems of equations, those sparsely populated Matrices can be described. Furthermore, the device can check, for example, whether from Programmers entered simplified mathematical formulas can and accordingly solution method can be simplified.

Die von der Vorrichtung ausgewählten Lösungsalgorithmen oder die von der Vorrichtung vorgeschlagenen und vom Benutzer ausgewählten Lösungsalgorithmen sowie für die Durchführung der ausgewählten Lösungsalgorithmen erforderlichen Daten, beispielsweise Eingabedaten über Parameter des zu lösenden Problems, werden in Steuerbefehle für den elektronischen Datenverarbeitungsschaltkreis 101 umgewandelt, beispielsweise in die Syntax eines Computerprogramms, das von dem elektronischen Datenverarbeitungsschaltkreis 101 ausgeführt werden kann. Beispielsweise erzeugt der Erzeugungsschaltkreis 106 Maschinencode für den elektronischen Datenverarbeitungsschaltkreis 101, gemäß welchem der elektronische Datenverarbeitungsschaltkreis 101 den oder die ausgewählten Lösungsalgorithmen ausführt. Beispielsweise werden alle zu verwendenden mathematischen Verfahren, von dem Benutzer definierte Rechenvorschriften und die zur Problemlösung erforderlichen Daten von dem Steuerschaltkreis 100 so aufbereitet, beispielsweise in ein Format übersetzt, das von dem elektronischen Datenverarbeitungsschaltkreis 101 interpretiert werden kann, dass der elektronische Datenverarbeitungsschaltkreis 101 unter deren Verwendung das spezifizierte mathematische Problem löst.The solution algorithms selected by the device, or the solution algorithms proposed by the device and selected by the user, and data required to perform the selected solution algorithms, for example input data on parameters of the problem to be solved, become control commands for the electronic data processing circuit 101 converted, for example in the syntax of a computer program, by the electronic data processing circuit 101 can be executed. For example, the generating circuit generates 106 Machine code for the electronic data processing circuit 101 according to which the electronic data processing circuit 101 executes the selected algorithm (s). For example, all the mathematical methods to be used, user-defined arithmetical rules, and data required for problem-solving are provided by the control circuit 100 processed, for example, translated into a format by the electronic data processing circuit 101 can be interpreted that the electronic data processing circuit 101 the use of which solves the specified mathematical problem.

Anschaulich werden mathematische Methoden, die in einem zu erstellenden Programm Verwendung finden sollen, zunächst in einer anderen Umgebung, beispielsweise in der von dem Steuerschaltkreis 100 bereitgestellten Programmierumgebung, erstellt und getestet, wobei die gewünschten Eigenschaften des Programms und die Eigenschaft des Zielsystems, d. h. des steuernden elektronischen Datenverarbeitungsschaltkreises, berücksichtigt werden können.Clearly, mathematical methods that are to be used in a program to be created, first in a different environment, for example in the of the control circuit 100 provided programming environment, and the desired properties of the program and the property of the target system, ie the controlling electronic data processing circuit, can be considered.

Der Steuerschaltkreis 100 ermittelt beispielsweise für die Lösung einer Aufgabe (die beispielsweise die Lösung eines mathematischen Problems beinhaltet) zu verwendende mathematische Verfahren und passt diese (beispielsweise hinsichtlich Bedienung, Ausgabe und Optimierung) an die Eigenschaften des Zielsystems, d. h. des elektronischen Datenverarbeitungsschaltkreises 101 an. Außerdem kann der Steuerschaltkreis 100 Zusatzinformationen, die für die mathematischen Lösungsverfahren oder deren Anpassung verwendet werden, automatisch bereitstellen, wobei der Benutzer des Steuerschaltkreises beispielsweise Einfluss auf die Genauigkeit des oder der verwendeten Lösungsverfahren nimmt.The control circuit 100 determines, for example, the mathematical methods to be used for the solution of a task (which, for example, includes the solution of a mathematical problem) and adapts these (for example with regard to operation, output and optimization) to the properties of the target system, ie the electronic data processing circuit 101 at. In addition, the control circuit 100 Automatically provide additional information used for the mathematical solution method or its adaptation, the user of the control circuit For example, this influences the accuracy of the solution method or methods used.

Der Steuerschaltkreis 100 ermöglicht es, Lösungsverfahren, wie beispielsweise Berechnungs-, Analyse- oder Simulationsverfahren unter Nutzung der von dem Steuerschaltkreis 100 bereitgestellten mathematischen Werkzeuge, wie beispielsweise Simulationsalgorithmen, auszuwählen oder, beispielsweise durch Kombination verschiedener Algorithmen, zu erstellen und zu testen. Der Steuerschaltkreis 100 kann es weiterhin unterstützen, dem Benutzer eine Einschätzung zu liefern, ob das oder die ausgewählten Lösungsverfahren auf dem Zielsystem, d. h. dem elektronischen Datenverarbeitungsschaltkreis korrekt und effizient einsetzbar sind, beispielsweise durch Durchführung einer Simulation, die die Eigenschaften des Zielsystems berücksichtigt. Der Steuerschaltkreis 100 kann auch die Modifikation von mathematischen Verfahren, die von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden sollen, unterstützen, so dass sie von dem elektronischen Datenverarbeitungsschaltkreis 101 effizient und korrekt ausgeführt werden können. Beispielsweise können Algorithmen, die für Gleitkommaarithmetik ausgelegt sind, so modifiziert werden, dass sie von dem Datenverarbeitungsschaltkreis 101 auch dann ausgeführt werden können, wenn dieser lediglich Festkommaarithmetik unterstützt.The control circuit 100 enables solution methods, such as computation, analysis or simulation techniques, using the control circuitry 100 provided mathematical tools, such as simulation algorithms to select or, for example, by combining different algorithms to create and test. The control circuit 100 It may further assist in providing the user with an estimate of whether the selected solution method (s) on the target system, ie the electronic data processing circuit, can be used correctly and efficiently, for example by performing a simulation that takes into account the characteristics of the target system. The control circuit 100 Also, the modification of mathematical methods to be executed by the electronic data processing circuitry may assist in getting them from the electronic data processing circuitry 101 can be executed efficiently and correctly. For example, algorithms designed for floating-point arithmetic may be modified to be derived from the data processing circuitry 101 can be executed even if it only supports fixed-point arithmetic.

Gemäß einem Ausführungsbeispiel der Erfindung werden von dem Steuerschaltkreis 100 erzeugte Daten, die zur Durchführung des Lösungsverfahrens verwendet werden sollen, beispielsweise von einem Konvertierungs-Computerprogramm so umgewandelt, dass sie von dem Computerprogramm, das gemäß der Steuerbefehle von dem Datenverarbeitungsschaltkreis 101 durchgeführt wird, gelesen und bearbeitet werden können. Damit wird eine Anpassung an verschiedene Datenformate, wie sie beispielsweise gemäß verschiedenen Betriebssystemen vorgesehen sind, ermöglicht. Das Konvertierungs-Computerprogramm kann von dem Steuerschaltkreis 100 selbst bereitgestellt und ausgeführt werden.According to an embodiment of the invention, the control circuit 100 generated data to be used to carry out the solution method, for example, converted by a conversion computer program so that it from the computer program, in accordance with the control commands from the data processing circuit 101 can be performed, read and edited. This allows adaptation to different data formats, as provided, for example, according to different operating systems. The conversion computer program may be controlled by the control circuit 100 self-provisioned and executed.

Der Eingabeschaltkreis 102, beispielsweise eine Eingabeschnittstelle des Steuerschaltkreises 100, ermöglicht es dem Benutzer (Programmierer) neben der Eingabe des zu lösenden mathematischen Problems einen oder mehrere mathematische Algorithmen auszuwählen, die zur Lösung des Problems verwendet werden sollen. Der Benutzer kann mittels der Eingabeschnittstelle für die Durchführung von mathematischen Verfahren oder Algorithmen erforderliche Daten eingeben, Parameter der Lösungsverfahren einstellen und Testen der zu verwendenden Lösungsverfahren durchführen. Ferner kann er Eigenschaften des Zielprogramms, also des Computerprogramms, das durch die erzeugten Steuerbefehle von gegeben ist, festlegen und Daten, die von dem Zielprogramm zu verwenden sind, eingeben bzw. Parameterwerte für das Zielprogramm einstellen. Der Programmierer kann ferner Informationen über das Zielsystem, d. h. den elektronischen Datenverarbeitungsschaltkreis 101 einzugeben, die von dem Steuerschaltkreis 100 bei der Simulation, d. h. der Erzeugung der Beispiellösung, und der Erzeugung der Steuerbefehle berücksichtigt werden können. Der Programmierer kann außerdem Lösungsverfahren, beispielsweise mathematische Algorithmen, in den Steuerschaltkreis 100 eingeben, die zur Lösung des Problems verwendet werden sollen. Die Eingabe von Daten durch den Benutzer kann in textueller oder auch grafischer (beispielsweise im Falle von Kennlinien für Bauelemente) oder anderer Form geschehen.The input circuit 102 , For example, an input interface of the control circuit 100 , allows the user (programmer), in addition to entering the mathematical problem to be solved, to select one or more mathematical algorithms to be used to solve the problem. The user can input data required by the input interface to perform mathematical procedures or algorithms, set parameters of the solution methods, and test the solution methods to be used. Furthermore, it can specify properties of the target program, ie the computer program that is given by the generated control commands, and enter data to be used by the target program or set parameter values for the target program. The programmer may also have information about the target system, ie the electronic data processing circuitry 101 to enter that from the control circuit 100 in the simulation, ie the generation of the example solution, and the generation of the control commands can be considered. The programmer may also include solution techniques, such as mathematical algorithms, in the control circuitry 100 to be used to solve the problem. The input of data by the user can be done in textual or graphical (for example in the case of component characteristics) or other form.

Zum Test eines ausgewählten Lösungsverfahrens (das beispielsweise die Durchführung eines ermittelten bzw. ausgewählten Algorithmus beinhaltet) kann das Lösungsverfahren mit Beispielwerten durchgeführt werden und eine Beispiellösung erzeugt werden. Dabei können automatisch oder auch anhand der Beispiellösung vom Benutzer Fehler im Lösungsverfahren oder auch Fehler in der Spezifikation der Aufgabe (die die Spezifikation eines mathematischen Problems beinhaltet) erkannt werden und automatisch oder nutzergesteuert korrigiert werden. Dieser Test von ausgewählten Lösungsverfahren, die Übersetzung der ausgewählten Lösungsverfahren in von dem elektronischen Datenverarbeitungsschaltkreis interpretierbare Steuerbefehle, die Interaktion mit dem Benutzer und die Datenausgabe, beispielsweise die Anzeige der Beispiellösung und die Ausgabe der Daten und Steuerbefehle an den elektronischen Datenverarbeitungsschaltkreis können von einem zentralen Steuerungsschaltkreis des Steuerschaltkreises, beispielsweise einen Prozessor des Steuerschaltkreises 100, gesteuert werden.In order to test a selected solution method (including, for example, the implementation of a determined or selected algorithm), the solution method can be performed with example values and a sample solution can be generated. In this case, errors in the solution method or also errors in the specification of the task (which contains the specification of a mathematical problem) can be detected automatically by the user or also corrected on the basis of the example solution and corrected automatically or user-controlled. This test of selected solution methods, the translation of the selected solution methods into control commands that can be interpreted by the electronic data processing circuit, the interaction with the user and the data output, for example the display of the example solution and the output of the data and control commands to the electronic data processing circuit may be performed by a central control circuit of the Control circuit, for example, a processor of the control circuit 100 , to be controlled.

Neben der Anzeige der Beispiellösung kann der Anzeigeschaltkreis weiterhin eingerichtet sein, die Vorgaben für das zu lösende mathematische Problem wie Werte von Konstanten und Variablen aufzulisten. Mittels des Eingabeschaltkreises kann der Benutzer auf diese Vorgaben Einfluss nehmen und beispielsweise Wertebereiche für die Konstanten und Variablen einstellen. Der Benutzer kann auch Beispielwerte eingeben, die zur Erzeugung der Beispiellösung verwendet werden. Dadurch kann der Benutzer anhand der Beispielwerte und der Beispiellösung überprüfen, ob das Lösungsverfahren korrekt funktioniert. Der Anzeigeschaltkreis ist beispielsweise eine optische Anzeige, kann aber auch akustische Ausgabemöglichkeiten unterstützen, beispielsweise die Ausgabe von akustischen Warnsignalen, die z. B. auf Syntaxfehler aufmerksam machen.Next the display of the sample solution If the display circuit can still be set up, the defaults for the to be solved to list mathematical problem such as values of constants and variables. By means of the input circuit, the user can access these specifications Influence and, for example, value ranges for the constants and set variables. The user can also enter example values the for the production of the sample solution be used. This allows the user to use the example values and the sample solution to see if the solution method works correctly. The display circuit is for example a visual display, but can also acoustic output options support, For example, the output of acoustic warning signals z. B. draw attention to syntax errors.

Algorithmen, aus denen der Steuerschaltkreis einen oder mehrere zur Lösung des mathematischen Problems auswählt und den Benutzer beispielsweise zur letztendlichen Auswahl vorschlägt, sind in einem Ausführungsbeispiel der Erfindung in einem Speicher des Steuerschaltkreises 100 gespeichert, der Basisalgorithmen für gängige mathematische Verfahren enthält und in dem für die Lösungsalgorithmen erforderliche Daten und Konstanten, beispielsweise Näherungswerte für Naturkonstanten, gespeichert sind. Gemäß einem Ausführungsbeispiel der Erfindung können vom Programmierer neu eingegebene Algorithmen in dem Speicher gespeichert werden, so dass der Steuerschaltkreis 100 für andere mathematische Probleme, die in der Zukunft eingegeben werden, auch aus im Laufe der Zeit eingegebenen Lösungsalgorithmen auswählen kann.Algorithms that make up the control circuit circle selects one or more to solve the mathematical problem and, for example, proposes the user for final selection, in one embodiment of the invention in a memory of the control circuit 100 which contains basic algorithms for common mathematical methods and in which the data required for the solution algorithms and constants, for example approximations for natural constants, are stored. According to an embodiment of the invention, algorithms newly entered by the programmer may be stored in the memory such that the control circuitry 100 for other mathematical problems that are entered in the future, may also select from solution algorithms entered over time.

Der Steuerschaltkreis 100 kann ferner einen Speicher aufweisen, in dem Informationen über die Eigenschaften des Zielsystems, d. h. des elektronischen Datenverarbeitungsschaltkreises 101 sowie Informationen über die gewünschten Eigenschaften des Zielprogramms gespeichert sind. Die Eigenschaften des Zielsystems können von dem Steuerschaltkreis 100 bei der Erzeugung der Steuerbefehle berücksichtigt werden und es können beispielsweise Alternativen zu ausgewählten Algorithmen erzeugt werden oder ausgewählte Algorithmen modifiziert werden, so dass die Algorithmen auf dem Zielsystem effizient ausgeführt werden können.The control circuit 100 may further comprise a memory in which information about the properties of the target system, ie the electronic data processing circuit 101 and information about the desired properties of the target program are stored. The properties of the target system can be determined by the control circuit 100 may be taken into account in the generation of the control commands and, for example, alternatives to selected algorithms may be generated or selected algorithms may be modified so that the algorithms can be efficiently executed on the target system.

Die Erzeugung der Steuerbefehle für das Zielsystem kann unter Berücksichtigung von Syntaxregeln für das Zielprogramm erfolgen. Beispielsweise sind diese Syntaxregeln in einem Speicher des Steuerschaltkreises 100 gespeichert und werden von einem Compilerprogramm, das von dem Steuerschaltkreis 100 ausgeführt wird, zur Erzeugung der Steuerbefehle und somit des Zielprogramms verwendet.The generation of the control commands for the target system can take place taking into account syntax rules for the target program. For example, these syntax rules are in a memory of the control circuit 100 stored and used by a compiler program that is controlled by the control circuit 100 is executed, used to generate the control commands and thus the target program.

Ein Beispiel für den Ablauf einer Steuerung des elektronischen Datenverarbeitungsschaltkreises 101 durch den Steuerschaltkreis 100 ist in 3 dargestellt.An example of the flow of control of the electronic data processing circuit 101 through the control circuit 100 is in 3 shown.

3 zeigt ein Ablaufdiagramm 300 gemäß einem Ausführungsbeispiel der Erfindung. 3 shows a flowchart 300 according to an embodiment of the invention.

In 301 wählt der Steuerschaltkreis 100 einen mathematischen Algorithmus zur Lösung einer durch den Benutzer spezifizierten Aufgabe aus.In 301 the control circuit selects 100 a mathematical algorithm for solving a task specified by the user.

In 302 wird das zu lösende mathematische Problem auf Basis des gewählten Algorithmus formuliert. Das heißt, dass die Aufgabe als mathematisches Problem formuliert wird, das von dem Algorithmus direkt gelöst werden kann. Beispielsweise besteht die zu lösende Aufgabe in der Analyse einer elektronischen Schaltung und als Algorithmus wird ein Algorithmus zur Lösung von linearen Gleichungssystemen ausgewählt. In diesem Fall wird beispielsweise ein lineares Gleichungssystem formuliert, das die elektronische Schaltung modelliert, beispielsweise entsprechend einer Knotenanalyse der elektronischen Schaltung. Das mathematische Problem besteht in diesem Fall in der Lösung des Gleichungssystems.In 302 the mathematical problem to be solved is formulated on the basis of the chosen algorithm. That is, the problem is formulated as a mathematical problem that can be solved directly by the algorithm. For example, the problem to be solved is the analysis of an electronic circuit and, as an algorithm, an algorithm for solving linear systems of equations is selected. In this case, for example, a system of linear equations is modeled that models the electronic circuit, for example according to a node analysis of the electronic circuit. The mathematical problem in this case is the solution of the equation system.

In 303 wird eine syntaktische und formale Fehlerkontrolle durchgeführt. Beispielsweise überprüft der Steuerschaltkreis die Syntax der eingegebenen mathematischen Ausdrücke (mittels welcher beispielsweise das mathematische Problem ausgedrückt ist)In 303 a syntactic and formal error control is performed. For example, the control circuit checks the syntax of the input mathematical expressions (by means of which, for example, the mathematical problem is expressed)

In 304 können Redundanzen aus der formalen Aufgabenstellung entfernt werden. Beispielsweise werden aus einem Variablenvektor Variablen entfernt, die lediglich Vielfache anderer Variablen des Variablenvektors sind.In 304 Redundancies can be removed from the formal task. For example, variables that are merely multiples of other variables of the variable vector are removed from a variable vector.

In 305 werden konkrete Eigenschaften des Lösungsalgorithmus festgelegt unter Berücksichtung der Eigenschaften des Zielsystems und des zu lösenden mathematischen Problems. Beispielsweise wird ausgewählt, ob Festkommaarithmetik oder Gleitkommaarithmetik eingesetzt wird, je nachdem, ob dies von dem Zielsystem unterstützt wird oder nicht.In 305 concrete properties of the solution algorithm are determined taking into account the properties of the target system and the mathematical problem to be solved. For example, it selects whether fixed point arithmetic or floating point arithmetic is used, depending on whether this is supported by the target system or not.

In 306 werden für das Lösungsverfahren erforderliche Daten aufgelistet, beispielsweise werden Variablen und Parameter aufgelistet.In 306 For example, variables required by the solution method are listed, for example, variables and parameters are listed.

In 307 wird eine Evaluierung beispielsweise anhand eines Tests mit Beispielwerten durchgeführt. Der Benutzer kann auch die Liste der erforderlichen Daten überprüfen, ob beispielsweise Wertebereiche von Variablen und Parametern den Anforderungen an die Flexibilität des Lösungsverfahrens entsprechen.In 307 For example, an evaluation is performed using a test with example values. The user can also check the list of required data as to whether, for example, value ranges of variables and parameters meet the flexibility requirements of the solution method.

In 308 wird das ausgewählte Lösungsverfahren (das beispielsweise die Durchführung eines Algorithmus beinhaltet) mit den vorgenommenen Einstellungen in die Syntax des Zielsystems, d. h. des elektronischen Datenverarbeitungsschaltkreises 101 übersetzt.In 308 is the selected solution method (which includes, for example, the implementation of an algorithm) with the settings made in the syntax of the target system, ie the electronic data processing circuit 101 translated.

Im Folgenden wird ein Beispiel für die Erzeugung eines Computerprogramms zur Analyse von elektronischen Schaltungen mit Bezug auf 4A und 4B erläutert.The following is an example of the generation of a computer program for analyzing electronic circuits with reference to FIG 4A and 4B explained.

4A und 4B zeigen ein Ablaufdiagramm 400 gemäß einem Ausführungsbeispiel der Erfindung. 4A and 4B show a flowchart 400 according to an embodiment of the invention.

In 401 liegt eine technische oder naturwissenschaftliche Aufgabenstellung vor. In diesem Beispiel ist die technische Aufgabenstellung die Analyse einer elektronischen Schaltung. Die elektronische Schaltung soll auf einem multimediafähigen Computersystem interaktiv dargestellt werden, wobei dem Benutzer des multimediafähigen Computersystems ermöglicht wird, Parameter der Schaltung festzulegen und die Ergebnisse der Analyse in Form von Netzwerkgrößen angezeigt werden, beispielsweise die Größe von fließenden Strömen in der elektronischen Schaltung.In 401 is a technical or scientific task before. In this example, the technical problem is the analysis an electronic circuit. The electronic circuit is intended to be interactively displayed on a multimedia enabled computer system, allowing the user of the multimedia enabled computer system to set parameters of the circuit and displaying the results of the analysis in the form of network sizes, such as the magnitude of flowing currents in the electronic circuit.

In 402 wählt der Programmierer (Benutzer) das zu verwendende Lösungsverfahren, in diesem Beispiel die Knotenspannungsanalyse. Der Programmierer wählt beispielsweise mittels einer Computermaus eine entsprechende Rubrik aus einer Benutzeroberfläche, die der Steuerschaltkreis 100 mittels des Anzeigeschaltkreises 105 anzeigt.In 402 the programmer (user) chooses the solution method to be used, in this example the node voltage analysis. The programmer selects, for example by means of a computer mouse, a corresponding section from a user interface, the control circuit 100 by means of the display circuit 105 displays.

In 403 wird die Aufgabe der Analyse der elektrischen Schaltung in Form eines mathematischen Problems eingegeben. Entsprechend der Knotenspannungsanalyse geschieht dies in Form eines Gleichungssystems, das durch eine Matrix, deren Komponenten die Struktur der Schaltung widerspiegeln, gegeben ist. Die Eingabe kann textuell, beispielsweise durch Eingabe der Matrixelemente, oder auch grafisch erfolgen, beispielsweise bei der Eingabe von Kennlinien für nicht lineare Bauelemente, die in der elektronischen Schaltung vorhanden sind. Eingegebene Formeln werden syntaktisch überprüft und gegebenenfalls vereinfach. Beispielsweise werden Brüche automatisch gekürzt. Zu symbolisch eingegebenen Naturkonstanten ermittelt der Steuerschaltkreis numerische Werte (beispielsweise aus einem Speicher), die bei der Lösung des mathematischen Problems verwendet werden.In 403 the task of analyzing the electrical circuit is entered in the form of a mathematical problem. According to the node voltage analysis, this is done in the form of a system of equations, which is given by a matrix whose components reflect the structure of the circuit. The input can be made textually, for example by inputting the matrix elements, or also graphically, for example when entering characteristics for nonlinear components which are present in the electronic circuit. Entered formulas are checked syntactically and simplified if necessary. For example, fractions are automatically truncated. For symbolically input nature constants, the control circuit determines numerical values (for example, from a memory) used in solving the mathematical problem.

In 404 extrahiert der Steuerschaltkreis alle Parameter des mathematischen Problems, in diesem Fall beispielsweise Kenngrößen der Bauelemente oder von Spannungsquellen oder Stromquellen, in Form von Variablen und dynamisiert sie in 405, d. h. ermöglicht die freie Einstellung von Werten für die Variablen in von dem Programmierer vorgegebenen Wertebereichen, beispielsweise die Einstellung von bestimmten Bauelementwerten. Bei komplexen Variablen wird beispielsweise die Eingabe getrennt in Realteil und Imaginärteil oder getrennt nach Betrag und Winkel ermöglicht. Der Programmierer kann Parameter als konstant oder variabel kennzeichnen. Die Parameter können skaliert werden, d. h. ihnen können Faktoren zugewiesen werden, die ihre Handhabung vereinfacht.In 404 The control circuit extracts all parameters of the mathematical problem, in this case, for example, characteristics of the components or of voltage sources or current sources, in the form of variables and makes them dynamic 405 that is, allows free setting of values for the variables in ranges of values specified by the programmer, for example the setting of certain component values. For complex variables, for example, the input is separated into real part and imaginary part or separated according to amount and angle. The programmer can mark parameters as constant or variable. The parameters can be scaled, ie they can be assigned factors that simplify their handling.

In 406 wird der zu verwendende Lösungsalgorithmus ausgewählt. Dies geschieht beispielsweise unter Berücksichtung der Wertebereiche der Parameter. Können die Parameter nur reelle Werte annehmen, so kann beispielsweise ein reeller Gauß- Jordan-Algorithmus zur Lösung des linearen Gleichungssystems eingesetzt werden. Können die Parameter jedoch auch komplexe Werte annehmen, so wird beispielsweise ein entsprechendes Verfahren für komplexe Matrizen ausgewählt.In 406 the solution algorithm to be used is selected. This happens, for example, taking into account the value ranges of the parameters. If the parameters can accept only real values, for example, a real Gauss-Jordan algorithm can be used to solve the linear system of equations. However, if the parameters can also assume complex values, for example, a corresponding method for complex matrices is selected.

Die Konstanten und Variablen werden beispielsweise in einem Datenblock entsprechend dem Eingabeformat des Lösungsalgorithmus (beispielsweise in Form von Parametervektoren) zusammengefasst.The For example, constants and variables are stored in a data block according to the input format of the solution algorithm (for example in the form of parameter vectors).

In 407 werden für Beispielwerte, die für die Parameter eingestellt sind, Beispiellösungen unter Verwendung des ausgewählten Lösungsalgorithmus für lineare Gleichungssysteme berechnet und als Lösungsvektor dargestellt. Der Programmierer kann in 408 die Lösungsvektoren auf Plausibilität untersuchen und gegebenenfalls Korrekturen durchführen, beispielsweise Terme in der eingegebenen Matrix korrigieren. Bei Korrekturen oder Abänderungen des eingegebenen mathematischen Problems kehrt der Ablauf zu 403 zurück. Sind die erzeugten Lösungsvektoren plausibel und das spezifizierte mathematische Problem wird nicht korrigiert, so ist die Vorbereitungsphase (dargestellt in 4A) abgeschlossen und die Übersetzungsphase (dargestellt in 4B) beginnt.In 407 For sample values set for the parameters, example solutions are calculated using the selected solution system for linear equation systems and represented as a solution vector. The programmer can work in 408 Check the solution vectors for plausibility and, if necessary, make corrections, for example correcting terms in the entered matrix. Correction or modification of the entered mathematical problem will cause the process to increase 403 back. If the generated solution vectors are plausible and the specified mathematical problem is not corrected, then the preparation phase (shown in FIG 4A ) and the translation phase (shown in 4B ) begins.

In 409 werden für die Parameter des mathematischen Problems Variablen des Zielprogramms festgelegt. Der Typ der Variablen wird dabei basierend auf den eingestellten Wertebereichen für die Parameter festgelegt. Unter Verwendung der technischen Eigenschaften des Zielsystems wird in 410 der Speicherbedarf für die festgelegten Variablen auf dem Zielsystem ermittelt.In 409 variables of the target program are set for the parameters of the mathematical problem. The type of variable is determined based on the set value ranges for the parameters. Using the technical characteristics of the target system is in 410 determines the memory requirements for the specified variables on the target system.

In 411 werden die Schritte, die für die Ausführung des ausgelösten Lösungsalgorithmus auf dem Zielsystem durchgeführt werden müssen, bestimmt. Dabei kann der Lösungsalgorithmus in Umfang und Art zielgenau für die Aufgabenstellung optimiert werden, beispielsweise, falls die Matrix, die dem zu lösenden Gleichungssystem entspricht, dünn besetzt ist, ein Lösungsalgorithmus für dünn besetzte Matrizen eingesetzt werden oder, je nach den Parametern des mathematischen Problems, das zu lösen ist, die Freiheitsgrade, die der Algorithmus berücksichtigt, reduziert werden. Somit kann der Lösungsalgorithmus so implementiert werden, dass er gerade die Funktionalität bietet, die das konkrete mathematische Problem erfordert.In 411 The steps that must be taken to execute the triggered solution algorithm on the target system are determined. In this case, the solution algorithm can be optimally optimized in scope and type for the task, for example, if the matrix corresponding to the system of equations to be solved is sparse, a solution algorithm for sparse matrices is used or, depending on the parameters of the mathematical problem, to be solved, the degrees of freedom that the algorithm takes into account are reduced. Thus, the solution algorithm can be implemented to just provide the functionality required by the particular mathematical problem.

In 412 wird der Speicherbedarf für die Ausführung des Lösungsalgorithmus sowie der Zeitbedarf für die Ausführung des Lösungsalgorithmus bestimmt. Basierend auf dem Ergebnis dieser Bestimmung wird in 413 festgestellt, ob das Zielsystem für die Lösung des Problems geeignet ist. Ist das Zielsystem nicht geeignet, beispielsweise weil es die Anforderungen an die Leistungsfähigkeit an den Speicherbedarf nicht erfüllt, wird der Ablauf abgebrochen und beispielsweise in 402 erneut ein generelles Lösungsverfahren ausgewählt.In 412 the memory requirements for the execution of the solution algorithm as well as the time required for the execution of the solution algorithm are determined. Based on the result of this determination is in 413 Determines whether the target system is suitable for solving the problem. Is the target system not suitable, for example because it is the An If the performance requirements for the storage requirement are not met, the process is aborted and, for example, in 402 again a general solution method selected.

Erfüllt das Zielsystem die Anforderungen, so werden in 414 die Parameter des mathematischen Problems in Variable bzw. Konstanten des durch das Zielsystem auszuführenden Programms übersetzt.If the target system fulfills the requirements, then 414 translate the parameters of the mathematical problem into variables or constants of the program to be executed by the target system.

In 415 wird der ausgewählte Lösungsalgorithmus in Form eines Computerprogramms (oder Programmteils) für das Zielsystem generiert. Diese kann in textueller Form geschehen, beispielsweise als Programmcode einer Hochsprache wie beispielsweise C oder Pascal. In diesem Fall kann der Programmcode anschließend noch in dem Maschinencode des Zielsystems kompiliert werden, wobei auch weitere Programmteile (Subroutinen etc.) noch zusätzlich eingebunden werden können. Der textuelle Programmcode hat den Vorteil, dass der Lösungsalgorithmus auf einfache Weise an Eingabevorrichtungen und Ausgabevorrichtungen der Zielvorrichtung angepasst werden kann.In 415 the selected solution algorithm is generated in the form of a computer program (or program part) for the target system. This can be done in textual form, for example as program code of a high-level language such as C or Pascal. In this case, the program code can then be compiled in the machine code of the target system, with additional program parts (subroutines, etc.) also being able to be integrated. The textual program code has the advantage that the solution algorithm can be easily adapted to input devices and output devices of the target device.

Alternativ kann das Computerprogramm auch gleich in binärem Maschinencode erzeugt werden, das sich auch über geeignete Schnittstellen wie Klassen und Units nutzen lässt. Beispielsweise wird der Lösungsalgorithmus als Unterprogramm in Maschinencode übersetzt, das in einer Laufzeitbibliothek des Zielsystems abgelegt wird, oder das Computerprogramm wird in Form einer Klasse einer objektorientierten Programmiersprache erzeugt, die in ein Computerprogramm eingebunden werden kann.alternative can the computer program also be generated in binary machine code, that too over Use appropriate interfaces such as classes and units. For example becomes the solution algorithm translated as a subroutine into machine code that is in a runtime library of the target system, or the computer program is in Generates a class of an object-oriented programming language, which can be integrated into a computer program.

In 416 wird das erzeugte Computerprogramm zur Lösung der gestellten Aufgabe von dem Zielsystem ausgeführt.In 416 the generated computer program is executed by the target system to solve the task.

Ein Ausführungsbeispiel, bei dem der elektronische Datenverarbeitungsschaltkreis ein Mikrocontroller ist, wird im Folgenden mit Bezug auf 5 beschrieben.An embodiment in which the electronic data processing circuit is a microcontroller will be described below with reference to FIG 5 described.

5 zeigt ein Ablaufdiagramm 500 gemäß einem Ausführungsbeispiel der Erfindung. 5 shows a flowchart 500 according to an embodiment of the invention.

In diesem Beispiel soll als elektronischer Datenverarbeitungsschaltkreis ein Mikrocontroller programmiert werden, der die Signale eines Sensors, beispielsweise eines Temperatursensors, erfassen soll, in eine lineare Nullpunktadaptierte Form bringen soll und anzeigen soll. Die Kennlinie des Sensors und eine Korrekturfunktion liegen dem Benutzer vor. In 501 gibt der Benutzer die Sensorkennlinie und die Korrekturfunktion, beispielsweise in Form einer Korrekturkennlinie, in den Steuerungsschaltkreis 100 ein.In this example, a microcontroller is to be programmed as an electronic data processing circuit, which should detect the signals of a sensor, such as a temperature sensor, to bring in a linear zero-adapted form and display. The characteristic curve of the sensor and a correction function are available to the user. In 501 the user inputs the sensor characteristic and the correction function, for example in the form of a correction characteristic, into the control circuit 100 one.

Die beiden Kennlinien werden dem Benutzer von dem Steuerschaltkreis 100 in 503 angezeigt, beispielsweise in einer zu verwendenden linearisierten Form, die in 502 erzeugt wird, und der Benutzer entscheidet in 504, ob die Kennlinien seinen wünschen bzw. der Aufgabenstellung entsprechen.The two characteristics are the user of the control circuit 100 in 503 displayed, for example, in a linearized form to be used in 502 is generated, and the user decides in 504 , whether the characteristics correspond to his wishes or the task.

Ist dies nicht der Fall, so werden sie in 501 erneut eingegeben. Ist der Benutzer mit den Kennlinien zufrieden, so werden in 505 mögliche Lösungsverfahren generiert/ausgewählt und dem Benutzer angezeigt, wobei Eigenschaften der Ausführung der Lösungsverfahren wie beispielsweise Speicherbedarf und Zeitbedarf auf dem Zielsystem angegeben werden können. In diesem Beispiel wird angenommen, dass das Zielsystem, also der Mikrocontroller, über keine geeignete Gleitkommaarithmetik verfügt. Als mögliches Lösungsverfahren besteht beispielsweise nun die Möglichkeit, ein Lösungsverfahren zu verwenden, das Gleitkommaarithmetik erfordert und der Mikrocontroller wird so programmiert, dass er Gleitkommaarithmetik ausführen kann, d. h. es wird Gleitkommaarithmetik softwaremäßig auf dem Mikrocontroller implementiert. Es wird angenommen, dass in diesem Fall die Geschwindigkeit des Lösungsverfahrens auf dem Mikrocontroller zu gering ist und deshalb von dem Steuerschaltkreis 100 nicht als Lösungsverfahren ausgewählt wird. Als zweites Lösungsverfahren steht beispielsweise zur Verfügung, für die Kennlinien jeweils eine Tabelle mit äquidistanten Stützstellen und Stützwerten anzulegen und bei Zwischenwerten von dem Mikrocontroller eine Interpolation der Stützwerte durchführen zu lassen. Als drittes Lösungsverfahren schlägt der Steuerschaltkreis 100 beispielsweise vor, für jede Kennlinie eine Tabelle mit einer beispielsweise optimal gewählten Anzahl von Stützstellen und Stützwerten anzulegen, wobei die Stützstellen nicht äquidistant sind, sondern sich der Abstand zweier Stützstellen nach dem Anstieg der jeweiligen Kennlinie in dem jeweiligen Bereich richtet. Die Anzahl und die Anordnung der Stützstellen werden beispielsweise unter Verwendung der Methode der kleinsten Fehlerquadrate optimiert.If not, they will be in 501 entered again. If the user is satisfied with the characteristics, then 505 possible solution methods are generated / selected and displayed to the user, whereby properties of the execution of the solution methods, such as, for example, memory requirements and time requirements, can be specified on the target system. In this example, it is assumed that the target system, ie the microcontroller, does not have suitable floating point arithmetic. For example, as a possible solution method, it is now possible to use a solution method that requires floating point arithmetic, and the microcontroller is programmed to perform floating point arithmetic, ie, floating point arithmetic is implemented on the microcontroller by software. It is assumed that in this case the speed of the solution process on the microcontroller is too low and therefore by the control circuit 100 not selected as a solution method. As a second solution method, it is possible, for example, to create a table with equidistant support points and support values for the characteristic curves and to have interpolation of the support values carried out by the microcontroller at intermediate values. The third solution method is the control circuit 100 For example, before for each characteristic to create a table with an example optimally selected number of nodes and support values, the nodes are not equidistant, but the distance between two nodes after the rise of the respective characteristic in each area. The number and arrangement of the nodes are optimized using, for example, the least squares method.

Es wird angenommen, dass der Steuerschaltkreis 100 selbständig oder entsprechend einer Benutzereingabe in 506 das dritte Lösungsverfahren, also den Einsatz nicht äquidistanter Stützstellen, zur Lösung des Problems auswählt.It is assumed that the control circuit 100 independently or according to a user input in 506 select the third solution method, ie the use of non-equidistant support points, to solve the problem.

In 507 werden die für einen Testlauf des Lösungsverfahrens in dem Steuerschaltkreis 100 erforderlichen Laufzeitkomponenten generiert. Dazu werden die Stützstellen unter Beachtung des Wertebereichs und der arithmetischen Möglichkeiten des Zielsystems erzeugt. Ferner werden beispielsweise für die Sensorkennlinie zwei Tabellen erzeugt, wobei eine Tabelle die linearisierten und gegebenenfalls skalierten Sensorkennlinienwerte und die zweite Tabelle die entsprechenden Stützstellen angibt. Für die Tabellen wird eine Adressierung im Adressraum der Zieleinrichtung erzeugt. Ferner wird eine Subroutine für die Interpolation erzeugt.In 507 become for a test run of the solution process in the control circuit 100 required runtime components generated. For this purpose, the interpolation points are generated taking into account the range of values and the arithmetic possibilities of the target system. Furthermore, for example, two tables are generated for the sensor characteristic curve, one table containing the linearized and optionally scaled sensor characteristic values and the second Ta belle indicates the corresponding support points. Addressing in the address space of the destination device is generated for the tables. Further, a subroutine for interpolation is generated.

In 508 wird das ausgewählte Lösungsverfahren unter Verwendung der erzeugten Laufzeitkomponenten auf dem Steuerschaltkreis 100 getestet. Beispielsweise werden Ergebnisse für Beispieltemperaturwerte bzw. Beispielsensordaten dem Benutzer angezeigt und der Benutzer kann überprüfen, ob das Lösungsverfahren korrekt arbeitet. Ist dies nicht der Fall, so wird in 506 ein anderes Verfahren ausgewählt oder das Lösungsverfahren abgeändert. Arbeitet das Lösungsverfahren korrekt, so werden in Schritt 509 die Steuerbefehle für den Mikrocontroller entsprechend an den ausgewählten Lösungsverfahren und den erzeugten und getesteten Laufzeitkomponenten erzeugt.In 508 the selected solution method is used on the control circuit using the generated runtime components 100 tested. For example, results for sample temperature values or sample sensor data are displayed to the user, and the user can verify that the solution method works correctly. If this is not the case, then in 506 selected another method or modified the solution method. If the solution process works correctly, then in step 509 generates the control commands for the microcontroller according to the selected solution method and the generated and tested runtime components.

Das ausgewählte Lösungsverfahren und die erzeugten Laufzeitkomponenten werden in einem Ausführungsbeispiel unter den Bedingungen getestet, unter denen sie auch auf der Zieleinrichtung, d. h. dem Mikrocontroller, ausgeführt werden. Beispielsweise werden die erzeugten Tabellen in demselben numerischen Format im Speicher abgelegt, das auch von dem Mikrocontroller verwendet wird, und die numerischen Werte, die in diesen Tabellen abgelegt sind, werden für die Simulation verwendet. Auf diese Weise kann mit hoher Zuverlässigkeit sichergestellt werden, dass ein Lösungsverfahren, das auf dem Steuerschaltkreis korrekt funktioniert, auch auf dem Mikrocontroller korrekt funktionieren wird.The selected solution process and the generated runtime components become in one embodiment tested under the conditions under which they are also on the target d. H. the microcontroller. For example the generated tables are written in the same numeric format in Stored memory, which is also used by the microcontroller, and the numerical values stored in these tables, be for used the simulation. This way can be done with high reliability ensure that a solution process that is on the control circuit works correctly, even on the microcontroller to work properly becomes.

Gemäß einem weiteren Ausführungsbeispiel soll ein ebenes stationäres elektrisches Strömungsfeld dargestellt werden, wobei der Benutzer die Geometrie der Anordnung innerhalb bestimmter Grenzen verändern kann. Der Steuerschaltkreis 100 schlägt z. B. als Lösungsalgorithmus eine Finite-Elemente-Methode vor. Der Benutzer kann die Geometrie der Anordnung beispielsweise in Form einer Skizze in den Steuerschaltkreis 100 eingeben. Beispielsweise wird entschieden, dass die Finite-Elemente-Methode für eine Echtzeitdarstellung, wenn sie auf dem Zielsystem implementiert wird, zu langsam ist und es wird ein anderes Lösungsverfahren ausgewählt. Zum Beispiel wird das Strömungsfeld für verschiedene Geometrien vorausberechnet und die Ergebnisse in Form einer Tabelle abgelegt. Diese Vorausberechnung ist aufwendig, muss jedoch nur einmal durchgeführt werden und kann gegebenenfalls mittels eines Computersystems durchgeführt werden, das leistungsfähiger als das Zielsystem ist. Zwischen den vorausberechneten Strömungsfeldern soll auf dem Zielsystem beispielsweise interpoliert werden, wenn eine Geometrie ausgewählt wird, für die das Strömungsfeld nicht vorausberechnet worden ist. Dazu wird ein geeignetes Interpolationsverfahren ausgewählt und die Steuerbefehle zur Ausführung des Interpolationsverfahrens auf dem Zielsystem erzeugt und zusammen mit dem für die Ausführung des Lösungsverfahrens erforderlichen Daten, in diesem Fall beispielsweise die Tabelle mit den vorausberechneten Strömungsfeldern an das Zielsystem übergeben und dort ausgeführt.According to a further embodiment, a planar stationary electrical flow field is to be displayed, wherein the user can change the geometry of the arrangement within certain limits. The control circuit 100 suggests z. B. as a solution algorithm before a finite element method. The user may, for example, in the form of a sketch in the control circuit the geometry of the arrangement 100 enter. For example, it is decided that the finite element method for a real-time representation, if implemented on the target system, is too slow and another solution method is selected. For example, the flow field is precalculated for different geometries and the results are stored in the form of a table. This precalculation is expensive, but only has to be performed once, and if necessary can be performed by means of a computer system that is more powerful than the target system. For example, interpolation between the precalculated flow fields on the target system when a geometry is selected for which the flow field has not been predicted. For this purpose, a suitable interpolation method is selected and the control commands for executing the interpolation method on the target system and transferred together with the data required for the execution of the solution process, in this case, for example, the table with the precalculated flow fields to the target system and executed there.

Claims (25)

Steuerschaltkreis zum Steuern eines elektronischen Datenverarbeitungsschaltkreises aufweisend einen Eingabeschaltkreis, der eingerichtet ist, eine Spezifikation eines mathematischen Problems, das von dem elektronischen Datenverarbeitungsschaltkreis gelöst werden soll, zu empfangen; einen Ermittlungsschaltkreis, der eingerichtet ist, einen Algorithmus zu ermitteln, der von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden kann und mittels welchem, wenn er von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt wird, das Problem gelöst wird; einen Simulierschaltkreis, der eingerichtet ist, mindestens eine Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus zu erzeugen; einen Anzeigeschaltkreis, der eingerichtet ist, die Beispiellösung anzuzeigen; einen Erzeugungsschaltkreis, der eingerichtet ist, Steuerbefehle zu erzeugen, die, wenn sie von dem Datenverarbeitungsschaltkreis ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.Control circuit for controlling an electronic Comprising data processing circuitry an input circuit, that is set up, a specification of a mathematical problem, which are solved by the electronic data processing circuit should, to receive; a discovery circuit that set up is to find an algorithm that is different from the electronic one Data processing circuit can be executed and by means of which, if by the electronic data processing circuit accomplished the problem is solved becomes; a simulating circuit that is set up at least a sample solution of the mathematical problem using the algorithm determined to create; a display circuit that is set up, the example solution display; a generating circuit that is set up, control commands which, when generated by the data processing circuit accomplished will cause the problem according to the algorithm determined solved becomes. Steuerschaltkreis gemäß Anspruch 1, ferner aufweisend einen Speicher zum Speichern einer Mehrzahl von Algorithmen zur Lösung des Problems, wobei der Ermittlungsschaltkreis eingerichtet ist, den Algorithmus aus der Mehrzahl von Algorithmen auszuwählen.The control circuit of claim 1, further comprising a memory for storing a plurality of algorithms for solution the problem, wherein the discovery circuit is set up, to select the algorithm from the plurality of algorithms. Steuerschaltkreis gemäß Anspruch 1 oder 2, ferner aufweisend einen Modifizierschaltkreis, der eingerichtet ist, den Algorithmus an das mathematische Problem anzupassen.A control circuit according to claim 1 or 2, further comprising a modifying circuit that is adapted to Algorithm to adapt to the mathematical problem. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 3, ferner aufweisend einen Speicher zum Speichern mindestens einer Eigenschaft des Datenverarbeitungsschaltkreises.Control circuit according to one of claims 1 to 3, further comprising a memory for storing at least one Property of the data processing circuit. Steuerschaltkreis gemäß Anspruch 4, wobei die Simulation unter Berücksichtigung der Eigenschaft des Datenverarbeitungsschaltkreises durchgeführt wird.Control circuit according to claim 4, wherein the simulation considering the property of the data processing circuit is performed. Steuerschaltkreis gemäß Anspruch 4, wobei die Erzeugung der Steuerbefehle unter Berücksichtigung der Eigenschaft des Datenverarbeitungsschaltkreises durchgeführt wird.Control circuit according to claim 4, wherein the generation the control commands under consideration the property of the data processing circuit is performed. Steuerschaltkreis gemäß einem der Ansprüche 4 bis 6, wobei die Eigenschaft des Datenverarbeitungsschaltkreises die unterstützten Befehle, der verfügbare Speicher, die Rechenleistung, die verwendete Speicheradressierung und/oder das verwendete Datenformat des Datenverarbeitungsschaltkreises ist.Control circuit according to one of claims 4 to 6, wherein the property of the data processing circuit, the supported Commands, the available Memory, the computing power, the used memory addressing and / or the data format of the data processing circuit used is. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 7, ferner aufweisend einen Speicher zum Speichern von Syntaxregeln, wobei der Erzeugungsschaltkreis eingerichtet ist, die Steuerbefehle gemäß den Syntaxregeln zu erzeugen.Control circuit according to one of claims 1 to 7, further comprising a memory for storing syntax rules, wherein the generating circuit is arranged, the control commands according to the syntax rules to create. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 8, ferner aufweisend einen zweiten Ermittlungsschaltkreis, der eingerichtet ist, die Parameter des mathematischen Problems aus der Spezifikation des mathematischen Problems zu ermitteln.Control circuit according to one of claims 1 to 8, further comprising a second detection circuit established is the parameters of the mathematical problem from the specification of the to determine mathematical problem. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 9, ferner aufweisend einen Skalierschaltkreis, der eingerichtet ist, Parametern des mathematischen Problems Skalierfaktoren zuzuweisen.Control circuit according to one of claims 1 to 9, further comprising a scaling circuit configured Assign scaling factors to the mathematical problem parameters. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 10, wobei der Steuerschaltkreis ein Computer ist.Control circuit according to one of claims 1 to 10, wherein the control circuit is a computer. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 11, wobei der Datenverarbeitungsschaltkreis ein Computer oder ein Mikrocontroller ist.Control circuit according to one of claims 1 to 11, wherein the data processing circuit is a computer or a Microcontroller is. Steuerschaltkreis gemäß Anspruch 11, wobei der Steuerschaltkreis derselbe Computer wie der Datenverarbeitungsschaltkreis ist.A control circuit according to claim 11, wherein the control circuit the same computer as the data processing circuit. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 13, ferner aufweisend einen Übermittlungsschaltkreis, der eingerichtet ist, die Steuerbefehle an den Datenverarbeitungsschaltkreis zu übermitteln.Control circuit according to one of claims 1 to 13, further comprising a transmission circuit, which is set up, the control commands to the data processing circuit to convey. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 14, wobei die Spezifikation des mathematischen Problems in Form mindestens einer mathematischen Formel von dem Eingabeschaltkreis empfangen wird.Control circuit according to one of claims 1 to 14, with the specification of the mathematical problem in the form at least one mathematical formula of the input circuit Will be received. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 15, wobei die mathematische Formel mittels einer Tastatur eingegeben wird.Control circuit according to one of claims 1 to 15, where the mathematical formula entered by means of a keyboard becomes. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 16, wobei die Steuerbefehle in Form von Maschinencode des Datenverarbeitungsschaltkreises erzeugt wird.Control circuit according to one of claims 1 to 16, wherein the control commands are in the form of machine code of the data processing circuit is produced. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 16, wobei die Steuerbefehle in Form von Assemblerinstruktionen erzeugt werden.Control circuit according to one of claims 1 to 16, wherein the control commands are generated in the form of assembly instructions become. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 16, wobei die Steuerbefehle in Form von Instruktionen einer höheren Programmiersprache erzeugt werden.Control circuit according to one of claims 1 to 16, wherein the control commands are in the form of higher-level language instructions be generated. Steuerschaltkreis gemäß Anspruch 19, wobei die höhere Programmiersprache eine objektorientierte Programmiersprache ist.Control circuit according to claim 19, wherein the higher level programming language an object-oriented programming language. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 20, wobei die Steuerbefehle in Form einer Computerprogramm-Prozedur erzeugt werden.Control circuit according to one of claims 1 to 20, wherein the control commands generated in the form of a computer program procedure become. Steuerschaltkreis gemäß Anspruch 21, wobei die Computerprogramm-Prozedur in eine Laufzeitbibliothek für den Datenverabeitungsschaltkreis eingebunden wird.The control circuit of claim 21, wherein the computer program procedure into a runtime library for the data processing circuit is involved. Steuerschaltkreis gemäß einem der Ansprüche 1 bis 20, wobei die Steuerbefehle in Form einer Klasse einer objektorientierten Programmiersprache erzeugt werden.Control circuit according to one of claims 1 to 20, wherein the control commands are in the form of a class of an object-oriented Programming language can be generated. Verfahren zum rechnergestützten Steuern eines elektronischen Datenverarbeitungsschaltkreises aufweisend Empfangen einer Spezifikation eines mathematischen Problems, das von dem elektronischen Datenverarbeitungsschaltkreis gelöst werden soll; Ermitteln eines Algorithmus, der von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden kann und mittels welchem, wenn er von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt wird, das Problem gelöst wird; Erzeugen, durch Simulation, mindestens einer Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus; Anzeigen der Beispiellösung; Automatisches Erzeugen von Steuerbefehlen, die, wenn sie von dem Datenverarbeitungsschaltkreis ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.Method for computerized control of an electronic Comprising data processing circuitry Receiving one Specification of a mathematical problem, that of the electronic Data processing circuit to be solved; Determine an algorithm used by the electronic data processing circuit be executed can and by means of which, if he from the electronic data processing circuit accomplished the problem is solved becomes; Generate, by simulation, at least one example solution of the mathematical problem using the algorithm determined; Show the example solution; automatically Generating control commands which, when executed by the data processing circuit, cause the problem as determined Algorithm solved becomes. Computerprogramm-Element, das, wenn es von einem Prozessor ausgeführt wird, bewirkt, dass der Prozessor ein Verfahren zum rechnergestützten Steuern eines elektronischen Datenverarbeitungsschaltkreises durchführt aufweisend Empfangen einer Spezifikation eines mathematischen Problems, das von dem elektronischen Datenverarbeitungsschaltkreis gelöst werden soll; Ermitteln eines Algorithmus, der von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt werden kann und mittels welchem, wenn er von dem elektronischen Datenverarbeitungsschaltkreis ausgeführt wird, das Problem gelöst wird; Erzeugen, durch Simulation, mindestens einer Beispiellösung des mathematischen Problems unter Verwendung des ermittelten Algorithmus; Anzeigen der Beispiellösung; Erzeugen von Steuerbefehlen, die, wenn sie von dem Datenverarbeitungsschaltkreis ausgeführt werden, bewirken, dass das Problem gemäß dem ermittelten Algorithmus gelöst wird.A computer program element that, when executed by a processor, causes the processor to perform a method of computer-aided controlling an electronic data processing circuit, comprising receiving a specification of a mathematical problem to be solved by the electronic data processing circuit; Determining an algorithm that can be performed by the electronic data processing circuit and by which, when executed by the electronic data processing circuit, the problem is solved; Generating, by simulation, at least one example solution of the mathematical problem using the determined algorithm; Displaying the sample solution; Generating control commands that, when executed by the data processing circuitry, cause the problem to be solved according to the algorithm determined.
DE200710060686 2007-12-17 2007-12-17 Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit Ceased DE102007060686A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200710060686 DE102007060686A1 (en) 2007-12-17 2007-12-17 Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710060686 DE102007060686A1 (en) 2007-12-17 2007-12-17 Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit

Publications (1)

Publication Number Publication Date
DE102007060686A1 true DE102007060686A1 (en) 2009-06-18

Family

ID=40680057

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200710060686 Ceased DE102007060686A1 (en) 2007-12-17 2007-12-17 Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit

Country Status (1)

Country Link
DE (1) DE102007060686A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173276B1 (en) * 1997-08-21 2001-01-09 Scicomp, Inc. System and method for financial instrument modeling and valuation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173276B1 (en) * 1997-08-21 2001-01-09 Scicomp, Inc. System and method for financial instrument modeling and valuation

Similar Documents

Publication Publication Date Title
DE112005001031B4 (en) Graphic screen configuration framework for unified process control system interface
DE102017102651A1 (en) Apparatus for formulating rules in a process control network
DE19781804B4 (en) Device for simulating a real-time process control
DE112016007220T5 (en) Ladder program processing support device and ladder program processing method
DE102011053544A1 (en) Method and device for displaying process control information
DE102010038146A1 (en) Method for selecting shapes in a graphic display
DE102005055133A1 (en) System for machine-aided design of technical devices
DE102019003851A1 (en) Systems and methods for the automatic realization of models for co-simulation
EP2799983B1 (en) Flexible distribution of I/O channels of a hardware component
AT511272A1 (en) COUPLING METHODOLOGY FOR NON-ITERATIVE CO SIMULATION
EP1522910B1 (en) Method and system for configuring a control system
DE102007062395B4 (en) Method for parameterizing a field device of process automation technology
DE10324594A1 (en) Method for providing improved simulation capabilities of a dynamic system outside of the original modeling environment
DE102019008598A1 (en) Identification and visualization of associations between code generated by a model and sources that influence code generation
WO2020200870A1 (en) Method for engineering and simulating an automation system by means of digital twins
EP3629108B1 (en) Planning of an automation system
DE102007060686A1 (en) Control circuit for controlling electronic data processing circuit, has input circuit, which is arranged to receive specification of mathematical problem, which is solved by electronic data processing circuit
DE102004003100A1 (en) Method for resolving improperly matched graphic symbols in a computer-aided design of integrated circuits
DE202021101570U1 (en) System for displaying the status of an automation system
EP1505399B1 (en) Method for Generating Test Data for functional test of data processing circuits
EP3001318A1 (en) Determining signals for readback from FPGA
DE102013010783A1 (en) Method and control device for testing an automation solution based on a PLC control
DE102010011190A1 (en) Method and system for preparing and providing information on the operation of a technical installation
EP4224353A1 (en) Method for creating a virtual model of a component, computer system, computer program product
Folkerts An Architecture for Model Behavior Generation for Multiple Simulators

Legal Events

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