DE10008632A1 - Verfahren und System zum Erzeugen eines Computerprogramms - Google Patents
Verfahren und System zum Erzeugen eines ComputerprogrammsInfo
- Publication number
- DE10008632A1 DE10008632A1 DE10008632A DE10008632A DE10008632A1 DE 10008632 A1 DE10008632 A1 DE 10008632A1 DE 10008632 A DE10008632 A DE 10008632A DE 10008632 A DE10008632 A DE 10008632A DE 10008632 A1 DE10008632 A1 DE 10008632A1
- Authority
- DE
- Germany
- Prior art keywords
- flowchart
- source code
- program
- symbol
- chart
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13044—Display as flow chart, SFC, FUP
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13123—C language
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13138—High level language HLL, structured text ST, resembles pascal
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
Die Erfindung betrifft ein Verfahren und ein System zum Erzeugen eines Quellcodes (96) in einer höheren Programmiersprache (Pascal, Turbo Pascal, C/C++, Basic), wobei folgende Schritte durchgeführt werden: DOLLAR A (a) Programmablaufs-Symbole (100) werden an einem Anzeigegerät (2) grafisch derart miteinander verbunden, dass ein Flussdiagramm (95) erzeugt wird, DOLLAR A (b) die grafischen Informationen (3b) des Flussdiagramms (95) werden gespeichert, DOLLAR A (c) es werden logische Datensätze (3a) erzeugt, die dem Flussdiagramm (95) entsprechen, und DOLLAR A (d) ein Quellcode-Erzeugungsmittel (Gungem Chart 1) erzeugt anhand der logischen Datensätze (3a) einen dem definierten Flussdiagramm (95) entsprechenden Quellcode (96). DOLLAR A Mit der Erfindung wird das Erstellen von Computerprogrammen in höheren Programmiersprachen wesentlich erleichtert. Sie ist insbesondere zur Anwendung in Schulungssystemen geeignet, um Programmieranfängern den Einstieg in Syntax und Befehle höherer Programmiersprachen zu erleichtern.
Description
Die Erfindung betrifft ein Verfahren und ein System zum Erzeugen eines Compu
terprogramms, insbesondere eines Programms in einer höheren Programmier
sprache wie Turbo Pascal oder C. Derartige Programmiersprachen werden viel
fach als Einstiegsprogramme für Programmieranfänger ausgewählt. Vielfach sind
Anfänger jedoch bereits beim Erstellen einfachster Programme in diesen Spra
chen völlig überfordert. Das anfängliche Interesse für die Informatik scheitert dann
häufig an der Komplexität des Erlernens der Programmiersprache, da zu viel Zeit
zum Erlernen der Details der Programmiersprache (Syntaxregeln, Befehlscodes
etc.) verwendet werden muß. Die Grundelemente der Informatik, die zum Um
setzten und Lösen einer Problemstellung erforderlich sind, können dadurch viel
fach nicht mehr vermittelt werden.
Andererseits werden immer mehr Menschen mit Computern und Programmier
sprachen konfrontiert und benötigen deshalb ein gewisses Grundverständnis für
informationstechnische Vorgänge. Dies gilt in besonderem Maße für Menschen,
die bei der Bedienung von computergesteuerten Maschinen wie z. B. CNC-
Fräsmaschinen gewisse programmiertechnische Kenntnisse benötigen. Es ist
deshalb nötig, Interessierten praxisnahe Informatik näherbringen zu können, ohne
den Betroffenen hierbei einen größeren Zeitaufwand zum Erlernen einer Pro
grammiersprache zumuten zu müssen.
Es besteht demzufolge ein erhebliches Bedürfnis, eine Methode zu finden, be
troffenen Schülern und sowie aus- und weiterzubildenden Personen die Grundbe
griffe der Informatik zu vermitteln ohne den Umweg über eine ungewohnte Programmiersprache
nehmen zu müssen, um hiermit die Schulung direkt auf das
Wesentliche konzentrieren zu können.
In Robert Sedgewick, Algorithmen in C++, Addison-Wesley Verlag (Deutschland),
1992, ISBN 0-201-51059-6 sind grundlegende Programmtiertechniken höherer
Programmiersprache am Beispiel der Sprache C++ beschrieben.
In US-A-5,875,331 ist ein Source Code Generator beschrieben, der aus Pro
grammierbefehlen der vierten Generation direkt einen SourceCode in einer Spra
che der dritten Generation (Pascal, C) erstellt. Dazu enthält er eine sogenannte
"object code generator engine", die aus objektorientierten Befehlen der vierten
Programmiersprachengeneration Einzelbefehle der dritten Generation erzeugt.
Aus US-A-5,386,508 ist ein Verfahren bekannt, bei dem aus vorgegebenen
Flussdiagrammen, die von einer Vorlage optoelektronisch abgetastet werden di
rekt ein Programm-Code erstellt wird. Die Flussdiagramm-Vorlagen müssen dabei
gewissen Normen entsprechen um automatisch erkannt zu werden.
Aus US-A-4,546,435 ist ein System bekannt, in dem auf einem Keyboard Flow-
Chart-Symbole vorgesehen sind, aus denen ein entsprechen angepaßter Com
puter direkt einen Source Code erzeugt.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und ein System zu
schaffen, mit dem Computerprogramme einfach, schnell und weitgehend automa
tisiert erstellbar sind.
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen beschriebene
Erfindung gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der
Unteransprüche.
Erfindungsgemäß ist ein Steuerungsprogramm vorgesehen, welches insbesonde
re auf einem Computer ablaufen kann. Das Steuerungsprogramm ermöglicht es,
Programmablaufsanweisungen an einem Ausgabegerät anzuzeigen und zur Aus
wahl anzubieten. Die Programmablaufsanweisungen (Symbole) können über ein
Eingabegerät ausgewählt und über graphische Verbindungssymbole zu einem
Flussdiagramm kombiniert werden. Das Steuerungsprogramm bewirkt, dass die
dem Flussdiagramm entsprechenden Informationen einerseits als graphische In
formationen und andererseits als logische Informationen gespeichert werden. Die
logischen Informationen werden insbesondere als Daten in einer verketteten Liste
hinterlegt, wobei jedes Symbol als Instanz einer Symbolklasse mit mehreren, dem
Symbol zugeordneten Zusatzinformationen versehen ist und innerhalb der ver
ketteten Liste aufeinanderfolgende Instanzen der Symbolklassen aufeinander
verweisen. Im weiteren Verlauf bewirkt dann das Steuerungsprogramm, dass aus
den logischen Informationen (verkettete Liste) eine Abfolge von Pro
grammablaufsanweisungen, d. h. ein Computerprogramm als Quellcode einer hö
heren Programmiersprache erstellt wird. Zum Erzeugen des Quellcodes ist insbe
sondere vorgesehen, die logischen Daten (verkettete Liste) anhand eines Skript-
Syntaxes zu verarbeiten, in welchem die Symbole individuell codiert und mit ent
sprechenden Einträgen in einer Skript-Bibliothek verglichen werden. Die Skript-
Bibliothek enthält dabei eine Zuordnung zwischen den Symbolen im Skript-Syntax
und den entsprechenden Programmbefehlen einer höheren Programmiersprache.
Die Verwendung einer verketteten (dynamischen) Liste erlaubt es insbesondere,
Veränderungen an dem zugrundeliegenden Flussdiagramm relativ einfach in die
logischen Daten (verkettet Liste) zu übernehmen, indem die entsprechenden Ver
weise innerhalb der verketteten Liste an die neuen Gegebenheiten des Flussdia
gramms angepasst werden.
Die Erfindung beruht dabei auf der Erkenntnis, dass es für einen Programmieran
fänger eine erhebliche Erleichterung darstellt, wenn er zum Erlernen und Erzeu
gen von Computerprogrammen in für ihn neuen Programmiersprachen zwei Ar
beitsebenen angeboten bekommt, nämlich einerseits eine leicht zu bedienende
grafische Benutzerebene, in welcher der Benutzer ein Flussdiagramm auf Basis
grafischer Programmablaufssymbole erzeugt und andererseits eine etwas an
spruchsvollere Programmierebene, in der von dem Steuerungsprogramm automatisch
ein dem Flussdiagramm entsprechender Quellcode erzeugt und auf dem
Bildschirm zur Anzeige gebracht wird.
Über einen erfindungsgemäß speziell angepassten Befehlscode (Skript-Sprache),
durch den das Steuerungsprogramm mit der Skript-Bibliothek zusammenwirkt,
kann relativ einfach und sehr performant eine Zuordnung zwischen den mit dem
Steuerungsprogramm erstellten graphischen Programmablaufssymbolen und den
entsprechenden, einer jeweils ausgewählten Programmiersprache zugeordneten
Programmbefehlen erfolgen.
Die Programmablaufssymbole können im Zuge der Erstellung des graphischen
Flussdiagramms insbesondere in mehreren Teilschritten erfolgen, wobei innerhalb
jedes Teilschrittes Abfragen und/oder Eingaben zu den Programmablaufssymbo
len entsprechenden Parametern wie Variablennamen, Variablentyp usw. erfolgen
können.
In einem weiteren bevorzugten Ausführungsbeispiel bewirkt das Steuerungspro
gramm eine Anzeige auf dem Ausgabegerät derart, dass in einem ersten Teilbe
reich das Ausgabegerätes die graphischen Informationen des Flussdiagramms
dargestellt werden und in einem zweiten Teilbereich des Ausgabegerätes der
Quellcode der höheren Programmiersprache. Durch diese Maßnahme ist es ins
besondere für Personen, die bereits Kenntnisse der höheren Programmiersprache
haben, möglich, den automatisch erstellten Quellcode im zweiten Teilbereich zu
analysieren und nachzuvollziehen. Dadurch ergibt sich der Vorteil der Erfindung,
dass beim Erlernen der Programmiersprache der Quellcode und damit die Pro
grammierung des Quellcodes leichter verständlich wird und das selbständige Pro
grammieren schneller erfolgen kann als mit herkömmlichen Lernmethoden. Durch
die besondere Hervorhebung (z. B. mit Fettdruck angezeigte Schlüsselwörter) oder
auch durch Leerzeilen im Quelltext kann die Lesbarkeit und die Erlernbarkeit für
den Programmieranfänger weiter erleichtert werden.
Die Benutzerfreundlichkeit des Ablaufsteuerungsprogramms, nachfolgend auch
Gungem Chart genannt, kann durch folgende Eigenschaften des Programms
weiter erhöht werden:
- - Logischer Aufbau der Menuestruktur mit großer Flexibilität
- - Übersichtliche Menues
- - Selbsterklärende Symbolleisten
- - Ablauffähigkeit unter Standard-Betriebssystemen wie Microsoft Windows®, Unix oder Linux
- - Bequeme Benutzerführung, angelehnt an bestehende Software-Umgebungen (Fenstertechnik)
- - Soforthilfe im Programm
Zur Umsetzung der graphischen Flussdiagramm-Informationen in den Quellcode
der höheren Programmiersprache benutzt das Steuerungsablauf-Programm
(Gungem Chart) eine eigene Skript-Sprache sowie eine eigens dafür geschaffene
Skript-Bibliothek. In der Skript-Sprache sind die graphischen Symbole in einem
neuartigen Datentyp (Klasse) wiedergegeben. Dabei wird jedem graphischen
Symbol eine eigene Variable zugewiesen. In dem Datentyp (Klasse) werden alle
nötigen Informationen zur eindeutigen Klassifizierung des Symbols gespeichert:
- - Absolute Position im Dokument in Pixels bezüglich der linken oberen Ecke.
- - Symbolgröße ebenfalls in Pixels.
- - Repräsentativer Name der Symbolart wie beispielsweise "Entscheidung".
- - Hinterlegter Quelltext.
- - Überschrift, die im Dokument auf dem Symbol steht.
- - Je vier Variablen, in denen symbolspezifische Informationen, zum Beispiel bei einer Schleife die Iterationsanzahl, abgelegt werden können.
Weitere Vorteile und Details der Erfindung werden in nachfolgenden Ausfüh
rungsbeispielen anhand der Figuren näher erläutert. Es zeigen:
Fig. 1: eine erfindungsgemäße Systemstruktur
Fig. 2: symbolisch zwei Methoden des Erlernens einer Programmiersprache
Fig. 3: Details der erfindungsgemäßen Methode
Fig. 4: ein Flussdiagramm mit dem entsprechenden Quellcode
Fig. 5: ein Flussdiagramm, das erfindungsgemäße Verfahrensschritte zeigt
Fig. 6: Die Struktur eines Programmaufrufs
Fig. 7: ein erfindungsgemäßes Auswahlmenü
Fig. 8: ein Ablaufdiagramm und
die Fig. 9 bis 13: Bildschirmausdrucke.
Anhand der Fig. 2 soll zunächst nochmals erläutert werden, wie Computerpro
gramme in höheren Programmiersprachen wie Turbo Pascal oder dergleichen
bisher meist erstellt werden. Eine gestellte Aufgabe 20 wird dabei über einen rela
tiv aufwendigen Umweg 21, der über die höhere Programmiersprache 22 (z. B.
Turbo Pascal) führt, gelöst. Um zur Lösung 23 der Aufgabe 20 zu gelangen, sind
mehr oder weniger detaillierte Kenntnisse der höheren Programmiersprache nötig.
Fig. 3 zeigt bereits einige wesentliche Bestandteile des erfindungsgemäßen
Verfahrens bzw. des das Verfahren in einem Computer bewirkenden Computer
programms Gungem Chart 1. Es wirkt mit Befehls-Sammlungen 5a, 5b zusam
men, die jeweils bestimmten höheren Programmiersprachen zugeordnet sind und
die jeweils vom Benutzer des Gungem Charts 1 ausgewählt, d. h. aktiviert werden
können. Die Befehlssammlung 5a ist beispielsweise der Programmiersprache
Pascal zugeordnet, die Befehlssammlung 5b der Programmiersprache C bzw.
C++. Weitere Befehlssammlungen 5c für andere Programmiersprachen können
ebenfalls vorgesehen sein. Gungem Chart 1 sorgt dabei dafür, dass ein Benutzer,
der eine bestimmte Aufgabe 20 lösen möchte, unabhängig von der aktuell akti
vierten höheren Programmiersprache ein Flussdiagramm mit vorgegebenen Ab
laufsymbolen, die unabhängig von der Programmiersprache sind, erstellen kann.
In den Befehlssammlungen 5a, 5b usw. können auf einfache Weise neue Sym
bole mit weiteren Befehlen oder auch neue Variablentypen definiert und hinzuge
fügt hinzugefügt werden. Weiterhin sind dabei Formatierungen, wie beispielsweise
die Schlüsselwort-Hervorhebung im Quelltext oder das korrekte Einrücken der
Quelltextzeilen, einstellbar.
Die Befehlsdateien 5a, 5b binden sich automatisch in Gungem Chart 1 ein. Der
Anwender wählt vor der Erstellung eines Programms eine Befehlsdatei (Pro
grammiersache) für sich aus. Von diesem Moment an, stehen ihm alle Symbole,
Variablen und sonstigen Eigenschaften der ausgewählten Befehlsdatei zur Verfü
gung.
In Fig. 1 sind die Befehlssammlungen 5a, 5b in einer Skript-Bibliothek 5 enthal
ten, mit denen eine Ablaufsteuerung 1, welche hier durch das Computerprogramm
Gungem Chart realisiert ist, zusammenwirkt. Die Ablaufsteuerung 1 kommuniziert
dabei in einer erfindungsgemäß geschaffenen Skript-Sprache mit der Skript-
Bibliothek 5. Einige Inhalte (Syntax, Codes) der Skript-Sprache werden im folgen
den genauer erläutert:
Ein Grundbaustein der Skript-Sprache ist ein neuer Datentyp "flow", welcher ei
nerseits einem graphischen Symbol zur Erstellung des Flussdiagramms entspricht
(z. B. einem Abfragesymbol für eine Variable) und andererseits einem bzw. mehre
ren dem Symbol entsprechenden programmiersprachenspezifischen Be
fehlscodes, die in der Skript-Bibliothek 5 enthalten sind.
Durch den Datentyp "flow" lassen sich graphische Ablaufssymbole mit dem ent
sprechenden Befehlscode innerhalb der Skript-Bibliothek 5 unabhängig von den
verschiedenen, in der Bibliothek 5 enthaltenen Programmiersprachen (Pascal,
C/C++) in Zuordnung bringen. In diesem Datentyp "flow" werden alle nötigen In
formationen zur eindeutigen Umsetzung der Eigenschaften des Flussdiagramms-
Symbols in einen Quellcode-Befehl gespeichert, z. B.:
- - Name der Symbolart (Entscheidung, Abfrage, Ausgabe, . . . . . . .)
- - Zuzuordnender Quelltext
- - Weitere Variablen für symbolspezifische Informationen.
Das Computerprogramm Gungem Chart 1 läuft auf einem Computer ab, der unter
anderem einen Bildschirm 2, eine Eingabeeinrichtung 12 (Maus und/oder Tasta
tur), einen Mikroprozessor 11, einen flüchtigen Arbeitsspeicher (RAM) und einen
Permanentspeicher (Festplatte) sowie ein die Grundabläufe des Computers steu
erndes Betriebsystem aufweist.
Die Ablaufsteuerung 1 ist weiterhin mit dem Ausgabegerät (Bildschirm) 2 und
einer Eingabeeinrichtung 12 (Maus, Tastatur) verbunden und ermöglicht es, ein
Flussdiagramm 3 als graphische Information 3b auf dem Bildschirm 2 zu erzeugen
und darzustellen. Gleichzeitig ermöglicht die Ablaufsteuerung 1, die dem Fluss
diagramm 3 entsprechenden logischen Zusammenhänge zwischen den Elemen
ten des Flussdiagramms als logische Information 3a mit Elementen der Skript-
Sprache zu erzeugen. Dabei wird datentechnisch eine verkettete Liste erzeugt, in
der alle Flussdiagramm-Symbole, die miteinander in Verbindung stehen, direkt als
Kettenglieder durch Verweise miteinander verbunden.
Aus der verkettenden Liste 3a und der hinterlegten Symbolinformation erzeugt die
Programmablaufsteuerung 1 (Gungem Chart) unter Verwendung der in der Skript-
Bibliothek 5 hinterlegten Programmablaufsbefehle der jeweils ausgewählten Pro
grammiersprache (Turbo Pascal, C/C++) den Quellcode 10. Dieser Code 10 wird
einerseits als Textinformation (Datei) gespeichert und andererseits auf dem Bildschirm
2 in einem ausgewählten Teilbereich neben den graphischen Informatio
nen des Flussdiagramms 3 dargestellt.
Mit dem Ablaufssteuerungsprogramm 1 (Gungem Chart) ist es ausserdem mög
lich, einen geeigneten Compiler aufzurufen, der den automatisch erzeugten
Quellcode 10 in einen Maschinencode übersetzt, wodurch dass Quellcode-
Programm auf einem Mikroprozessor ablauffähig ist und das Programmergebnis
auf dem Bildschirm 2 angezeigt werden kann. Hierdurch kann der Benutzer sofort
das Programmergebnis und ggf. Fehler des von ihm erstellten Flussdiagramms,
die der Compiler entdeckt, ablesen. Als Compiler sind insbesondere der C++-
Compiler 6 mit zugehöriger C++ Bibliothek 9 sowie der Turbo Pascal-Compiler 7
mit Turbo Pascal-Bibliothek 8 vorgesehen. Dabei kann vorgesehen sein, dass das
Programmablauf-Steuerungsprogramm 1 (Gungem Chart) die Compilermeldun
gen in einfachere, syntaxbezogene oder flussdiagrammbezogene Informationen
umwandelt oder interaktive Fehlermeldungen und -korrekturhilfen anbietet.
In Fig. 4 ist ein graphisches Flussdiagramm 40 und das dazugehörige
Quellcode-Programm 41 in der Programmiersprache Turbo Pascal dargestellt.
Das graphische Startsymbol 42 ist über einen Verbindungspfeil 42a mit einem
Abfragesymbol 43 verbunden, welches eine Variable a abfrägt. Mit dem Symbol
43 ist eine Information hinterlegt, derzufolge die Variable a eine Integer-Variable
ist. Vom Symbol 43 verweist ein weiterer Pfeil auf das Abfragesymbol 44, in dem
die Integer-Variable b abgefragt wird. Mit dem Entscheidungs-Symbol 45 wird ab
gefragt, ob der in die Variable a eingesetzte Wert größer oder gleich dem Wert
von b ist. Je nach Ausfall der Entscheidung erfolgt im Symbol 46 die Ausgabe
"a < b" bzw. im Symbol 47 die Ausgabe "a <= b". Nach der Ausgabe wird mit dem
Symbol 48 eine Warteschleife ausgelöst, in der die Wartebedingung "Tasten
druck" hinterlegt ist. Von dem Wartesymbol 48 wird zum Programmende - Symbol
49 verwiesen.
In Fig. 5 ist der Ablauf zur Erstellung des Quellcodes nochmals dargestellt.
im Schritt 50 wird das Flussdiagramm am Bildschirm erstellt, wobei vorgegebene
grafische Programmablaufs-Symbole am Bildschirm angeordnet und sukzessive
durch Pfeilverbindungen grafisch miteinander verbunden werden und die Eigen
schaften der Symbole festgelegt werden. Mit einem gewohnten Bedienungsele
ment 12 (Maus) ordnet der Anwender dabei am Bildschirm 2 die verschiedenen
Symbole entsprechend der Aufgabenstellung in einem Flussdiagramm an. Durch
ebenfalls gesetzte Pfeile werden die einzelnen Symbole logisch miteinander ver
knüpft. Während der Erzeugung des Flussdiagramms werden entsprechende gra
fische Informationen des Flussdiagramms in einem Arbeitsspeicher oder auch in
einem Permanentspeicher des Computers abgespeichert (Schritt 51). Die An
fangseinstellungen für die Objekte (Flussdiagramm-Symbole) sind wählbar. So ist
zum Beispiel die Farbe oder Form (Rechteck, Quadrat, Raute, Parallelogramm,
Trapez, Kreis, Ellipse, . . .) des Symbols durch den Anwender beliebig wählbar.
Wenn der Mauszeiger auf einem Programmablaufs-Symbol am Bildschirm im
Verlaufe der Erstellung des Flussdiagramms (Schritt 50) positioniert worden ist,
können mit einem Druck auf die rechte Maustaste die Eigenschaften für das Sym
bol festgelegt werden. Die Einstellmöglichkeiten reichen dabei von optischen Ver
änderungen, wie zum Beispiel Farbe, Position, Schriftart oder Größe, bis zu ganz
spezifischen Eigenschaften des Symbols, beispielsweise wie oft eine Schleife
durchlaufen werden soll.
Für jede im Flussdiagramm bzw. in dem später zu erzeugenden Quellcode benö
tigte Variable wählt der Anwender einen beliebigen Namen. Wo auch immer die
ser Namen der Variable auftaucht wird der momentane Wert anstelle des Namens
eingesetzt. Das Hinzufügen und Entfernen von Variablen geschieht komfortabel
über das Menü. Der Benutzer wählt dabei aus einer Liste leichtverständlicher Be
zeichnungen - beispielsweise Ganzzahl, Gleitkommawert oder Zeichenkette an
statt wie im Syntax höherer Programmiersprachen üblich Integer, Double oder
String - den für ihn passenden Datentyp aus. Die Ablaufsteuerung 1 (Gungem
Chart) hinterlegt diese Informationen dann automatisch in der entsprechenden,
dem Flussdiagramm entsprechenden Informationsdatei 3a.
Das fertige Flussdiagramm wird durch Betätigen einer Schaltfläche (Fig. 7,
Schaltfläche 77) in eine gewünschte Programmiersprache umgesetzt. Dazu wird
zunächst aus den grafischen Informationen des Flussdiagramms eine verkettete
Liste erstellt, bei der für jedes grafische Symbol des Flussdiagramms eine eigene
Instanz der Symbolklasse erstellt wird. Die verschiedenen aufeinanderfolgenden,
gemäß dem Flussdiagramm direkt miteinander verbundenen Instanzen werden
dann durch Verweise (Pointer oder Instanz-Adressen) logisch miteinander nach
Art einer verketteten Liste verbunden (Schritt 52). Diese verkettete Liste wird
ebenfalls in einem Arbeitsspeicher und/oder in einem Permanentspeicher des
Computers abgespeichert (Schritt 53).
Weitere Details der verketteten Liste sind dem eingangs genannten Buch von Ro
bert Sedgewick, Algorithmen in C++, Addison-Wesley Verlag (Deutschland), 1992,
ISBN 0-201-51059-6, auf den Seiten 38-56 beschrieben. Der Inhalt dieser Seiten
wird hiermit durch Bezugnahme in die vorliegende Beschreibung aufgenommen.
Für die vorliegende Anwendung eignet es sich insbesondere, die verkettete Liste
als Feld aufzubauen, wie dies insbesondere in Abb. 3.5 des zitierten Buches
auf Seite 44 dargestellt ist. Dadurch ist es leicht möglich, zum Aufbauen eines
Flussdiagramms und bei der entsprechenden Erzeugung der logischen Verbin
dungen Änderungen wie Einfügungen innerhalb des Flussdiagramms durchzufüh
ren. Das Bearbeiten (Editieren) des Flussdiagramms, d. h. die individuelle Anpas
sung, Änderung und Weiterbearbeitung eines Flussdiagramms kann dadurch sehr
effizient erfolgen.
Aus der verketteten Liste wird schließlich der Quellcode der höheren Program
miersprache in der zuvor ausgewählten Programmiersprache erzeugt (Schritt 54).
Der erzeugte Quellcode wird in einem zusätzlichen Fenster (vorgegebener Teilbe
reich 2b) am Bildschirm 2 dargestellt. Sollte das erstellte Flussdiagramm fehlerhaft
sein, so wird dies bei der Übersetzung in die höhere Programmiersprache erkannt
und es wird eine Fehlermeldung ausgegeben.
Der bereits Programmiersprachenerfahrene kann den im Textfenster 2b an der
rechten Bildschirmseite ausgegebenen Quelltext 96 überprüfen, nachvollziehen
und ggf. hinterfragen. Dadurch wird der Bezug zur Programmiersprache auf einfa
che Weise aufrecht erhalten. Um eine bessere Lesbarkeit des Quellcodes zu er
reichen, werden vorgegebene Schlüsselwörter (grundlegende Programmierbe
fehle) fett ausgegeben und zwischen Programmabschnitten werden Leerzeilen
freigelassen.
Fig. 6 zeigt die Verwendung von Programmbibliotheken im Steuerungsablauf
programm 1 (Gungem Chart). Dadurch wird es ermöglicht, Standard-Bibliotheken
aus höheren Programmiersprachen, z. B. die Bibliotheken 8 bzw. 9 (Fig. 1) zu
verwenden und die darin angebotenen Funktionen zu nutzen. In der Sprache 61
(Turbo Pascal) existiert z. B. eine Bibliothek 62 (Graph), die alle Prozeduren,
Funktionen und Konstanten zur Darstellung von Grafiken beinhaltet, z. B. die Lini
enfunktion 63. Die Bibliothek 62 stellt somit eine Basis für die grafische Ausgabe
dar.
Fig. 7 zeigt die Menuezeile 70 des Ablaufsteuerungsprogramms, wie sie am
Bildschirm 2 erscheint. Die Symbolleiste 71 ist selbsterklärend. Neben den aus
Windows-Systemen an sich bekannten Funktionen wie Datei neu, Datei öffnen
etc. sind folgende Schaltsymbole neu vorgesehen:
- - Mit dem Schaltsymbol 72 (Homepage) kann eine direkte Verbindung mit der Internet-Homepage des Programmherstellers hergestellt werden (vorausge setzt, der Anwender hat eine entsprechende Internet-Verbindung in seinem Computer aktiviert).
- - Mit dem Schaltsymbol 73 kann eine Email an den Programmhersteller, z. B. für Service-Anfragen und dergleichen versandt werden.
- - Die im Bereich 74 der Menuezeile 70 angesiedelten Symbole sind zum Erstel
len des Flussdiagramms sowie zum Erstellen, zum Übersetzen und zum Aus
führen des Quellcodes vorgesehen:
Mit der Schaltfläche 75 lassen sich die Eigenschaften eines aktuell markierten Flussdiagramm-Symbols ausgeben, die Schaltfläche 76 dient zum Löschen Eigenschaften eines aktuell markierten Flussdiagramm-Symbols, mit der Schaltfläche 77 wird die Umsetzung eines aktuell angezeigten Flussdia gramms in einen Quellcode gestartet und mit Schaltfläche 78 lassen sich die Eigenschaften einer Variable festlegen. Schaltfläche 79 dient dazu, einen neu en Verbindungspfeil für das Flussdiagramm zur Verfügung zu stellen und mit Schaltfläche 79a läßt sich der Compiler sowie das von ihm erzeugte ablauffä hige Programm zur Kontrolle des Programmiererfolgs aufrufen.
In Fig. 8 ist die Vorgehensweise beschrieben, mit der das Ablaufssteuerungs
programm 1 (Gungem Chart 1) aus einem graphischen Flussdiagramm einen
Quellcode in einer höheren Programmiersprache erstellt.
Eine erste Grundlage zur Erzeugung des Quellcodes ist dabei, dass das Fluss
diagramm von Symbol zu Symbol seriell abgearbeitet wird. Eine zweite Grundlage
ist die sogenannte flexible rekursive Prozessdefinition. Sie bedeutet, dass das
Flussdiagramm in Prozesshierarchiestufen unterteilt wird, wobei ein Hauptprozess
und jeweils darunterliegende Unterprozesse - hierarchisch geordnet und jeweils
von einem Entscheidungssymbol des Flussdiagramms ausgehend - ggf. mehr
stufig ablaufen. An einem Entscheidungs-Symbol (entsprechen der Verzweigung
eines aktuellen Prozesses) wird dabei der aktuelle (übergeordnete) Prozess in
zwei untergeordnete Prozesse, den sogenannten Wahr-Zweig und den sogenann
ten Falsch-Zweig, unterteilt.
Die Programmschritte 85, 86 und 88 in Fig. 8 spielen bei der flexiblen rekursiven
Prozessdefinition eine zentrale Rolle. In den Schritten 86 und 88 wird dabei je
weils überprüft, ob das Ende eines Unterprozesses erreicht ist und je nach der
Entscheidung über den Rücksprung 91 (aus dem Wahr-Zweig 88) zur Suche des
nächsten Symbols (Schritt 81) innerhalb des untergeordneten Funktionsprozesses
übergegangen oder die Abarbeitung des Unterprozesses im jeweiligen Zweig be
endet und letzlich über die Schritte 89 (Quelltexte der Wahr- und Falsch-Zweige
kombinieren), 90 (kombinierten Quelltext dem Gesamttext zufügen) und 85 (Über
gabe des untergeordneten Quelltextes) in die Rücksprünge 93 bzw. 94 gelangt.
Durch diese Rücksprünge 93 bzw. 94 gelangt der Ablauf wieder zum übergeord
neten Funktionsprozess, d. h. es erfolgt ein Prozesswechsel nach oben. Es gilt
ferner, dass beim Eintreten in eine Symbolsuche (Schritt 81) aus einem bestimm
ten Funktionsprozess (d. h. aus einem Wahr-Zweig über Rücksprung 91 bzw. aus
einem Falsch-Zweig über Rücksprung 92) auch das Austreten aus diesem Funkti
onsprozess (Wahr bzw. Falsch) erfolgen muss, solange dieser Funktionsprozess
nicht vollständig bearbeitet, d. h. beendet ist.
Konkret erfolgt die Abarbeitung des Flussdiagramms wie folgt: Vom Startsymbol
80 ausgehend wird im Schritt 81 das dem Startsymbol nachfolgende erste Symbol
gesucht. Bei der Suche wird der Verweis, welcher in der verketteten Liste 3a zwi
schen der dem Startsymbol entsprechenden Instanz und der dem ersten nachfol
genden Symbol entsprechenden Instanz besteht, ausgewertet. Im Schritt 82 wird
geprüft, ob das erste Symbol (N = 1) ein Entscheidungssymbol ist. Falls das Sym
bol N keine Entscheidung darstellt, wird aus der Skript-Bibliothek 5 der dem aktu
ellen Symbol N entsprechende Quelltext in der zuvor vom Bediener ausgewählten
Programmiersprache ausgelesen und im Schritt 84 dem Gesamtquelltext hinzu
gefügt. Von dort wird im Schritt 85 der Quelltext übergeben, ggf. über den Rück
sprung 93, den Schritt 86 und den Rücksprung 91 zur Suche 81 des nächsten
Symbols N + 1 in den Schritt 81 zurückgekehrt.
Ergibt sich im Schritt 82, dass das aktuelle Symbol N eine Entscheidung ist, wel
che einen Wahr-Zweig ("Ja") und einen Falsch-Zweig ("Nein") aufweist, so wird im
Schritt 87 geprüft, wo das Ende-Symbol E dieser Verzweigung liegt. Der aktuelle
Wahr-Funktionsprozess wird dann bis zum Erreichen des ihm zugeordneten En
de-Symbols E über den Schritt 88, Rücksprünge 91 und Symbolsuch-Schritte 81
abgearbeitet, bis dieses Symbols E erreicht wird. Dabei können über Schritt 82
durch entsprechende Entscheidungssymbole wiederum Unterprozesse in dem
vorher gestarteten Wahr-Funktionsprozess eingeleitet werden. Die entsprechen
den Rücksprünge 91 und 93 deuten dabei jeweils einen Prozesswechsel an.
Letztlich wird somit jeder Funktionsprozess (mit seinen Wahr-Zweigen und Falsch-
Zeigen) von seinem entsprechenden Symbol N (Start) bis zu seinem Symbol EN
verfolgt. Der tiefgestellte Index N des Endesymbols EN deutet dabei an, das die
ses Endesymbol dem Entscheidungssymbol N zugeordnet ist.
Nach vollständigem Abarbeiten eines Wahr-Zweiges wird zum Schritt 86 überge
gangen und der Falsch-Zweig des aktuellen Funktionsprozesses vom Entschei
dungs-Symbol N bis zum Ende-Symbol EN verfolgt. Im Schritt 89 werden die über
gebenen Quelltexte des Wahr-Zweiges und des Falsch-Zweiges im aktuellen
Funktionsprozess kombiniert und im Schritt 90 der so erzeugte Quelltext dem Ge
samtquelltext hinzugefügt. Dann wird zum Schritt 85 übergegangen und geprüft,
ob das Programmende (Ende des Hauptprozesses) erreicht ist oder ob zum
nächsthöheren Funktionsprozess über einen der Rücksprünge 93 (für den Wahr-
Zweig) bzw. 94 (für den Falsch-Zweig) zurückgekehrt werden muss.
Fig. 9 zeigt ein Flussdiagramm 95, das auf dem linken Teil 2a des Bildschirms 2
dargestellt wird, sowie den entsprechenden Quellcode 96 in der Programmier
sprache Turbo Pascal im rechten Teil 2b auf dem Bildschirm 2. Im Auswahlfeld 97
("Variable hinzufügen") können zwei Eigenschaften einer neuen Variable, die in
das Flussdiagramm eingefügt werden soll, angegeben werden, nämlich der Varia
blenname und der Variablentyp. Diese Eigenschaften werden automatisch von
Gungem Chart abgefragt. Mit der Schaltfläche 78 "Ω" kann eine Variable neu erzeugt
werden und über ein zusätzliches Auswahlmenü (siehe Fenster 97 in Fig. 9)
können die Eigenschaften der Variable festgelegt werden.
In dem Auswahlfenster 98 sind allgemeine Systemeinstellungen von Gungem
Chart 1 einstellbar, wobei insbesondere die Funktion "Quelltext automatisch ak
tualisieren" dazu dient, ein eingefügtes Symbol und die zugehörige logische Ein
bindung in ein Flussdiagramm unverzüglich als Quellcode umzusetzen, nachdem
die logische Verbindungen (per Pfeil) zwischen dem Symbol, dem vorhergehen
den Symbol und dem nachfolgenden Symbol hergestellt sind. Dadurch können
insbesondere Programmieranfänger sofort erkennen, wie das von ihnen ausge
wählte Symbol und die entsprechende Einbindung als Quellcode zu programmie
ren ist. Der Lerneffekt ist bei dieser Methode besonders eindrucksvoll und unmit
telbar. Die Umsetzung des Flussdiagramms kann jedoch alternativ auch auf
Knopfdruck erfolgen (siehe Schaltfläche 77 in den Fig. 7, 9 und 12). Dem Pro
grammierer ist es bei dieser Variante möglich, sein Flussdiagramm zuerst voll
ständig aufzubauen, bevor er durch Gungem Chart 1 den Quellcode erstellen läßt.
Das Pfeilsymbol als Verbindung zwischen Startsymbol und Endesymbol wird beim
neuen Erstellen eines Flussdiagramms automatisch durch Gungem Chart 1 ein
gefügt. Zum Einfügen eines neuen Ablaufsymbols in das Flussdiagramm 95 ist
dann zunächst das Folgesymbol auszuwählen, dann ein zusätzlicher Pfeil über
die "Verbindungs-Schaltfläche" 79 auszuwählen und dessen Pfeilanfang und
Pfeilende an die jeweiligen Ablaufsymbole des Flussdiagramms per Mausklick zu
ziehen. Gungem Chart 1 verbindet die grafischen Symbole durch den Pfeil fest
miteinander und stellt auch die entsprechende logische Verbindung dieser Sym
bole in der verketteten Liste her. In einer weiter verbesserten Ausführungsformen
wird eine zusätzliche Schaltfläche vorgesehen, mit der die Pfeilverbindung zwi
schen den beiden zuletzt bearbeiteten Symbolen automatisch erstellt wird, sofern
eine solche Pfeilverbindung noch nicht besteht. Die Erstellung des grafischen
Flussdiagramms kann durch derartige Bearbeitungshilfen, durch Makro-
Schaltflächen, die Standard-Arbeitsabläufe durch einen einzigen Knopfdruck automatisieren
sowie durch andere Editier-Tools wie z. B. die in der Auswahl-Box 99
gezeigten beliebig komfortabel gestaltet werden.
Durch die fixierte Verbindung der grafischen Symbole kann das gesamte Fluss
diagramm jederzeit flexibel umgestaltet werden, ohne dass deren logischen Ver
bindungen oder die Verbindungen (Variablenverbindungen) der entsprechenden
verkettete Liste verloren gehen. Beispielsweise kann ein Feld des Flussdia
gramms beliebig verschoben werden, wobei dessen Pfeilverbindungen zu dem
vorhergehenden und nachfolgenden Symbol mitverschoben, d. h. die Verbindung
erhalten bleibt.
In den Fig. 10 und 11 sind die beiden Teilbereiche 2, 2b des Bildschirms 2
gezeigt, in denen das Flussdiagramm 95 bzw. das entsprechende Quellprogramm
96 dargestellt werden. Die Bereiche 2a und 2b sind der Übersichtlichkeit halber
durch eine Trennlinie 2c voneinander getrennt. Die Fig. 10 und 11 zeigen den
Arbeitsablauf beim Erstellen eines Flussdiagramms, das Grafik-Aufrufe enthält,
anhand von online Bildschirm-Ausdrucken (screen shots) dargestellt, die zwei
aufeinanderfolgende Bearbeitungsschritte zeigen. Der in Fig. 10 dargestellte,
neu einzufügende Aufruf des Grafik-Modus (Ablauf-Symbol 100 im Flussdia
gramm 95a) ist dabei im nächsten Schritt der Fig. 11 bereits eingefügt und im
Bilschirm-Bereich 2b der Fig. 11 bereits als Quellcode umgesetzt. In Fig. 11 ist
des weiteren zu sehen, wie eine Variable "Name" durch Auswahl von Menüpunk
ten in Gungem Chart zugewiesen werden kann.
Fig. 12 zeigt das Auswahlfenster 121 und die Möglichkeiten von Gungem Chart
1, die Eigenschaften einer im Symbol 122 in das Flussdiagramm 95b einzubinden
Zufallszahl festzulegen. Für den Programmieranfänger ist die im Fenster 121 an
gebotene Art der Zuweisung, bei der im Klartext die Wirkung der Eingabe zu er
kennen ist, wesentlich anschaulicher als der relativ komplizierte, in vielen Pro
grammiersprachen hinterlegte Syntax zur Erstellung von Zufallszahlen, bei dem
positive bzw. negative Integer-Werte einzugeben sind. Mit der komfortablen und
einfachen Einstellmöglichkeit in Gungem Chart 1 und der unverzüglichen, durch
Gungem Chart 1 automatisch vorgenommenen Umsetzung in einen Quellcode ist
es auch hier dem Programmieranfänger leicht und flexibel möglich, den Syntax
der Programmiersprache zu erlernen. Der Bediener hat dabei insbesondere die
Möglichkeit, selbst erdachte Übungsaufgaben zu erstellen, eine eigene Variante
des Quellcodes - unabhängig von Gungem Chart 1 - zu erstellen und die eigene
Variante dann sogleich mit dem von Gungem Chart 1 erzeugten Quellcode-
Ergebnis zu vergleichen.
Fig. 13 zeigt nochmals ein Flussdiagramm, in dem Grafik-Funktionen genutzt
sind, wobei ein Kreis und eine Linie gezeichnet werden sollen.
Die Ablaufsteuerung 1 (Gungem Chart) sowie die übrigen, in Fig. 1 gezeigten
Komponenten sind in einem Computer mit beliebigem Betriebssystem, beispiels
weise in einem Personal Computer mit Microsoft Windows® - Betriebssystem ent
halten. Die Ablaufsteuerung 1 (Gungem Chart) bewirkt, dass über ein Eingabe
mittel (Tastatur, Maus, Track-Ball etc.) ein Flussdiagramm (siehe Fig. 4) auf dem
Bildschirm 2 erstellt werden kann. Dazu sorgt die Ablaufsteuerung 1 für eine An
zeige auf dem Bildschirm 2, durch die verschiedene Symbole von Flussdiagram
men ausgewählt werden können. Auf dem Bildschirm 2 wird das derart erstellte
Flussdiagramm in einer Flussdiagramm-Zone dargestellt und kann vom Benutzer
mittels der Ablaufsteuerung 1 bearbeitet (editiert) werden. Dazu werden neben
den Ablaufsymbolen auch Verbindungsglieder (Pfeile) zur Auswahl angeboten, mit
denen die Ablaufsymbole zu einem Flussdiagramm verbunden werden.
Zur Erstellung eines Programmiersprachen-Quellcodes 10 aus einem auf der An
zeigevorrichtung angezeigten Flussdiagramm (siehe Fig. 4) erstellt die Ablauf
steuerung 1 (Gungem Chart) dazu eine dem Flussdiagramm entsprechende logi
sche Sequenz von Variablen, in der die jeweiligen Ablaufssymbole des grafischen
Flussdiagramms und ihre Verknüpfungen durch logische Verbindungen der Va
rialen abgebildet sind.
Obwohl die Erfindung nur anhand einiger beispielhaft genannter Programmier
sprachen und möglicher Dateistrukturen beschrieben wurde, ist klar, dass die Er
findung auch in anderen Programmiersprachen realisierbar ist, beispielsweise in
Fortran, Cobol, Basic oder dergleichen. Weiterhin wurde anhand der Fig. 8 ein
konkretes Beispiel zum Erzeugen eines Quellcodes aus einer vorliegenden logi
schen Datei (3a) beschrieben. Statt dieser Ausführungsform könnte auch ein be
kanntes anderes Verfahren angewandt werden, welches aus einer datentechnisch
vorhandenen logischen Abfolge von Informationen, die einem grafischen Fluss
diagramm entsprechen, einen Quellcode erzeugt.
Die Erfindung besitzt ein weites Spektrum von Einsatzgebieten. Es kann immer
dann verwendet werden, wenn es darum geht, Computeranwendern den Einstieg
in die Computerwelt zu vereinfachen.
Die Erfindung ist beispielsweise beim computergestützten Training (Computer Ba
sed Training oder auch CBT genannt) einsetzbar. Dabei wäre es nützlich, die Er
findung bereits als Bestandteil eines CBT in der Softwaregrundausstattung von
Computern, zu integrieren. Dadurch wird von Anfang an ein Hilfsmittel für die Dar
stellung der logischen Zusammenhänge von informationstechnischen Vorgängen
bereitgestellt.
Die Erfindung ermöglicht aber auch das einfache Steuern von Maschinen, wobei
keine Kenntnisse zur detaillierten Programmierung von Maschinensteuerung er
forderlich sind. Dies kann an einem konkreten Beispiel veranschaulicht werden:
Ein Roboterarm, wie er in der Autoindustrie Verwendung findet, führt durch seine
Steuerung verschiedenste Rotationsbewegungen aus. Eine Bewegung, wird dabei
im Stand der Technik häufig als eine Aneinanderreihung von mehreren Teilbewe
gungen zusammengesetzt und ausgeführt. Möchte man im Gegensatz dazu eine
Rotation unter Verwendung der vorliegenden Erfindung bewerkstelligen, setzt
man die entsprechenden Teilbewegungssymbole als (Fluß-)Diagramm zusammen
und beschreibt somit die gewünschte Rotationsbewegung als Gesamtablauf. Das
Programm, welches die Maschine letztendlich steuert, wird daraufhin automatisch
generiert aus den Programmschritten erzeugt, die durch die Zeichensymbole hin
terlegt sind.
Die Erfindung kann in Form verschiedenster Ausprägungen auftreten, beispiels
weise als Computerdatei, als Programm-Modul, als Programmelement, als Pro
gramm-Bibliothek oder als Ansammlung von einer Vielzahl von Einzeldateien.
Diese, insbesondere in Computerprogrammprodukten wie einem Speicherele
ment, einer Diskette, einem Plattenspeicher, einer CD-ROM, einem programmier
baren elektronischen Baustein (ROM, PROM, EPROM) enthaltene Ausdrucksform
der Erfindung kann auch über neue Medien wie als Datei-Anhang einer e-mail
sowie über das Internet verbreitet werden.
Weiterhin wäre es günstig, wenn die Erfindung direkt in Betriebssysteme wie z. B.
Microsoft Windows®, Unix® oder Linux® eingebunden würde. Insbesondere Per
sonen, die erstmals einen Computer erwerben, könnten dann mit dem frisch er
standenen Computer ohne weitere Installationsarbeiten in die Grundzüge des
Programmierens eingewiesen werden.
Claims (17)
1. Verfahren zum Erstellen eines Quellcodes (96) in einer höheren Program
miersprache (Pascal, Turbo Pascal, C/C++, Basic), umfassend folgende
Schritte:
- a) Programmablaufs-Symbole (100) werden an einem Anzeigegerät (2) grafisch derart miteinander verbunden, dass ein Flussdiagramm (95) er zeugt wird,
- b) die grafischen Informationen (3b) des Flussdiagramms (95) werden ge speichert,
- c) es werden logische Datensätze (3a) erzeugt, die dem Flussdiagramm (95) entsprechen und
- d) ein Quellcode-Erzeugungsmittel (Gungem Chart, 1) erzeugt anhand der logischen Datensätze (3a) einen dem definierten Flussdiagramm (95) ent sprechenden Quellcode (96).
2. Verfahren nach Anspruch 1, wobei die logischen Datensätze (3a) nach Art
einer verketteten Liste gebildet werden.
3. Verfahren nach Anspruch 2, wobei die verkettete Liste (3a) Instanzen einer
Symbolklasse (flow) enthält.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Quellcode-
Erzeugungsmittel (Gungem Chart, 1) eine Anzeige auf dem Ausgabegerät
(2) derart bewirkt, dass in einem ersten Teilbereich des Ausgabegeräts (2a)
das Flussdiagramm (59) und in einem zweiten Teilbereich (2b) des Ausgabegeräts
(2) der Quellcode (96) wahrnehmbar ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Pro
grammiersprache des Quellcodes (96) aus mehreren Programmierspra
chen (Pascal, Turbo Pascal, C, C++, Basic) auswählbar ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das
Quellcode-Erzeugungsmittel (Gungem Chart, 1) über einen insbesondere
programmspezifisch angepaßten Befehlscode (Skript-Sprache) mit einer
Sprachbibliothek (5) zusammenwirkt.
7. Verfahren nach den Ansprüchen 5 und 6, wobei mit der Sprachbibliothek
(5) eine Zuordnung zwischen den vom Quellcode-Erzeugungsmittel (Gun
gem Chart, 1) zur Verfügung gestellten logischen Daten (3a) und den für
die jeweils ausgewählte Programmiersprache entsprechenden Programm
befehlen erfolgt.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Pro
grammablaufs-Anweisung zur Auswahl als vollständige Klartext-Anweisung
angezeigt wird.
9. Verfahren nach Anspruch 8, wobei die Programmablaufs-Anweisung in
mehreren, innerhalb der Auswahl aufeinanderfolgenden Teilabfragen (121)
vervollständigt wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Pro
grammablaufs-Anweisung zur Auswahl als grafisches Symbol angezeigt
wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine erste
Schaltfläche (77, 120) vorgesehen ist, mit der die Erzeugung des
Quellcodes (96) gestartet wird.
12. Verfahren nach Anspruch 11, wobei eine zweite Schaltfläche (79a) vorge
sehen ist, mit der aus dem Quellcode (96) ein auf einem Mikroprozessor di
rekt ablauffähiges Computerprogramm (object code) erstellt wird.
13. Verfahren nach Anspruch 12, wobei zum Erzeugen des direkt ablauffähigen
Computerprogramms (object code) ein Compiler-Programm (6, 7) verwen
det wird.
14. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Fluss
diagramm (95) zur Erzeugung des Quellcodes (96), ausgehend von Ent
scheidungs-Symbolen (45), in Prozesshierarchiestufen eingeteilt wird, die
jeweils hierarchisch geordnet abgearbeitet werden (flexible rekursive Pro
zessdefinition).
15. Computerprogrammprodukt (Datei, Programm, Programmbibliothek, Be
triebssystem, CD-ROM) zum computergestützten Erstellen eines Compu
terprogramms, das bei seiner Verwendung auf einem Computer einen
Verfahrensablauf nach einem der vorhergehenden Ansprüche ermöglicht.
16. System zum Erstellen eines Computerprogramms mit Mitteln zum Durch
führen eines Verfahrens nach einem der Ansprüche 1 bis 14.
17. System nach Anspruch 16, umfassend einen Computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10008632A DE10008632B4 (de) | 2000-02-24 | 2000-02-24 | Verfahren und System zum Erzeugen eines Computerprogramms |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10008632A DE10008632B4 (de) | 2000-02-24 | 2000-02-24 | Verfahren und System zum Erzeugen eines Computerprogramms |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE10008632A1 true DE10008632A1 (de) | 2001-09-06 |
| DE10008632B4 DE10008632B4 (de) | 2004-02-26 |
Family
ID=7632226
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10008632A Expired - Fee Related DE10008632B4 (de) | 2000-02-24 | 2000-02-24 | Verfahren und System zum Erzeugen eines Computerprogramms |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE10008632B4 (de) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10150141A1 (de) * | 2001-10-11 | 2003-04-24 | Siemens Ag | Bedienen einer Anordnung durch Aufsuchen von Objekten in einem Bedienraum |
| DE10248621A1 (de) * | 2002-10-18 | 2004-04-29 | Giesecke & Devrient Gmbh | Verfahren und System zur Bearbeitung von Banknoten |
| WO2004072849A1 (de) * | 2003-02-17 | 2004-08-26 | Giesecke & Devrient Gmbh | Verfahren zum erstellen von programmcode |
| WO2009075602A1 (en) * | 2007-12-13 | 2009-06-18 | Motorola, Inc. | Scenarios creation system for a mobile device |
| CN112639636A (zh) * | 2018-10-05 | 2021-04-09 | 欧姆龙株式会社 | 开发支援程序、开发支援装置以及开发支援方法 |
| CN113986212A (zh) * | 2021-09-23 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种生成pad图的方法和终端设备 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1589416A3 (de) | 2004-04-23 | 2007-10-31 | jCOM1 AG | Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm |
| DE102011000185A1 (de) | 2011-01-17 | 2012-07-19 | Metasonic Ag | System und Verfahren zum Erzeugen eines Quellcodes für ein Computerprogramm |
| EP2631794A1 (de) | 2012-02-27 | 2013-08-28 | Deutsche Telekom AG | Verfahren und Netzwerksystem zum Bereitstellen eines Anwendungsprozesses auf einem Netzwerkprozessserver einer Netzwerkinfrastruktur |
| US10296305B2 (en) | 2013-09-27 | 2019-05-21 | Rudolf Markus PETRI | Method and device for the automated production and provision of at least one software application |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5487141A (en) * | 1994-01-21 | 1996-01-23 | Borland International, Inc. | Development system with methods for visual inheritance and improved object reusability |
| WO1998039698A2 (en) * | 1997-03-07 | 1998-09-11 | Dynamics Research Corporation | Software development tool with object modeling language |
-
2000
- 2000-02-24 DE DE10008632A patent/DE10008632B4/de not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5487141A (en) * | 1994-01-21 | 1996-01-23 | Borland International, Inc. | Development system with methods for visual inheritance and improved object reusability |
| WO1998039698A2 (en) * | 1997-03-07 | 1998-09-11 | Dynamics Research Corporation | Software development tool with object modeling language |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10150141A1 (de) * | 2001-10-11 | 2003-04-24 | Siemens Ag | Bedienen einer Anordnung durch Aufsuchen von Objekten in einem Bedienraum |
| DE10248621A1 (de) * | 2002-10-18 | 2004-04-29 | Giesecke & Devrient Gmbh | Verfahren und System zur Bearbeitung von Banknoten |
| WO2004072849A1 (de) * | 2003-02-17 | 2004-08-26 | Giesecke & Devrient Gmbh | Verfahren zum erstellen von programmcode |
| WO2009075602A1 (en) * | 2007-12-13 | 2009-06-18 | Motorola, Inc. | Scenarios creation system for a mobile device |
| CN112639636A (zh) * | 2018-10-05 | 2021-04-09 | 欧姆龙株式会社 | 开发支援程序、开发支援装置以及开发支援方法 |
| CN112639636B (zh) * | 2018-10-05 | 2023-06-30 | 欧姆龙株式会社 | 开发支援装置、开发支援方法以及存储介质 |
| CN113986212A (zh) * | 2021-09-23 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种生成pad图的方法和终端设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE10008632B4 (de) | 2004-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69326226T2 (de) | Verfahren zum Strukturieren von in einem industriellen Prozess verwendeten Informationen und Anwendung als Flugzeugführungshilfe | |
| DE3750188T2 (de) | Verfahren zur In-Linie Implementierung einer Vorstellung in einem Informationsverarbeitungssystem. | |
| DE68919503T2 (de) | Methode und System zur Darstellung einer Benutzeroberfläche auf einem Computerbildschirm. | |
| DE3650736T2 (de) | Informationswiederauffindungsverfahren | |
| DE69129328T2 (de) | Ikonobjektschnittstellesystem und -verfahren | |
| DE69231431T2 (de) | Globale Benutzerschnittstelle | |
| DE69410753T2 (de) | Vorrichtung und Verfahren zur Analyse eines Verarbeitungsystems | |
| DE69026885T2 (de) | Dynamische Selektion von Datenformaten für rekursiv geschachtelte logische Elemente | |
| DE10135445A1 (de) | Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage | |
| DE69609130T2 (de) | Umblätterapparat zur Anwendung mit einem Rechnersystem | |
| DE2810977A1 (de) | Anordnung zum erzeugen und korrigieren eines benutzerprogramms | |
| DE102007058352A1 (de) | Programmerstellung durch Ableiten des Prozesssteuerungsablaufes durch Zuordnung von Funktionen dynamischer Grafikobjekte | |
| DE10008632B4 (de) | Verfahren und System zum Erzeugen eines Computerprogramms | |
| DE102004043788A1 (de) | Programm Generator | |
| EP3032408A1 (de) | Verfahren zur erzeugung von lauffähigen applikationen mit dynamischen skalierbaren vektorgrafiken | |
| EP0919896A1 (de) | Verfahren zur bildschirmgestützten Definition und Parametrierung von Schnittstellen | |
| DE69121113T2 (de) | Verfahren zur bestimmung von benutzerschnittstellen und programmiersystem fur einen rechner mit mehreren benutzerschnittstellen | |
| DE60032403T2 (de) | Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen | |
| DE102007001773A1 (de) | Vorrichtung zum automatisierten Erzeugen von Programmcode | |
| DE69427218T2 (de) | Cursor mit vielfachen Anzeigestellen | |
| EP0838054A1 (de) | Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem | |
| DE3889652T2 (de) | Dokumentenverarbeitungsanordnung. | |
| EP2171582A1 (de) | Fernbedienung eines browser-programms | |
| EP1610219A1 (de) | Programmiersystem | |
| EP1607910A2 (de) | Verfahren zur grafischen Darstellung von Gegenständen und technischen Prozessen auf einem Bildschirm |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8139 | Disposal/non-payment of the annual fee | ||
| 8170 | Reinstatement of the former position | ||
| 8120 | Willingness to grant licences paragraph 23 | ||
| 8364 | No opposition during term of opposition | ||
| R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20130903 |