DE69311065T2 - Vorrichtung und Verfahren zur Progammspezifikationssynthese - Google Patents
Vorrichtung und Verfahren zur ProgammspezifikationssyntheseInfo
- Publication number
- DE69311065T2 DE69311065T2 DE69311065T DE69311065T DE69311065T2 DE 69311065 T2 DE69311065 T2 DE 69311065T2 DE 69311065 T DE69311065 T DE 69311065T DE 69311065 T DE69311065 T DE 69311065T DE 69311065 T2 DE69311065 T2 DE 69311065T2
- Authority
- DE
- Germany
- Prior art keywords
- program component
- state
- tables
- synthesizing
- event
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 12
- 230000015572 biosynthetic process Effects 0.000 title description 6
- 238000003786 synthesis reaction Methods 0.000 title description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 74
- 238000006243 chemical reaction Methods 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 24
- 230000009466 transformation Effects 0.000 claims description 13
- 238000000844 transformation Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
- Die vorliegende Erfindung betrifft eine Vorrichtung und Verfahren zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation. Jede Programmkomponente wandelt im Betrieb ihren Zustand als Reaktion auf eine Eingabe eines Ereignisses um und gibt dann ein anderes Ereignis nach Maßgabe der Umwandlung an die anderen Programmkomponenten aus.
- Systeme, die die Programmentwicklung durch Verwendung einer Mehrzahl bestehender Programme als Komponenten unterstützen, um die Effizienz der Programmentwicklung zu verbessern, haben sich durchgesetzt. Bei diesen Systemen muß jedoch jede Programmkomponentenspezifikation modifiziert werden, um miteinander kompatibel zu sein, so daß Programmentwickler die Auswirkungen einer Programmkomponentenspezifikation auf die anderen voll verstehen müssen.
- In einer Abhandlung mit dem Titel "VFSM Executable Specification" von F. Wagner zur '6th Annual European Conference - Computer Systems and Software Engineering', abgehalten im Mai 1992, wird ein Softwareentwurfsverfahren offenbart, bei dem ein virtueller endlicher Automat ein gänzlich tabellengesteuertes Softwaremodell ist. Das Verfahren trennt den Steuerteil des Entwurfsproblems vom Datenmanipulationsteil. Der Steuerteil wird nicht codiert und wird in einer Tabelle ausgedrückt, die durch den Ausführer des virtuellen endlichen Automaten ausgeführt wird.
- EP-A-0501781 offenbart ein Systementwurfswerkzeug, das einen Computer verwendet, um durch Zerlegen des Systems einen Satz von Objekten mit einer Eltern-Kind-Beziehung zu erzeugen. Ein oder mehr Kindobjekte definieren je einen Teil des Elternobjekts. Zwischen Objekten auf einer Mehrzahl verschiedener hierarchischer Stufen werden Informationsverbindungen erzeugt.
- Besonders, wenn die Zahl der Programmkomponentenspezifikationen zunimmt, werden ihre Wechselbeziehungen zunehmend komplizierter, und als Folge wird das Synthetisieren dieser Programmkomponenten selbst ziemlich schwierig.
- Angesichts der vorangehenden Probleme ist es eine Aufgabe dieser Erfindung, eine Vorrichtung und Verfahren zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponente zur Verfügung zu stellen, die von Programmentwicklern gehandhabt werden kann, die Auswirkungen einer Programmkomponentenspezifikation auf die anderen bei der Synthese nicht kennen.
- Diese Aufgabe kann durch eine Vorrichtung zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation erfüllt werden. Jede Programmkomponente wandelt im Betrieb ihren Zustand als Reaktion auf eine Eingabe eines Ereignisses um und gibt wiederum ein anderes Ereignis nach Maßgabe der Umwandlung an die anderen Programmkomponenten aus. Diese Vorrichtung umfaßt eine Programmkomponentenspezifikations-Speichereinrichtung zum Speichern einer Mehrzahl von Programmkomponentenspezifikationen, die je eine Tabelle enthalten, die darin einzugebende Ereignisse zeigt, eine Tabelle, die Zustände der Programmkomponente im Betrieb zeigt, eine Tabelle, die Zustandsumwandlungen als Reaktion auf die eingegebenen Ereignisse zeigt, und eine Tabelle, die davon nach Maßgabe der Zustandsumwandlungen auszugebende Ereignisse zeigt, sowie eine Programmkomponentenspezifikations-Synthetisierungseinrichtung zum Synthetisieren jeweiliger Tabellen derselben Art in eine einzige Tabelle für die einzige Programmkomponentenspezifikation.
- Die oben erwähnte Programmkomponentenspezifikations-Synthetisierungseinrichtung kann die folgenden Einheiten umfassen: eine Eingangsereignistabellen-Synthetisierungseinheit zum Synthetisieren von Eingangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Eingangsereignistabelle für die einzige Programmkomponentenspezifikation; eine Zustandstabellen-Synthetisierungseinheit zum Synthetisieren von Zustandstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation; eine Zustandsumwandlungstabellen-Synthetisierungseinheit zum Synthetisieren von Zustandsumwandlungstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation und eine Ausgangsereignistabellen-Synthetisierungseinheit zum Synthetisieren von Ausgangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Ausgangsereignistabelle für die einzige Programmkomponentenspezifikation.
- Die Eingangsereignistabellen-Synthetisierungseinheit kann alle Eingangsereignisse für die Mehrzahl von Programmkomponentenspezifikationen als Eingangsereignisse für die einzige Programmkomponentenspezifikation zusammenstellen.
- Die Zustandstabellen-Synthetisierungseinheit kann alle Zustände der Mehrzahl von Programmkomponentenspezifikationen kombinieren, um eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation zu vollenden.
- Die Zustandsumwandlungstabellen-Synthetisierungseinheit kann herausfinden, wie jeder der Zustände in der einzigen Zustandstabelle als Reaktion auf jedes in der einzigen Eingangsereignistabelle erscheinende Eingangsereignis umgewandelt wird, indem sie auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von Programmkomponentenspezifikationen Bezug nimmt.
- Die Ausgangsereignis-Synthetisierungseinheit kann herausfinden, welches der Ausgangsereignisse in der einzigen Ausgangsereignistabelle nach Maßgabe jedes der in der einzigen Zustandstabelle erscheinenden Zustände als Reaktion auf jedes der Eingangsereignisse in der einzigen Eingangsereignistabelle ausgegeben wird, indem sie auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von Programmkomponentenspezifikationen Bezug nimmt.
- Die oben erwähnte Vorrichtung kann weiter eine Rückgewinnungseinrichtung zum Rückgewinnen der Eingangsereignistabellen, der Zustandstabellen, der Zustandsumwandlungstabellen und der Ausgangsereignistabellen umfassen, die in der Programmkomponentenspezifikations-Speichereinrichtung gespeichert sind. Die Rückgewinnungseinrichtung gibt außerdem die rückgewonnenen Eingangsereignistabellen an die Eingangsereignistabellen-Synthetisierungseinheit, die rückgewonnenen Zustandstabellen an die Zustandstabellen-Synthetisierungseinheit, die rückgewonnenen Zustandsumwandlungstabellen an die Zustandsumwandlungstabellen-Synthetisierungseinheit und die rückgewonnenen Ausgangsereignistabellen an die Ausgangsereignistabellen-Synthetisierungseinheit aus.
- Die Aufgabe kann auch durch ein Verfahren zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation erfüllt werden. Jede der Mehrzahl von Programmkomponentenspezifikationen umfaßt eine Tabelle, die darin einzugebende Ereignisse zeigt, eine Tabelle, die mögliche Zustände der Programmkomponente in Betrieb zeigt, eine Tabelle, die Zustandsumwandlungen als Reaktion auf die Eingangsereignisse zeigt, und eine Tabelle, die davon nach Maßgabe der Zustandsumwandlungen auszugebende Ereignisse zeigt. Dieses Verfahren umfaßt die folgenden Schritte.
- Einen Schritt zum Synthetisieren von Eingangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Eingangsereignistabelle für die einzige Programmkomponentenspezifikation.
- Einen weiteren Schritt zum Synthetisieren von Zustandstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation.
- Weiter einen anderen Schritt zum Synthetisieren von Zustandsumwandlungstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation.
- Einen letzten Schritt zum Synthetisieren von Ausgangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Ausgangsereignistabelle für die einzige Programmkomponentenspezifikation.
- Der oben erwähnte Schritt zum Synthetisieren von Eingangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Eingangsereignistabelle kann alle Eingangsereignisse für die Mehrzahl von Programmkomponentenspezifikationen als Eingangsereignisse für die einzige Programmkomponentenspezifikation zusammensetzen.
- Der Schritt zum Synthetisieren von Zustandstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandstabelle kann alle Zustände für die Mehrzahl von Programmkomponentenspezifikationen kombinieren, um eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation zu vollenden.
- Der Schritt zum Synthetisieren von Zustandsumwandlungstabellen für die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Zustandsumwandlungstabelle kann herausfinden, wie jeder der Zustände in der einzigen Zustandstabelle als Reaktion auf jedes in der einzigen Eingangsereignistabelle erscheinende Eingangsereignis umgewandelt wird, indem er auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von Programmkomponentenspezifikationen Bezug nimmt.
- Der Schritt zum Synthetisieren von Ausgangsereignistabellen für die die Mehrzahl von Programmkomponentenspezifikationen in eine einzige Ausgangsereignistabelle kann herausfinden, welches der Ausgangsereignisse in der einzigen Ausgangsereignistabelle nach Maßgabe jedes der in der einzigen Zustandstabelle erscheinenden Zustände als Reaktion auf jedes der Eingangsereignisse in der einzigen Eingangsereignistabelle ausgegeben wird, indem er auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von Programmkomponentenspezifikationen Bezug nimmt.
- Gemäß der Vorrichtung und dem Verfahren dieser Erfindung können Programmentwickler es zustandebringen, eine Mehrzahl von Programmkomponentenspezifikationen in eine neue einzelne Programmspezifikation zu synthetisieren, ohne die Auswirkungen einer Programmkomponentenspezifikation auf die anderen zu kennen. Dieses erlaubt diesen Programmentwicklern, von der herkömmlichen Last des Lernens der Auswirkungen befreit zu werden, und die neu synthetisierte Programmkomponente zu verwenden, um höhere Zuverlässigkeit zu erlangen.
- Diese Erfindung ist perfekt für elektrische Haushaltsgeräte geeignet, deren Steuerprogramme durch Ändern ihrer Zustände und Abläufe betätigt werden, wobei durch Betätigung von Knöpfen und dergleichen Ereignisse eingegeben werden.
- Diese und andere Aufgaben, Vorteile und Merkmale der Erfindung werden aus ihrer folgenden Beschreibung in Verbindung mit den begleitenden Zeichnungen ersichtlich werden, die eine spezifische Ausführung der Erfindung veranschaulichen.
- Inhalt der Zeichnungen:
- Fig. 1 ist ein Blockschaltbild, das den Aufbau einer Vorrichtung zum Synthetisieren von Programmkomponentenspezifikationen in eine einzige Programmkomponente gemäß der Ausführung dieser Erfindung zeigt.
- Fig. 2 ist ein Flußdiagramm, das das Verfahren zum Synthetisieren von Programmkomponentenspezifikationen in eine einzige Programmkomponente gemäß der Ausführung dieser Erfindung darstellt.
- Fig. 3 zeigt Tabellen, die gemäß der Ausführung dieser Erfindung zu synthetisierende Programmkomponentenspezifikationen darstellen.
- Fig. 4 zeigt Tabellen, die eine einzige Programmkomponentenspezifikation wie gemäß der Ausführung dieser Erfindung synthetisiert darstellen.
- Fig. 5 zeigt ein Gerät, das durch eine einzige Programmkomponente wie gemäß der Ausführung dieser Erfindung synthetisiert zu steuern ist.
- Die Vorrichtung zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation tion gemäß dieser Ausführung wird mit Verweis auf die Zeichnungen beschrieben.
- In Fig. 1 speichert eine Programmkomponentenspezifikations-Speichereinheit 101 Programmkomponentenspezifikationen, die aus dem folgenden urprünglich darin eingetragenen bestehen: Eingangsereignistabellen, die in Programmkomponenten einzugebende Ereignisse (nachstehend Eingangsereignisse) zeigen, Zustandstabellen, die mögliche Zustände der Programmkomponenten in Betrieb zeigen, Zustandsumwandlungstabellen, die zeigen, wie diese Zustände durch die Eingangsereignisse umgewandelt werden, und Ausführungstabellen, die als Reaktion auf die Umwandlung auszugebende Ereignisse und Ziele der auszugebenden Ereignisse zeigen.
- Eine Programmkomponentenspezifikations-Rückgewinnungseinheit 102 gewinnt Programmkomponentenspezifikationen zurück, die unter allen in der Programmkomponentenspezifikations-Speichereinheit 101 gespeicherten Programmkomponentenspezifikationen zu synthetisieren sind.
- Eine Eingangsereignistabellen-Synthetisierungseinheit 103 synthetisiert alle durch die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnenen Eingangsereignistabellen in eine einzige Eingangsereignistabelle für die synthetisierte einzige Programmkomponentenspezifikation.
- Eine Eingangsereignis-Speichereinheit 104 speichert die durch die Eingangsereignis-Synthetisiserungseinheit 103 synthetisierte einzige Eingangsereignistabelle.
- Eine Zustands-Synthetisierungseinheit 105 synthetisiert alle Zustände der von der Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnenen Programmkomponenten in Betrieb in eine einzige Zustandstabelle für die synthetisierte einzige Programmkomponentenspezifikation.
- Eine Zustandsspeichereinheit 106 speichert die durch die Zustands-Synthetisierungseinheit 105 synthetisierte einzige Zustandstabelle.
- Eine Zustandsumwandlungstabellen-Synthetisierungseinheit 107 synthetisiert die Zustandsumwandlungstabellen in eine einzige Zustandsumwandlungstabelle für die einizige Programmkomponentenspezifikation, indem sie auf die von der Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnenen Zustandsumwandlungstabellen und Ausführungstabellen Bezug nimmt.
- Eine Zustandsumwandlungstabellen-Speichereinheit 108 speichert die von der Zustandsumwandlungstabellen-Synthetisierungseinheit 107 synthetisierte einzige Zustandsumwandlungstabelle.
- Eine Ausführungstabellen-Synthetisierungseinheit 109 synthetisiert alle durch die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnenen Ausführungstabellen in eine einzige Ausführungstabelle für die einzige Programmkomponentenspezifikation.
- Eine Ausführungstabellen-Speichereinheit 110 speichert die durch die Ausführungstabellen-Synthetisierungseinheit 109 synthetisierte einzige Ausführungstabelle.
- Eine Programmkomponentenspezifikations-Ausgabeeinheit 111 gibt als eine einzige Programmkomponentenspezifikation jede in der Eingangsereignistabellen-Speichereinheit 104, in der Zustandsspeichereinheit 106, in der Zustandsumwandlungstabellen-Speichereinheit 108 und in der Ausführungstabellen-Speichereinheit 110 gespeicherte Tabelle aus.
- Eine Einzelprogrammkomponentenspezifikations-Speichereinheit 112 speichert die durch die Einzelprogrammkomponentenspezifikations-Ausgabeeinheit 111 ausgegebene Einzelprogrammkomponentenspezifikation.
- Wie im Flußdiagramm von Fig. 2 gezeigt, besteht das erfindungsgemäße Verfahren zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation aus den folgenden Schritten:
- einem Schritt 201 zum Speichern von Programmkomponentenspezifikationen, die ein Bediener zu synthetisieren befiehlt;
- einem Schritt 202 zum Rückgewinnen der in Schritt 201 gespeicherten Programmkomponentenspezifikationen;
- einem Schritt 203 zum Zusammensetzen aller in Schritt 202 rückgewonnenen Eingangsereignistabellen als eine einzige Eingangsereignistabelle für die einzige Programmkomponentenspezifikation;
- einem Schritt 204 zum Kombinieren aller in Schritt 202 rückgewonnenen Zustandstabellen als eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation;
- einem Schritt 205 zum Vollenden einer einzigen Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation durch Herausfinden, wie jeder der in der in Schritt 204 kombinierten einzigen Zustandstabelle erscheindenen Zustände als Reaktion auf jedes der Eingangsereignisse in der einzigen Eingangsereignistabelle in Schritt 203 umgewandelt wird, mit Bezug auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen für die zu synthetisierenden Programmkomponentenspezifikationen;
- einem Schritt 206 zum Vollenden einer Ausführungstabelle für die einzige Programmkomponentenspezifikation durch Herausfinden, wie jeder der Zustände in der in Schritt 204 vollendeten einzigen Zustandstabelle als Reaktion auf jedes der in der einzigen Eingangsereignistabelle erscheinenden Eingangsereignisse umgewandelt wird, mit Bezug auf die Zustandsumwandlungstabellen und die Ausgangsereignistabellen für die Mehrzahl von Programmkomponentenspezifikationen und
- einem Schritt 207 zum Ausgeben, als die einzige Programmkomponentenspezifikation, der einzigen Eingangsereignistabelle, der einzigen Zustandstabelle, der einzigen Zustandsumwandlungstabelle und der einzigen Ausführungstabelle.
- Das Folgende ist eine Funktionsbeschreibung der wie oben aufgebauten Vorrichtung zum Synthetisieren einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige Programmkomponentenspezifikation.
- Fig. 3 zeigt Spezifikationen für Programmkomponenten α und β als Beispiele, die in Schritt 201 in der Programmkomponentenspezifikations- Speichereinheit 101 zu speichern sind.
- In Fig. 3 zeigt eine Eingangsereignistabelle 301 alle möglichen Eingangsereignise für die Programmkomponente α.
- Eine Zustandstabelle 302 zeigt alle möglichen Zustände der Programmkomponente α.
- Eine Zustandsumwandlungstabelle 303 zeigt momentane Zustände der Programmkomponente α und als Reaktion auf Eingangsereignisse umgewandelte Zustände.
- Eine Ausführungstabelle 304 zeigt alle möglichen Ereignisse, die nach Maßgabe einer Zustandsumwandlung an andere Programmkomponenten auszugeben sind.
- Da die Tabellen 305-308 für die Programmkomponente β den Tabellen 301- 304 entsprechen, wird ihre Erklärung nicht wiederholt.
- Fig. 5 zeigt ein durch diese Programmkomponenten α und β gesteuertes Gerät. Die Programmkomponente α steuert eine lichtemittierende Diode (LED) 501 und die Drucktasten 503 und 504. Die LED 501 entspricht, wenn eingeschaltet, dem Zustand A1 und wenn ausgeschaltet, dem Zustand B1. Wenn gedrückt, senden die Drucktasten 503 und 504 Eingangsereignisse a1 bwz. b1 an die Programmkomponente α.
- Die Programmkomponente β steuert eine LED 502 und die Drucktasten 505, 506 und 507. Die LED 502 wechselt ihre Farbe zwischen rot, blau und gelb entsprechend den Zuständen A2, B2 und C2. Wenn gedrückt, senden die Drucktasten 505-507 Eingangsereignisse a2, b2 bzw. c2 an die Programmkomponente β.
- Die folgende Beschreibung erfolgt auf der Grundlage, daß die Spezifikationen für die zwei Programmkomponenten α und β synthetisiert sind.
- Die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 gewinnt die in der Programmkomponentenspezifikations-Speichereinheit 101 gespeicherten Spezifikationen der Programmkomponenten α und β zurück (Schritt 202 in Fig. 2).
- Dann synthetisiert die Eingangsereignistabellen-Synthetisierungseinheit 103 Eingangsereignistabellen der durch die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnenen Programmkomponenten α und β in eine einzige Eingangsereignistabelle für eine einzige Programmkomponentenspezifikation. Die so synthetisierte Eingangsereignistabelle wird in der Eingangsereignistabellen-Speichereinheit 104 gespeichert (Schritt 203). Jedes darin enthaltene Eingangsereignis wird in einer Tabelle 401 aufgeführt, die aus den in den Tabellen 301 und 305 gezeigten Eingangsereignissen besteht.
- Die Zustandstabellen-Synthetisierungseinheit 105 synthetisiert Tabellen, die Zustände der durch die Programmkomponentenspezifikations- Rückgewinnungseinheit 102 rückgewonnenen Programmkomponenten α und β in Betrieb zeigen, in eine einzige Zustandstabelle für die einzige Programmkomponentenspezifikation. Die so synthetisierte Zustandstabelle wird in der Zustandstabellen-Speichereinheit 106 gespeichert (Schritt 204). Wie in Fig. 4 gezeigt, sind sechs Zustände in einer Tabelle 402 aufgeführt, die Kombinationen zwischen den zwei in Tabelle 302 gezeigten Zuständen und den drei Zuständen in Tabelle 306 zeigt.
- Die Zustandsumwandlungstabellen-Synthetisierungseinheit 107 vollendet eine Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation durch Anwenden der Zustandsumwandlungstabellen 303 und 307 und der Ausführungstabellen 304 und 308 auf jede Kombination zwischen den Eingangsereignissen in der Tabelle 401 und den Zuständen in der Tabelle 402, bis endgültige Zustände für die einzige Programmkomponentenspezifikation bestimmt werden.
- Das Folgende sind detaillierte Prozeduren der Zustandstabellen-Synthetisierungseinheit 105, um die Zustandsumwandlungstabelle in dem Fall zu vollenden, daß ein Eingangsereignis a1 empfangen wird, wenn Zustände (A1, B2) kombiniert werden.
- Da der Zustand a1 für die Programmkomponente α ist, wird die Zustandsumwandlungstabelle 303 durch die Programmkomponentenspezifikations- Rückgewinnungseinheit 102 rückgewonnen. Der Zustand der Programmkomponente α wird von A1 in B1 umgewandelt, und als Ergebnis wird der Zustand der einzigen Programmkomponentenspezifikation (B1, B2).
- Zur selben Zeit wird die Ausführungstabelle 304 durch die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnen. Da das Ereignis a2 für die Programmkomponente β erzeugt wird, wird der Zustand der Programmkomponente β von B2 in A2 umgewandelt. Als Ergebnis wird der Zustand der einzigen Programmkomponentenspezifikation (B1, A2).
- Obwohl das Ereignis a1 auch für die Programmkomponente α erzeugt wird, wird kein Zustand der Programmkomponente α durch das Eingangsereignis umgewandelt, solange ihr Zustand B1 ist. Folglich wird, wenn das Ereignis a1 unter dem Zustand von (A1, B2) empfangen wird, der Zustand der einzigen Programmkomponentenspezifikation (B1, A2).
- Die Zustandsumwandlungstabellen-Synthetisierungseinheit 101 vollendet somit die Umwandlung jedes der Zustände in der Tabelle 402 als Reaktion auf jedes der Eingangsereignisse in der Tabelle 401. Information über die so vollendete Zustandsumwandlung wird in der Zustandsumwandlungstabellen-Speichereinheit 108 gespeichert (Schritt 205). Diese Ergebnisse werden in einer Zustandsumwandlungstabelle 403 in Fig. 4 gezeigt. Diese Tabelle 403 zeigt, wie ein momentaner Zustand der einzigen Programmkomponentenspezifikation als Reaktion auf ein Eingangsereignis umgewandelt wird, wobei die Eingangsereignistabelle 401 eine senkrechte Zeile ist und die Zustandstabelle 402 eine horizontale Zeile ist.
- Als Reaktion auf jede Zustandsumwandlung in der Zustandsumwandlungstabelle 403 gewinnt die Ausführungstabellen-Synthetisierungseinheit 109 alle in der Ausführungstabelle 304 und 308 erscheinenden Ereignisse zurück und speichert dann die Ergebnisse in der Ausführungstabellen-Speichereinheit 110.
- Das Folgende ist eine spezifizierte Operation der Ausführungstabellen- Synthetisierungseinheit 109 in dem Fall, daß das Ereignis a1 unter dem Zustand (A1, B2) empfangen wird.
- Da das Ereignis a1 für die Programmkomponente α ist, wird die Zustandsumwandlungstabelle 303 durch die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 rückgewonnen. Der Zustand der Programmkomponente α wird von A1 in B1 umgewandelt, und als Ergebnis wird der Zustand der einzigen Programmkomponentenspezifikation (B1, B2). Zur selben Zeit wird das in der Ausführungstabelle 304 erscheinende Ereignis a2 für die Programmkomponente β erzeugt. Die Ausführungstabellen-Synthetisierungseinheit 109 fügt das Ereignis a2 den nach Maßgabe dieser Zustandsumwandlung erzeugten Ereignissen hinzu.
- Da das Ereignis a2 für die Programmkomponente β ist, läßt die Ausführungstabellen-Synthetisierungseinheit 109 die Programmkomponentenspezifikations-Rückgewinnungseinheit 102 die Zustandsumwandlungstabeile 307 rückgewinnen. Als Ergebnis wird der Zustand der Programmkomponente β von B2 in A2 umgewandelt, und der Zustand der einzigen Programmkomponentenspezifikation wird (B1, A2). Zur selben Zeit wird das in der Ausführungstabelle 308 erscheinende Ereignis a1 erzeugt. Das Ereignis a1 wird den nach Maßgabe dieser Zustandsumwandlung erzeugten Ereignissen hinzugefügt. Danach werden keine weiteren Ereignisse erzeugt, weil der Zustand der Programmkomponente α durch das Ereignis a1 unter dem Zustand von B1 nicht umgewandelt wird.
- Folglich werden, wenn das Ereignis a1 unter dem Zustand von (A1, B2) empfangen wird, Ereignisse a2 und a1 erzeugt werden. Die Ausführungstabellen-Synthetisierungseinheit 109 vollendet somit die Zustandsumwandlung aller als Reaktion auf die Zustandsumwandlung der einzigen Programmkomponentenspezifikation erzeugten Ereignisse. Information über die erzeugten Ereignisse wird in der Ausführungstabellen-Speichereinheit 110 gespeichert (Schritt 206). Die Ergebnisse werden in einer Ausführungstabelle 404 in Fig. 4 gezeigt. Diese Tabelle 404 zeigt, welches Ereignis unter einem momentanen Zustand als Reaktion auf jedes Eingangsereignis mit der Eingangsereignistabelle 401 als eine vertikale Zeile und der Zustandstabelle 402 als eine horizontale Zeile ausgegeben wird.
- Die Einzelprogrammkomponentenspezifikations-Ausgabeeinheit 111 gibt als die einzige Programmkomponentenspezifikation die Eingangsereignistabelle 401, die Zustände in der Zustandstabelle 402, die Zustandsumwandlung in der Zustandsumwandlungstabelle 403 und die Ausführung in der Ausführungstabelle 404 aus.
- Das Folgende ist eine Beschreibung der einzigen Programmkomponentenspezifikation, wenn die Drucktaste 503 unter den Bedingungen gedrückt wird, daß die LED 501 und die blaue LED 502 eingeschaltet sind.
- Die Zustände, wo die LED 501 ein ist und die LED 502 blaues Licht zeigt, entsprechen (A1, B2). Wenn unter diesen Bedingungen die Drucktaste 503 gedrückt wird, wird das Eingangsereignis a1 erzeugt. Wenn das Eingangsereignis a1 unter den Zuständen von (A1, B2) empfangen wird, wird gemäß der Zustandsumwandlungstabelle 403 der Zustand der einzigen Programmkomponentenspezifikation (B1, A2). Als Folge wird die LED 501 ausgeschaltet, und die LED 502 zeigt rotes Licht.
- Obwohl bei der Ausführung zwei Programmkomponenten synthetisiert werden, können mehr als zwei synthetisiert werden.
- Obwohl die vorliegende Erfindung im Form von Beispielen mit Bezug auf die begleitenden Zeichnungen ausführlich beschrieben worden ist, ist anzumerken, daß für die Fachleute in der Technik verschiedene Anderungen und Modifikationen ersichtlich sein werden. Sofern solche Anderungen und Modifikationen ansonsten nicht vom Umfang der vorliegenden Erfindung abweichen, sollten sie daher als darin eingeschlossen aufgefaßt werden.
Claims (3)
1. Vorrichtung zum automatischen Synthetisieren einer Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Programmkomponentenspezifikation, wobei jede Programmkomponente ihren Zustand im
Betrieb als Reaktion auf eine Eingabe eines Ereignisses umwandelt und
wiederum ein anderes Ereignis nach Maßgabe der Umwandlung an die
anderen Programmkomponenten ausgibt, wobei die Vorrichtung umfaßt:
eine Programmkomponentenspezifikations-Speichereinrichtung (101) zum
Speichern einer Mehrzahl von Programmkomponentenspezifikationen, die
je eine Tabelle enthalten, die darin einzugebende Ereignisse zeigt,
eine Tabelle, die Zustände der Programmkomponente in Betrieb zeigt,
eine Tabelle, die Zustandsumwandlungen als Reaktion auf die
Eingangsereignisse zeigt, und eine Tabelle, die davon nach Maßgabe der
Zustandsumwandl ungen auszugebende Ereignisse zeigt, und
eine Programmkomponentenspezifikations-Synthetisierungseinrichtung zum
Synthetisieren jeweiliger Tabellen derselben Art in eine einzige
Tabelle für die einzige Programmkomponentenspezifikation, wobei die
Programmkomponentenspezifikations-Synthetisierungseinrichtung umfaßt:
eine Eingangsereignistabellen-Synthetisierungseinrichtung (103) zum
Synthetisieren von Eingangsereignistabellen für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Eingangsereignistabelle für die einzige Programmkomponentenspezifikation durch
Zusammenstellen aller Eingangsereignisse für die Mehrzahl von
Programmkomponentenspezifikationen als Eingangsereignisse für die einzige
Programmkomponentenspezifikation;
eine Zustandstabellen-Synthetisierungseinrichtung (105) zum
Synthetisieren von Zustandstabellen für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige Zustandstabelle für die einzige
Programmkomponentenspezifikation durch Kombinieren aller Zustände für
die Mehrzahl von Programmkomponentenspezifikationen, um die einzige
Zustandstabelle zu vervollständigen;
eine Zustandsumwandlungstabellen-Synthetisierungseinrichtung (107) zum
Synthetisieren von Zustandsumwandlungstabellen für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation durch
Herausfinden, wie jeder der Zustände in der einzigen Zustandstabelle
als Reaktion auf jedes in der einzigen Eingangsereignistabelle
erscheinende Eingangsereignis umgewandelt wird, indem auf die
Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von
Programmkomponentenspezifikationen Bezug genommen wird, und
eine Ausgangsereignistabellen-Synthetisierungseinrichtung (109) zum
zum Synthetisieren von Ausgangsereignistabellen für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Ausgangsereignistabelle für die einzige Programmkomponentenspezifikation durch
Herausfinden, welches der Ausgangsereignisse in der einzigen
Ausgangsereignistabelle nach Maßgabe jedes der in der einzigen Zustandstabelle
erscheinenden Zustände als Reaktion auf jedes der Eingangsereignisse in
der einzigen Eingangsereignistabelle ausgegeben wird, indem auf die
Zustandsumwandlungstabellen und die Ausgangsereignistabellen der
Mehrzahl von Programmkomponentenspezifikationen Bezug genommen wird.
2. Vorichtung nach Anspruch 1, dadurch gekennzeichnet, daß die
Programmkomponentenspezifikations-Synthetisierungseinrichtung weiter um
faßt:
eine Rückgewinnungseinrichtung (102) zum Rückgewinnen der
Eingangsereignistabellen, der Zustandstabellen, der Zustandsumwandlungstabellen
und der Ausgangsereignistabellen, die in der
Programmkomponentenspezifikations-Speichereinrichtung gespeichert sind, und zum Ausgeben der
rückgewonnenen Eingangsereignistabellen an die
Eingangsereignistabellen-Synthetisierungseinrichtung (103), der rückgewonnenen
Zustandstabellen an die Zustandstabellen-Synthetisierungseinrichtung (105), der
rückgewonnenen Zustandsumwandlungstabellen an die
Zustandsumwandlungstabellen-Synthetisierungseinrichtung (107) und der rückgewonnenen
Ausgangsereignistabellen an die
Ausgangsereignistabellen-Synthetisierungseinrichtung (109).
3. Computerimplementiertes Verfahren zum automatischen Synthetisieren
einer Mehrzahl von Programmkomponentenspezifikationen in eine einzige
Programmkomponentenspezifikation, wobei jede der Mehrzahl von
Programmkomponentenspezifikationen eine Tabelle umfaßt, die darin
einzugebende
Ereignisse zeigt, eine Tabelle, die Zustände der
Programmkomponente in Betrieb zeigt, eine Tabelle, die Zustandsumwandlungen als
Reaktion auf die Eingangsereigniss zeigt, und eine Tabelle, die davon
nach Maßgabe der Zustandsumwandlu gen auszugebende Ereignisse zeigt,
umfassend die Schritte:
Synthetisieren von Eingangsereignistabellen (203) für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Eingangsereignistabelle für die einzige Programmkomponentenspezifikation durch
Zusammenstellen aller Eingangsereignisse für die Mehrzahl von
Programmkomponentenspezifikationen als Eingangsereignisse für die einzige
Programmkomponentenspezifikation;
Synthetisieren von Zustandstabellen (204) für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige Zustandstabelle für
die einzige Programmkomponentenspezifikation durch Kombinieren aller
Zustände für die Mehrzahl von Programmkomponentenspezifikationen, um
die einzige Zustandstabelle zu vervollständigen;
Synthetisieren von Zustandsumwandlungstabellen (205) für die Mehrzahl
von Programmkomponentenspezifikationen in eine einzige
Zustandsumwandlungstabelle für die einzige Programmkomponentenspezifikation durch
Herausfinden, wie jeder der Zustände in der einzigen Zustandstabelle
als Reaktion auf jedes in der einzigen Eingangsereignistabelle
erscheinende Eingangsereignis umgewandelt wird, indem auf die
Zustandsumwandlungstabellen und die Ausgangsereignistabellen der Mehrzahl von
Programmkomponentenspezifikationen Bezug genommen wird, und
Synthetisieren von Ausgangsereignistabellen (206) für die Mehrzahl von
Programmkomponentenspezifikationen in eine einzige
Ausgangsereignistabelle für die einzige Programmkomponentenspezifikation durch
Herausfinden, welches der Ausgangsereignisse in der einzigen
Ausgangsereignistabelle nach Maßgabe jedes der in der einzigen Zustandstabelle
erscheinenden Zustände als Reaktion auf jedes der Eingangsereignisse in
der einzigen Eingangsereignistabelle ausgegeben wird, indem auf die
Zustandsumwandlungstabellen und die Ausgangsereignistabellen der
Mehrzahl von Programmkomponentenspeziflkationen Bezug genommen wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4298768A JPH06149554A (ja) | 1992-11-09 | 1992-11-09 | プログラム動作仕様自動合成装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69311065D1 DE69311065D1 (de) | 1997-07-03 |
DE69311065T2 true DE69311065T2 (de) | 1997-11-20 |
Family
ID=17863970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69311065T Expired - Fee Related DE69311065T2 (de) | 1992-11-09 | 1993-11-08 | Vorrichtung und Verfahren zur Progammspezifikationssynthese |
Country Status (4)
Country | Link |
---|---|
US (1) | US5668978A (de) |
EP (1) | EP0597646B1 (de) |
JP (1) | JPH06149554A (de) |
DE (1) | DE69311065T2 (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9309549D0 (en) * | 1993-05-10 | 1993-06-23 | Hinchey Michael G | Case system |
US6035343A (en) * | 1993-06-11 | 2000-03-07 | Fujitsu Limited | Method for executing software formed of software components and a system for executing such software |
US9063719B1 (en) * | 1995-10-02 | 2015-06-23 | People Innovate For Economy Foundation, Inc. | Table format programming |
KR20000068979A (ko) * | 1996-11-14 | 2000-11-25 | 존스 웨인 에이. | 어플리케이션 프로그램을 위한 다이나믹 오브젝트를 구성하는 범용 소프트웨어 상태 머신 및 방법 |
IL119914A (en) | 1996-12-25 | 2000-06-29 | Emultek Ltd | Device for implementing hierarchical state charts and methods and apparatus useful therefor |
US5949993A (en) * | 1997-10-31 | 1999-09-07 | Production Languages Corporation | Method for the generation of ISA simulators and assemblers from a machine description |
US20020049961A1 (en) * | 1999-08-23 | 2002-04-25 | Shao Fang | Rule-based personalization framework |
AU6765900A (en) * | 1999-08-23 | 2001-03-19 | Asera, Inc. | Method and apparatus for providing custom configurable business applications from a standardized set of components |
US7020869B2 (en) * | 2000-12-01 | 2006-03-28 | Corticon Technologies, Inc. | Business rules user interface for development of adaptable enterprise applications |
US6996798B2 (en) * | 2002-05-29 | 2006-02-07 | Sun Microsystems, Inc. | Automatically deriving an application specification from a web-based application |
US8463925B1 (en) * | 2007-10-08 | 2013-06-11 | Empirix Inc. | Table driven event processing of multiple stateful protocols in a high performance network stack framework |
JP5414553B2 (ja) * | 2010-01-26 | 2014-02-12 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US9282772B2 (en) | 2012-01-31 | 2016-03-15 | Altria Client Services Llc | Electronic vaping device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202996A (en) * | 1985-10-11 | 1993-04-13 | Hitachi, Ltd. | Software structuring system and method by data table translation |
IL78542A0 (en) * | 1986-04-18 | 1986-08-31 | Yeda Res & Dev | Electronic controller based on the use of statecharts as an abstract model |
US5228040A (en) * | 1990-03-09 | 1993-07-13 | At&T Bell Laboratories | Testable implementations of finite state machines and methods for producing them |
JPH06202859A (ja) * | 1991-02-26 | 1994-07-22 | Texas Instr Inc <Ti> | システム設計の方法および装置 |
US5301100A (en) * | 1991-04-29 | 1994-04-05 | Wagner Ferdinand H | Method of and apparatus for constructing a control system and control system created thereby |
US5475388A (en) * | 1992-08-17 | 1995-12-12 | Ricoh Corporation | Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding |
US5339395A (en) * | 1992-09-17 | 1994-08-16 | Delco Electronics Corporation | Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode |
-
1992
- 1992-11-09 JP JP4298768A patent/JPH06149554A/ja active Pending
-
1993
- 1993-11-08 DE DE69311065T patent/DE69311065T2/de not_active Expired - Fee Related
- 1993-11-08 EP EP93308881A patent/EP0597646B1/de not_active Expired - Lifetime
-
1995
- 1995-08-28 US US08/520,227 patent/US5668978A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69311065D1 (de) | 1997-07-03 |
US5668978A (en) | 1997-09-16 |
EP0597646B1 (de) | 1997-05-28 |
EP0597646A1 (de) | 1994-05-18 |
JPH06149554A (ja) | 1994-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69311065T2 (de) | Vorrichtung und Verfahren zur Progammspezifikationssynthese | |
DE69329966T2 (de) | Prozedurorientierte benutzerschnittstelle | |
DE69428988T2 (de) | Interaktive anwenderschnittstelle | |
DE69029605T2 (de) | Farbensteuerung für Farbanzeige | |
DE69230452T2 (de) | Verfahren und Vorrichtung zur Änderungskontrolle in mehreren Entwicklungsumgebungen | |
DE69525336T2 (de) | Lernfähiger benutzeroberflächenübersetzer | |
DE3789724T2 (de) | System zur Prüfung von interaktiver Software. | |
DE69326226T2 (de) | Verfahren zum Strukturieren von in einem industriellen Prozess verwendeten Informationen und Anwendung als Flugzeugführungshilfe | |
DE3789721T2 (de) | Vielseitiger Unterrichtsimulator. | |
DE69522684T2 (de) | Statusanzeiger einer graphischen benutzerschnittstelle | |
DE69721424T2 (de) | Vorrichtung und Verfahren zum Edieren einer graphischen Benutzerschnittstelle | |
DE4109258A1 (de) | Verfahren zum umwandeln der hardwarekonfiguration einer programmierbaren verknuepfungssteuerung und des entsprechenden steuerprogramms zur verwendung bei einer zweiten programmierbaren verknuepfungssteuerung | |
EP1034475B1 (de) | Verfahren zum testen von systemkomponenten eines objektorientierten programms | |
DE2808577A1 (de) | Elektronischer rechner mit synthetischer sprachanzeige | |
DE3503119A1 (de) | Verfahren zum automatischen erzeugen eines quellenprogramms | |
DE4332193A1 (de) | Verfahren und System zur Verarbeitung und On-Line-Darstellung von Multimedia-Information in einer Baumstruktur | |
DE1524099A1 (de) | Verbessertes Kontroll- und Anzeigegeraet | |
DE588928T1 (de) | Erzeugung und simulation von wissenssystemen. | |
DE69717590T2 (de) | Prozessteuerung mit bewertung von gespeicherten referenzausdrücken | |
DE3851014T2 (de) | Eine Vielzahl an Regeln enthaltendes System mit einer vorausermittelten Inferenz-Strategie. | |
DE4322364A1 (de) | Verfahren zum Erzeugen von Fontdaten | |
DE69031719T2 (de) | Verfahren zum automatischen Entwurf einer Programmstruktur | |
DE4104568A1 (de) | Verfahren und vorrichtung zur programmverarbeitung | |
DE69321270T2 (de) | Fensterverwaltungssystem in einem Computerterminal | |
DE3854512T2 (de) | Vorrichtung und Verfahren zur Anzeige der Ablauffolge eines Expertensystems. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |