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.