DE69311065T2 - Vorrichtung und Verfahren zur Progammspezifikationssynthese - Google Patents

Vorrichtung und Verfahren zur Progammspezifikationssynthese

Info

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
Application number
DE69311065T
Other languages
English (en)
Other versions
DE69311065D1 (de
Inventor
Norio Sanada
Kouichi Yasutake
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69311065D1 publication Critical patent/DE69311065D1/de
Application granted granted Critical
Publication of DE69311065T2 publication Critical patent/DE69311065T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements 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

    HINTERGRUND DER ERFINDUNG (1) Erfindungsgebiet
  • 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.
  • (2) Beschreibung der verwandten Technik
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNG
  • 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.
  • Synthese von Eingangsereignissen
  • 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.
  • Synthese von Zuständen in Betrieb
  • 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.
  • Synthese von Zustandsumwandlungen
  • 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.
  • Synthese der Ausführung
  • 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.
DE69311065T 1992-11-09 1993-11-08 Vorrichtung und Verfahren zur Progammspezifikationssynthese Expired - Fee Related DE69311065T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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