DE19947892A1 - Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür - Google Patents

Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür

Info

Publication number
DE19947892A1
DE19947892A1 DE19947892A DE19947892A DE19947892A1 DE 19947892 A1 DE19947892 A1 DE 19947892A1 DE 19947892 A DE19947892 A DE 19947892A DE 19947892 A DE19947892 A DE 19947892A DE 19947892 A1 DE19947892 A1 DE 19947892A1
Authority
DE
Germany
Prior art keywords
dimension
interface
rows
link
constant
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
Application number
DE19947892A
Other languages
English (en)
Other versions
DE19947892C2 (de
Inventor
Claus Schneider
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE19947892A priority Critical patent/DE19947892C2/de
Priority to US09/680,370 priority patent/US6968544B1/en
Publication of DE19947892A1 publication Critical patent/DE19947892A1/de
Application granted granted Critical
Publication of DE19947892C2 publication Critical patent/DE19947892C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung ist gerichtet auf Verfahren zur Umsetzung von Schnittstellendefinitionen innerhalb von Quellprogrammcode in ein Zwischenformat, die Rückumsetzung in einen Zielprogrammcode aus einer Tabelle und auf die Tabelle selbst. Das Verfahren zur Umsetzung erfolgt mittels einer das Verfahren ausführenden Rechenanlage und hat folgende Schritte: DOLLAR A Identifizieren von zumindest einem Objekt im Quellprogrammcode; DOLLAR A Identifizieren von zumindest einer Schnittstelle bei dem zumindest einen identifizierten Objekt; C: Identifizieren von zumindest einer Verknüpfung (intern oder extern) zwischen Schnittstellen; DOLLAR A Erstellen einer zumindest zweidimensionalen Zwischenformattabelle.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Umset­ zung von Schnittstellendefinitionen innerhalb von Quellpro­ grammcode in ein Zwischenformat und aus einer Zwischenfor­ mattabelle in Zielprogrammcode sowie eine dafür geeignete Zwischenformattabelle.
In Programmen werden sogenannte Schnittstellen zum Austausch von Daten zwischen einzelnen Programmmodulen beziehungsweise Programmobjekten verwendet. Besonders intensiven Gebrauch von Schnittstellendefinitionen machen naturgemäß Modellie­ rer/Programmierer von Hardware-Beschreibungen. Hierzu werden spezielle Hardware-Beschreibungssprachen verwendet, die das Verhalten der einzelnen simulierten Komponenten sowie die elektrische Verknüpfung der Komponenten miteinander beschrei­ ben. Im Bereich der Hardware-Beschreibungssprachen ist es üb­ lich, den Programmcode in einen Bereich zu teilen, der der Definition der Architekturen der Bauteile dient und in einen zweiten Bereich, der ausschließlich die Schnittstellen zwi­ schen den Bauteilen definiert.
Um einen Datenaustausch zwischen verschiedenen Hardware- Entwicklungsprojekten zu ermöglichen, ist es notwendig, Pro­ grammcode von einer Ausgangshardware-Beschreibungssprache in eine Zielbeschreibungssprache zu übersetzen, so daß diese von bei einem anderen Projekt verwendeten Hardware-Simulatoren beziehungsweise Hardware-Syntheseprogrammen bearbeitet werden kann. Auch bei reinen Softwareprojekten kann eine Übersetzung zwischen einer Programmiersprache und einer anderen notwendig sein, beispielsweise um sie auf anderen Hardware-Plattformen lauffähig zu machen. Typische Beispiele für Hardware- Beschreibungssprachen, zwischen denen eine Konvertierung er­ folgen kann, sind VHDL und VERILOG. Es gibt jedoch auch wei­ tere Programmiersprachen im Hardware-Beschreibungsbereich, zwischen denen eine Konvertierung notwendig sein kann.
Die unmittelbare Umsetzung zwischen Programmiersprachen ist komplex und fehleranfällig. Es ist daher möglich, daß eine Zielschnittstellendefinition nicht mehr mit der Ausgangs­ schnittstellendefinition übereinstimmt, so daß es zu Fehlern bei der Hardwaresimulation kommt. Auf Grund der Komplexität sowohl des Ausgangsprogrammcodes als auch des Zielpro­ grammcodes ist eine Verifizierung der Korrektheit der Umset­ zung durch einen Fachmann eine ebenfalls schwierige und feh­ lerbehaftete Aufgabe. Zudem wird für jedes mögliche Sprachen­ paar von Programmiersprachen, zwischen denen eine Umsetzung erfolgen soll, ein Übersetzungsprogramm benötigt. Bei der Vielzahl von Programmiersprachen, bei denen Schnittstellende­ finitionen eine Rolle spielen, resultiert daraus eine große Zahl notwendiger Umsetzer hohen Komplexitätsgrads.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Übersetzungssystem bereitzustellen, das universeller ein­ setzbar ist, von seinem Aufbau her weniger komplex, und das verifizierbare Ergebnisse produziert. Erfindungsgemäß wird diese Aufgabe gelöst durch das Verfahren zur Umsetzung von Schnittstellendefinitionen innerhalb von Quellprogrammcode in ein Zwischenformat gemäß dem unabhängigen Patentanspruch 1, ein Verfahren zur Umsetzung von Schnittstellendefinitionen aus einer Zwischenformattabelle in Zielprogrammcode gemäß dem unabhängigen Patentanspruch 17, sowie eine dafür geeignete Zwischenformattabelle gemäß dem unabhängigen Patentanspruch 25.
Weitere vorteilhafte Ausgestaltungen, Aspekte und Details der Erfindung ergeben sich aus den abhängigen Patentansprüchen, der Beschreibung und den beigefügten Zeichnungen.
In einem Aspekt ist die Erfindung gerichtet auf die Umsetzung zu und von einem Zwischenformat in einer tabellarischen Form.
Die Umsetzung erfolgt dabei durch ein Programm in einer Da­ tenverarbeitungsanlage.
In einem weiteren Aspekt ist die Erfindung gerichtet auf ein Zwischenformat, das als Bindeglied zwischen verschiedenen Um­ setzungssystemen fungiert.
In noch einem Aspekt ist die Erfindung gerichtet auf Umset­ zungssysteme, deren Zwischenergebnisse trotz einer Überset­ zungsautomatik manuell inspizierbar und änderbar sind.
Die erfindungsgemäßen Verfahren werden in einer Rechenanlage durchgeführt und die Zwischenformattabelle in einer Rechenan­ lage gespeichert, auch wenn diese ausgedruckt bzw. auf einem Datensichtgerät dargestellt werden kann. Unter einer Rechen­ anlage im Sinne der vorliegenden Erfindung ist dabei jede Einrichtung zu verstehen, die die erfindungsgemäßen Verfahren ohne menschliche Eingriffe durchführen können (außer zum Starten der Verfahren) und die Zwischenformattabelle selb­ ständig generieren können. Geeignete Rechenanlagen sind zum Beispiel Personal-Computer, Workstations, Großrechner, Ta­ schenrechner etc.
Unter einem Programmcode ist im Sinne der vorliegenden Erfin­ dung eine Abfolge von Anweisungen in einer bestimmten Pro­ grammiersprache zu verstehen, die in einem funktionellen Zu­ sammenhang stehen. Ein Quellprogrammcode im Sinne der vorlie­ genden Erfindung ist ein solcher, von dem für eine Umsetzung in einen anderen Programmcode ausgegangen wird, der dann als Zielprogrammcode bezeichnet wird.
Ein Objekt des Quellprogrammcodes ist im Sinne der vorliegen­ den Erfindung eine im Programmcode enthaltene zusammengehöri­ ge Abfolge von Anweisungen in einer Programmiersprache. Bezo­ gen auf Hardware-Programmiersprachen kann ein Objekt gleich­ gesetzt werden mit der Definition einer Hardwarekomponente.
Bezogen auf solche Programmiersprachen, bei denen Schnitt­ stellendefinitionen in einem eigenständigen Teil des Pro­ grammcodes erscheinen, kann ein Objekt auch verstanden werden als die Summe der Schnittstellendefinitionen einer Komponente der zu simulierenden Hardware.
Unter einer Schnittstelle im Sinne der vorliegenden Erfindung ist ein Ein- oder Ausgang zu verstehen, über den Daten zwi­ schen Objekten hin- und/oder hergeleitet werden, beispiels­ weise über globale Variablen oder in einer anderen Weise.
Eine interne Schnittstelle im Sinne der vorliegenden Erfin­ dung ist eine solche, die eine Verbindung zwischen zwei Ob­ jekten innerhalb eines Programmcodes vornimmt.
Eine externe Schnittstelle im Sinne der vorliegenden Erfin­ dung dient der Herstellung einer Verbindung von einem Objekt innerhalb des Programmcodes mit außerhalb des Programmcodes liegenden Schnittstellen anderer Objekte, beispielsweise wenn auf Grund des modularen Aufbaus einer Hardwaresimulation ver­ schiedene Teile von Programmcode verwendet werden, die mit­ einander über solche externen Schnittstellen verbunden sind.
Schnittstellen können Eingangsschnittstellen oder Ausgangs­ schnittstellen sein, je nachdem in welche Richtung die Daten fließen, wobei es ebenfalls möglich ist, daß eine Schnitt­ stelle gleichzeitig beide Funktionen einer Eingangsschnitte und einer Ausgangsschnittstelle übernimmt. In bestimmten Be­ schreibungssprachen ist es auch möglich, Schnittstellen zu definieren, deren Informationsflußrichtung nicht festgelegt, das heißt unbestimmt ist.
Eine interne Verknüpfung im Sinne der vorliegenden Erfindung ist demgemäß die zwischen zwei internen Schnittstellen er­ folgte Verbindung. Diese kann bei Hardware-Simulationen auch als Signal bezeichnet werden und simuliert in der Tat dann eine elektrische Leitung zwischen zwei Hardwarekomponenten.
Eine externe Verknüpfung ist entsprechend einer Verknüpfung einer externen Schnittstelle mit einer Schnittstelle, die au­ ßerhalb des betrachteten Programmcodes liegt.
Von einer Verknüpfung wird hier in Zusammenhängen gesprochen, in denen eine interne Verknüpfung und/oder eine externe Ver­ knüpfung vorkommen kann.
Die Erfindung ist zunächst gerichtet auf ein Verfahren zur Umsetzung von Schnittstellendefinitionen innerhalb von Quell­ programmcode in ein Zwischenformat mittels einer das Verfah­ ren ausführenden Rechenanlage mit folgenden Schritten:
  • 1. A Identifizieren von zumindest einem Objekt im Quellpro­ grammcode;
  • 2. B Identifizieren von zumindest einer Schnittstelle bei dem zumindest einen identifiziertem Objekt;
    wobei zumindest eine der identifizierten Schnittstellen eine interne Schnittstelle zur Herstellung einer Verknüpfung von Objekten innerhalb des Quellprogrammcodes und/oder zumindest eine der identifizierten Schnittstellen eine externe Schnitt­ stelle zur Herstellung einer Verknüpfung von einem Objekt mit außerhalb des Quellprogrammcodes liegenden Schnittstellen sein kann; und
    wobei die zumindest eine Schnittstelle eine Eingangs- und/oder eine Ausgangsschnittstelle sein kann;
  • 3. C Identifizieren von zumindest einer internen Verknüpfung zwischen zumindest einer Ausgangsschnittstelle und zumindest einer Eingangsschnittstelle zwischen zumindest zwei Objekten und/oder
    Identifizieren von zumindest einer externen Verknüpfung der zumindest einen externen Schnittstelle;
  • 4. D Erstellen einer zumindest zweidimensionalen Zwischenfor­ mattabelle mit in einer ersten Dimension angeordneten Reihen, in einer zweiten Dimension angeordneten Reihen und Zellen an den Kreuzungspunkten der ersten und zweiten Reihen,
    wobei Reihen der ersten Dimension Bezeichnungen für jedes des zumindest einen identifizierten Objekts zugewiesen werden;
    wobei Reihen der zweiten Dimension Bezeichnungen für jede der zumindest einen identifizierten Verknüpfungen zugewiesen wer­ den; und
    wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt ei­ ner der Reihen der ersten Dimension mit der Bezeichnung eines identifizierten Objekts und einer der Reihen der zweiten Di­ mension mit der Bezeichnung einer identifizierten internen Verknüpfung liegen, Bezeichnungen für die zu sowohl dem je­ weiligen identifizierten Objekt als auch der identifizierten internen Verknüpfung gehörigen Ausgangsschnittstelle und/oder Eingangsschnittstelle eingesetzt werden; und/oder
    wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt ei­ ner der Reihen der ersten Dimension mit der Bezeichnung eines identifizierten Objekts und einer der Reihen der zweiten Di­ mension mit der Bezeichnung einer identifizierten externen Verknüpfung liegen, Bezeichnungen für die zu sowohl dem je­ weiligen identifizierten Objekt als auch der identifizierten externen Verknüpfung gehörigen Ausgangsschnittstelle und/oder Eingangsschnittstelle eingesetzt werden.
Unter einer Zuweisung im Sinne der vorliegenden Erfindung ist hierbei zu verstehen, daß eine Reihe dafür vorgesehen ist, Informationen über die ihr zugewiesenen Eigenschaften, bei­ spielsweise eines Objekts oder einer Verknüpfung, zu enthal­ ten, ohne daß notwendigerweise eine der Zellen der Reihe eine entsprechende Bezeichnung oder Kennzeichnung trägt.
Unter Einsetzen im Sinne der vorliegenden Erfindung wird ver­ standen, daß in der Tat eine Angabe, welcher Art auch immer, in die Zelle einer Reihe oder in die Kreuzungszelle von zwei Reihen hineingeschrieben werden, so daß die entsprechende Zelle einen Inhalt hat.
Eine Schnittstelle kann hierbei auch gleichzeitig die Funkti­ on einer Eingangs- und Ausgangsschnittstelle haben, oder eine Schnittstelle unbestimmter Datenflußrichtung sein.
Jede Verknüpfung erhält hierbei eine Reihe der zweiten Dimen­ sion zugewiesen, während jedes der identifizierten Objekte im Quellprogrammcode eine Reihe der ersten Dimension zugewiesen bekommt, die durch die Zuweisung der Bezeichnung der Verknüp­ fung bzw. des Objekts zu der Reihe vorgenommen werden.
Das erfindungsgemäße Verfahren erzeugt also eine Zwischenfor­ mattabelle, ähnlich der marktüblicher Tabellenverarbeitungs­ programme, bei der einer ersten Dimension, beispielsweise in Querrichtung, Bezeichnungen für identifizierte Objekte zuge­ wiesen werden. Solche Reihen können in diesem Fall als Spal­ ten bezeichnet werden. Jede Spalte dient also zur Aufnahme von Schnittstellendefinitionen eines Objekts. In der zweiten Dimension, beispielsweise den Zeilen einer Tabelle, werden die identifizierten Verknüpfungen zwischen den Objekten auf­ getragen. Es ergibt sich hierdurch ein im konkreten Fall zweidimensionales Raster mit Zellen. Unter "Bezeichnungen" sind hierbei eindeutige Namensgebungen zu verstehen, die der späteren Wiederauffindung eines Objekts, einer Schnittstelle oder anderer Elemente dienen. Die Bezeichnungen können in willkürlich vom Umsetzungsprogramm gewählten Namen bestehen oder in Numerierungen von 1 bis n für jedes der aufgefundenen identifizierten Objekte (wenn n die Zahl der insgesamt iden­ tifizierten Objekte); oder in einer anderen geeigneten Weise erfolgen.
Die Tabelle wird in der Rechenanlage in einer elektronischen, magnetischen, optischen oder sonstigen geeigneten Form in ei­ nem geeigneten Format gespeichert. Sie kann auch zur Dokumen­ tation auf einem Drucker ausgegeben werden.
Im einfachsten Fall handelt es sich um eine zweidimensionale Tabelle, die als Zwischenformat gewählt wird. Hiermit kann man die oben angegebenen Informationen über die Schnittstel­ lendefinitionen darstellen und speichern. Es ist jedoch auch vorstellbar, weitere Informationen über die Schnittstellen zu gewinnen, beispielsweise über den zu einem Objekt gehörigen Typ der durch das Objekt simulierten Komponente, wenn es sich um eine Hardwarebeschreibungssprache handelt. Solche weiteren Eigenschaften von einzelnen Schnittstellen lassen sich in ei­ ner dritten oder weiteren Dimension darstellen.
Die einfachsten Fälle von umsetzbarem Programmcode sind sol­ che, bei denen lediglich ein Objekt im Programmcode identifi­ ziert werden kann, das über eine oder mehrere externe Schnittstellen verfügt, sowie Programmcode, der zwei Objekte aufweist, die miteinander über eine interne Verknüpfung ver­ bunden sind. Um diese beiden einfachsten Möglichkeiten umset­ zen zu können, ist es notwendig, Alternativen im Verfahren vorzusehen, die entweder externe oder interne oder beide Ar­ ten von Schnittstellen identifizieren können. Auch bei der Besetzung der Zellen der Tabelle unter Zuweisung der Reihen müssen beide einfachste Möglichkeiten alternativ und kumula­ tiv berücksichtigt werden.
Das erfindungsgemäße Verfahren führt zu einer Zwischenfor­ mattabelle, die alle Schnittstellendefinitionen, welche in einem Programmcode enthalten sind, in einer klar gegliederten und in einem, weiteren Umsetzungsprogrammen in einheitlicher Weise zugänglichen, Datenformat enthalten. Durch die zweidi­ mensionale Darstellung ist auch die visuelle Inspektion des erzeugten Zwischenformats und damit die Eingriffmöglichkeit eines Operators oder Programmierers in einfacherer Weise ge­ geben, als dies ohne Zwischenformat oder bei herkömmlicher Darstellung mit Blockdiagrammen möglich sein würde.
Das Verfahren kann weiter verfeinert werden, wenn zumindest eine externe Verknüpfung identifiziert worden ist. Vorzugs­ weise wird eine erste spezielle Reihe der ersten Dimension zur Angabe des Modus der externen Schnittstelle bei der zu­ mindest einen identifizierten externen Verknüpfung verwendet, wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt der ersten speziellen Reihe der ersten Dimension und der Reihen der zweiten Dimension mit den Bezeichnungen der zumindest ei­ nen identifizierten externen Verknüpfung liegen, Angaben über den Modus der externen Schnittstelle bei der zumindest einen identifizierten externen Verknüpfung eingesetzt werden.
Das Verfahren kann bezüglich des Modus dadurch gekennzeichnet sein, daß die externen Schnittstelle eine Eingangsschnitt­ stelle, eine Ausgangsschnittstelle, eine bidirektionale Schnittstelle oder eine Schnittstelle unbestimmter Flußrich­ tung sein kann.
Eine solche Angabe kann beispielsweise durch einen Zahlencode geschehen, wobei 0 eine Eingangsschnittstelle, 1 eine Aus­ gangsschnittstelle oder umgekehrt bedeuten kann, oder durch die Verwendung geeigneter Ausdrücke wie Ein, Aus, Ein/Aus, "In", "Out" oder "Inout".
Zusätzlich können die Datentypen der zumindest einen identi­ fizierten Schnittstelle festgestellt werden, wobei zumindest einer zweiten speziellen Reihe der ersten Dimension eine An­ gabe der Datentypen der zumindest einen identifizierten Schnittstelle zugewiesen wird und jeweils in diejenigen Zel­ len, die am Kreuzungspunkt der zweiten speziellen Reihe und der Reihen der zweiten Dimension mit den Bezeichnungen der zumindest einen identifizierten Verknüpfung liegen, Bezeich­ nungen für die zu der zumindest einen identifizierten Ver­ knüpfung gehörigen Datentypen eingesetzt werden.
Von Datentypen wird in der Datenverarbeitung allgemein ge­ sprochen, um zu kennzeichnen, daß Werte von Variablen vom Compiler oder Interpreter in einer bestimmten Art und Weise interpretiert werden, um unterschiedliche Arten von Daten be­ rücksichtigen zu können. Typische Datentypen sind binäre Da­ ten, die nur die Werte 0 und 1 haben können, Integerzahlen, also ganze Zahlen, Floating-Point-Zahlen, bei denen zumindest eine Dezimalstelle vorhanden ist, "Character", bei denen Buchstaben oder Buchstabenfolgen bearbeitet werden etc. Diese Definition von Datentypen soll auch in der vorliegenden Er­ findung verwendet werden. Im allgemeinen muß davon ausgegan­ gen werden, daß eine identifizierte Schnittstelle nur einen Datentyp hat. Bei obiger Formulierung wurde jedoch der Plural gewählt, da zumeist mehrere identifizierte Schnittstellen vorhanden sein dürften. Genau wie oben ist auch hier die Be­ zeichnung als eine Namensgebung zu verstehen, wobei eine oder mehrere Namen für die Datentypen eingesetzt werden können. Auch hier kann die Bezeichnung als Zahlencode angegeben sein, wobei jede Zahl einen bestimmten Datentyp angeben soll, oder im Klartext, beispielsweise durch Angabe von "bit", "boole­ an", "character", "integer", etc., die unmittelbar in die Zellen hineingeschrieben werden können.
Ein weiterer, von der Erfindung berücksichtigter Ansatz be­ steht darin, die Angabe des Datentyps einer Verknüpfung auch (oder ausschließlich) als Bestandteil der Bezeichnung einer Schnittstelle (extern oder intern) zu formulieren. Auf diese Möglichkeit wird weiter unten eingegangen werden.
Schnittstellendefinitionen, insbesondere in Hardware- Beschreibungssprachen, können nicht nur die eigentlichen Schnittstellen, also die Verknüpfungen zwischen Objekten ei­ nes Programmcodes und/oder externen Objekten umfassen, son­ dern beschreiben auch die Angabe von innerhalb des Pro­ grammcodes verwendeten Konstanten, da diese für das Verhalten von Komponenten maßgeblich sein können, ohne innerhalb der Komponenten definiert werden zu müssen. Ihr natürlicher Ort ist daher in der Schnittstellendefinition. Im Sinne der vor­ liegenden Erfindung soll also auch die Konvertierung von Kon­ stanten als eine Umsetzung von Schnittstellendefinitionen verstanden werden.
Im Sinne der vorliegenden Erfindung soll unter einer externen Konstanten eine solche verstanden werden, welche innerhalb eines Programmcodes zwar deklariert, jedoch nicht notwendi­ gerweise definiert, also mit einem Zahlenwert versehen, wird. Die Einprägung der externen Konstanten mit einem Zahlenwert erfolgt i.A. von außerhalb des betrachteten Programmcodes liegenden Programmteilen. Eine solche externe Konstante wird zum Beispiel in VHDL als eine "generic" bezeichnet. Eine sol­ che generic wird innerhalb einer sogenannten "entity" dekla­ riert, das heißt jenem Bereich von Programmcode bei VHDL, in dem Schnittstellen einer Komponente deklariert werden (entity oder component). Unter einer internen Konstanten wird hinge­ gen eine solche verstanden, die innerhalb des Programmcodes sowohl deklariert als auch definiert werden muß. Von Konstan­ ten wird in der vorliegenden Erfindung allgemein gesprochen, wenn interne und/oder externe Konstanten in Frage kommen.
Daher beinhaltet das erfindungsgemäße Verfahren vorzugsweise, daß zusätzlich zumindest eine interne Konstante in dem zumin­ dest einen identifizierten Objekt und/oder zumindest eine ex­ terne Konstante, die von allen Objekten des Quellpro­ grammcodes verwendbar ist, identifiziert wird, der Datentyp der zumindest einen identifizierten internen Konstanten und/oder externen Konstanten festgestellt wird, zumindest ei­ ner dritten speziellen Reihe der ersten Dimension eine Angabe des Datentyps der zumindest einen Konstanten zugewiesen wird, zumindest einer ersten speziellen Reihe der zweiten Dimension Bezeichnungen der zumindest einen identifizierten internen Konstanten und/oder externen Konstanten zugewiesen werden und jeweils in diejenigen Zellen, die am Kreuzungspunkt der zu­ mindest einen dritten speziellen Reihe und der zumindest ei­ nen ersten speziellen Reihe der zweiten Dimension mit Be­ zeichnungen der zumindest einen identifizierten Konstanten liegen, Bezeichnungen für den zu der zumindest einen identi­ fizierten Konstanten gehörigen Datentyp eingesetzt werden.
Auch hier wird jeder der identifizierten Konstanten eine der ersten speziellen Reihen der zweiten Dimension zugewiesen, um eine eindeutige Zuordnung der in der Tabelle erfassten Größen zu den Konstanten (wie im übrigen auch den Verknüpfungen) herstellen zu können.
Auf diese Weise ist es möglich, bei späterer Umsetzung der Konstanten in einem Zielprogrammcode eine korrekte Konstan­ tendefinition und damit korrekte Interpretation eines zur Konstanten gehörigen Werts zu ermöglichen.
Zur exakten Angabe von Konstanten gehört, sofern das anhand des vorliegenden Programmcodes möglich ist, sinnvollerweise auch deren Wert bzw., sofern vorhanden, eine Berechnungsweise der Konstanten.
Unter einer Berechnungsweise einer Konstanten wird dabei ein Programmcode verstanden, durch dessen Abarbeitung während des Programmlaufs der einer Konstanten zuzuweisende Wert ermit­ telt wird. Die Berechnung einer Konstanten ist lediglich eine komplexere Weise, der Konstanten einen Wert zuzuweisen.
Daher ist das Verfahren vorzugsweise auch darauf gerichtet, daß zusätzlich einen Wert oder eine Berechnungsweise der zu­ mindest einen identifizierten Konstanten und/oder externen Konstanten festgestellt wird; zumindest einer vierten spezi­ ellen Reihe der ersten Dimension die Angabe des Werts oder der Berechnungsweise der zumindest einen Konstanten zugewie­ sen wird, und jeweils in diejenigen Zellen, die am Kreuzungs­ punkt der zumindest einen vierten speziellen Reihe und den ersten speziellen Reihen der zweiten Dimension mit Bezeich­ nungen der zumindest einen identifizierten Konstanten liegen, der Wert oder die Berechnungsweise der zumindest einen iden­ tifizierten Konstanten eingesetzt wird. Auch hier kann der Umfang der Zwischenformattabelle vorteilhafterweise dadurch begrenzt werden, daß die zumindest eine vierte spezielle Rei­ he zugleich die zumindest eine erste spezielle Reihe (der er­ sten Dimension) ist.
Alternativ können die Angaben über Wert oder Berechnungsweise einer Konstanten auch am Kreuzungspunkt der, der Konstanten zugewiesenen, ersten speziellen Reihe mit einer der Reihen der ersten Dimension mit Bezeichnungen für die identifizier­ ten Objekte eingesetzt werden. Auf diese Weise kann eine bes­ sere Zuordnung von Konstanten erzielt werden, die nicht in einem allgemeinen Teil des Quellprogrammcodes definiert wor­ den sind, sondern die in einem bestimmten Programmcodeobjekt definiert werden. Auf diese Weise bleibt die Zuordnung einer Konstanten zu einem Programmcodeobjekt, in dem sie definiert worden ist, erhalten.
Neben den Konstanten können auch die identifizierten Verknüp­ fungen einen Wert oder eine Berechnungsweise aufweisen, die diesen am Anfang eines Programmlaufs zugewiesen wird. Daher ist das erfindungsgemäße Verfahren vorzugsweise dadurch ge­ kennzeichnet, daß zusätzlich ein Wert oder eine Berechnungs­ weise der zumindest einen identifizierten Verknüpfung festge­ stellt wird;
zumindest einer fünften speziellen Reihe der ersten Dimension die Angabe des Werts oder der Berechnungsweise der zumindest einen identifizierten Verknüpfung zugewiesen wird; und
wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt der zumindest einen fünften speziellen Reihe und einer der Reihen der zweiten Dimension mit der Bezeichnung einer identifizier­ ten internen Verknüpfung und/oder der Reihen der zweiten Di­ mension mit der Bezeichnung einer identifizierten externen Verknüpfung liegen, der Wert oder die Berechnungsweise der zumindest einen identifizierten Verknüpfung eingesetzt wird.
Im erfindungsgemäßen Verfahren, wie es bislang definiert und skizziert worden ist, sind Objekten, Verknüpfungen, Konstan­ ten und Schnittstellen Bezeichnungen zugewiesen worden und diese sind teilweise auch in Zellen eingesetzt worden, ohne daß angegeben worden ist, wie die Bezeichnungen generiert werden.
Es ist möglich, daß die Bezeichnungen vom eine Umsetzung vor­ nehmenden Programm automatisch nach internen Kriterien zuge­ wiesen werden.
Bevorzugt ist allerdings ein Verfahren, das den weiteren Schritt aufweist:
Identifizieren der Originalbezeichnungen, welche das zumin­ dest eine Objekt, die zumindest eine Verknüpfung und/oder die zumindest eine Konstante im Quellprogrammcode aufweisen, wo­ bei speziellen Titelreihen Angaben über die identifizierten Originalbezeichnungen zugewiesen werden, und die Originalbe­ zeichnungen in Zellen der Titelreihen eingesetzt werden.
Dieses Einsetzen erfolgt sinnvollerweise natürlich so, daß es jeweils in die Zellen erfolgt, die am Kreuzungspunkt der Ti­ telreihen mit den Objekt-, Verknüpfungs- oder Konstantenrei­ hen, die zu dem jeweils bezeichnenden Objekt gehören, er­ folgt.
Die Zellen mit den Bezeichnungen der internen Schnittstellen bzw. der externen Schnittstellen können über eine einfache, namentliche Identifizierung der Schnittstelle hinaus auch weitere Informationen über die Schnittstelle enthalten.
Die Bezeichnungen der zumindest einen Schnittstelle können dementsprechend zusammengesetzt sein aus einem Identifizierer für die jeweilige Schnittstelle und aus zumindest einer Anga­ be, die ausgewählt ist aus einer Kennzeichnung des Modus der Schnittstelle, des Datentyps der Schnittstelle, eines Vorga­ bewerts und der Angabe einer auf die Schnittstelle anzuwen­ denden Datentypkonvertierungsfunktion. Auf diese Weise lassen sich zusätzlich zur namentlichen Identifizierung auch gleich weitere Informationen über die Schnittstelle der Zwischenfor­ mattabelle entnehmen.
Unter einem Identifizierer ist hier eine namentliche Kenn­ zeichnung der Schnittstelle, beispielsweise ein willkürlich zugewiesener Name, eine Nummer oder eine andere, zur Unter­ scheidung von anderen Schnittstellen geeignete Namensgebung zu verstehen.
Der Modus einer Schnittstelle ist, wie oben definiert, eine Kennzeichnung des Verhaltens der Schnittstelle bezüglich Ein- und Ausgang von Signalen bzw. Daten. Eine Schnittstelle kann hierbei einen Modus aufweisen, der sie zur Ausgangs-, zur Eingangsschnittstelle, zu einer bidirektionalen Schnittstelle oder zu einer Schnittstelle unbestimmter Flußrichtung macht.
Der Datentyp der Schnittstelle kann mit Bezug auf das oben Gesagte beispielsweise ein Binärwert, eine Integerzahl o. ä. sein.
Ein Vorgabewert ist ein Wert, den eine Schnittstelle annehmen soll, wenn kein anderer Wert definiert worden ist und das Programm sich im Ausgangszustand befindet.
Eine Datentypkonvertierungsfunktion wird benötigt, wenn zwei Schnittstellen miteinander verknüpft werden sollen, deren Da­ tentypen voneinander abweichen. In einem solchen Fall verwan­ delt die Datentypkonvertierungsfunktion das Datum der Aus­ gangsschnittstelle in ein Datum, das dem vom Datentyp der Eingangsschnittstelle entspricht.
Die zusätzlich in der Bezeichnung der Schnittstellen angebba­ ren Informationen können einzeln oder zu mehreren angegeben werden, wobei die einzelnen Angaben voneinander durch bei­ spielsweise Kommata oder andere Trennzeichen voneinander ge­ trennt werden können oder indem die Repräsentation der Anga­ ben in einer anderen, für die automatische Verarbeitung ge­ eigneter Form erfolgt.
Entsprechend wie für Objekte, Verknüpfungen oder Konstanten kann das erfindungsgemäße Verfahren auch den weiteren Schritt aufweisen:
Identifizieren der Originalbezeichnungen, welche die zumin­ dest eine Schnittstelle im Quellprogrammcode aufweist;
Verwenden der Originalbezeichnungen als Identifizierer.
Das erfindungsgemäße Verfahren eignet sich grundsätzlich zur Umsetzung eines beliebigen Quellprogrammcodes in eine Zwi­ schenformattabelle. Besonders bevorzugt ist jedoch der Quell­ programmcode einer Hardware-Beschreibungssprache, insbesonde­ re bei solchen Hardware-Beschreibungssprachen, bei denen die Schnittstellendefinitionen als ein eigenständiger Pro­ grammcode ausgeführt sind. Bei herkömmlichen Programmierspra­ chen oder bei Hardware-Beschreibungssprachen, bei denen eine solche Trennung nicht erfolgt, ist die Anwendung des erfin­ dungsgemäßen Verfahrens grundsätzlich möglich. Es wächst je­ doch der Komplexitätsgrad bei der Analyse des Quellpro­ grammcodes. Demgemäß ist ein Objekt vorzugsweise eine Schnittstelleninstanz eines elektronischen Bauteils, das die­ ses repräsentiert. Weiterhin repräsentiert die zumindest eine interne Verknüpfung ein Signal, das zwischen zwei elektroni­ schen Bauteilen gegeben wird. Die zumindest eine externe Ver­ knüpfung kann vorzugsweise einen sogenannten Port repräsen­ tieren.
Das bislang beschriebene Verfahren zur Umsetzung von Schnitt­ stellendefinitionen führt zu einer Zwischenformattabelle, welche in der Regel lediglich Informationen über eine Ebene eines Quellprogrammcodes enthalten kann, das heißt über ein­ ander nebengeordnete Objekte, die beispielsweise als neben­ läufige Prozesse in einer Hardwaresimulation virtuell gleich­ zeitig ausgeführt werden. Ein Quellprogrammcode kann jedoch auch einen höheren Komplexitätsgrad erreichen, indem mittels Verzweigungen oder anderer Referenzen der Code verschachtelt, beziehungsweise in verschiedene Ebenen gegliedert worden ist. Ein bereits genanntes Beispiel ist die Referenz auf Daten­ typkonvertierungsfunktionen als Teil der Bezeichnung von Schnittstellen, die bereits auf Programmcode außerhalb der eigentlichen Schnittstellendefinition verweisen kann. Des weiteren ist es möglich, daß Objekte im Quellprogrammcode wiederum durch Quellprogrammcode definiert worden sind, der separat von diesem gehalten wird.
Um das erfindungsgemäße Verfahren und die resultierenden Zwi­ schenformattabellen auch für solche Verweise zugänglich zu machen, kann das erfindungsgemäße Verfahren vorzugsweise da­ durch gekennzeichnet sein, daß zumindest eines der identifi­ zierten Objekte in sich einen Subquellprogrammcode enthält, der ebenfalls in ein Zwischenformat umgesetzt werden kann, und daß nach erfolgter Umsetzung eines Subquellprogrammcodes in eine Subformattabelle ein Verweis auf die Subformattabelle in eine Zelle der zum umgesetzten Objekt gehörigen Reihe der ersten Dimension eingesetzt wird. Hierfür kann eine beliebige Zelle verwendet werden, der noch keine andere Funktion zuge­ wiesen ist, oder es werden entsprechend in der anderen Dimen­ sion Reihen angehängt, so daß sich weitere Zellen ergeben, die für diesen Zweck genutzt werden können.
Auch kann das erfindungsgemäße Verfahren so modifiziert wer­ den, daß ein Verweis auf zumindest ein als Quellprogrammcode als separate Einheit gespeichertes, identifiziertes Objekt in eine Zelle der zum gespeicherten Objekt gehörenden Reihe der ersten Dimension eingesetzt wird. Hier wird also der Bereich der reinen Schnittstellendefinitionen verlassen, indem ein unmittelbarer Bezug zum Quellprogrammcode hergestellt wird. Dieser Verweis kann nützlich sein, wenn bei der Weiterver­ wandlung in den Zielprogrammcode nicht nur die Schnittstel­ lendefinitionen vom Umformatierungsprogramm umgesetzt werden, sondern auch der die Objekte realisierende Programmcode. In diesem Fall kann das Programm durch die oben angegebenen Ver­ weise einen unmittelbaren Zusammenhang zwischen den Schnitt­ stellendefinitionen eines Objekts und seiner Funktionalität herstellen.
Um die Dimension der Zwischenformattabelle kompakt zu halten, kann es bevorzugt sein, bestimmte Reihen miteinander zu kom­ binieren, so daß anstelle von zwei Reihen nur noch eine ver­ wendet werden muß. Diese Bündelung ist dort möglich, wo je­ weils eine Reihe einer Dimension nur an solchen Zellen Ein­ träge aufweisen, bei denen bei der anderen zu bündelnden Rei­ he keine Zellen mit Werten erscheinen. So bietet es sich bei­ spielsweise an, daß die zumindest eine dritte spezielle Reihe zugleich die zumindest eine zweite spezielle Reihe ist. Es wird in diesem Fall also eine Reihe der ersten Dimension ver­ wendet, um darin unterschiedliche Größen unterzubringen. Dies kann geschehen, indem die Reihe unterteilt wird, so daß bei­ spielsweise zwei verschiedene untereinander stehende Bereiche der Reihe die unterschiedlichen Funktionen erfüllen, bezie­ hungsweise im Falle einer Nebeneinanderreihung der einzelnen Zellen nebeneinanderliegende Bereiche der Reihe. Weitere Bei­ spiele für eine Bündelung sind die Kombination der vierten speziellen Reihe mit der ersten speziellen Reihe oder der vierten speziellen Reihe mit der fünften speziellen Reihe.
Nach erfindungsgemäßer Umsetzung der Schnittstellendefinitio­ nen eines Quellprogrammcodes in eine Zwischenformattabelle liegt eine solche Tabelle in der Rechenanlage vor, die nach Ausdruck oder durch Anzeige an einem Datensichtgerät einfach zu lesen, visuell zu inspizieren, gegebenenfalls durch Ein­ griff eines Programmierers händisch korrigier- oder abänder­ bar ist und die erfindungsgemäß als Ausgangsbasis für eine Schnittstellendefinition eines Zielprogrammcodes dienen kann. Bezüglich der Vorteile, Effekte und Aspekte des Verfahrens zur Umsetzung einer Zwischenformattabelle in einen Zielpro­ grammcode wird auf das oben Gesagte verwiesen und vollinhalt­ lich Bezug genommen.
Demgemäß ist die Erfindung ebenfalls gerichtet auf ein Ver­ fahren zur Umsetzung von Schnittstellendefinitionen aus einer solchen zumindest zweidimensionalen Zwischenformattabelle mit in einer ersten Dimension angeordneten ersten Reihen, in ei­ ner zweiten Dimension angeordneten zweiten Reihen und Zellen an den Kreuzungspunkten der ersten und zweiten Reihen, bei der Reihen der ersten Dimension Bezeichnungen für zumindest ein Objekt zugewiesen sind, bei der Reihen der zweiten Dimen­ sion Bezeichnungen für zumindest eine interne Verknüpfung zwischen den Objekten und/oder zumindest eine externe Ver­ knüpfung eines Objekts zugewiesen sind, und bei der jeweils in diejenigen Zellen, die am Kreuzungspunkt einer der Reihen der ersten Dimension mit der Bezeichnung eines Objekt und ei­ ner der Reihen der zweiten Dimension mit der Bezeichnung ei­ ner internen Verknüpfung liegen, Bezeichnungen für eine zu sowohl dem jeweiligen Objekt als auch der Verknüpfung gehöri­ gen internen Ausgangsschnittstelle und/oder internen Ein­ gangsschnittstelle eingesetzt sind und/oder bei der jeweils in diejenigen Zellen, die am Kreuzungspunkt einer der Reihen der ersten Dimension mit der Bezeichnung eines Objekts und einer der Reihen der zweiten Dimension mit der Bezeichnung einer externen Verknüpfung liegen, Bezeichnungen für die zu sowohl dem jeweiligen Objekt als auch der externen Verknüp­ fung gehörigen externen Ausgangsschnittstelle und/oder exter­ nen Eingangsschnittstelle eingesetzt sind, mittels einer das Verfahren ausführenden Rechenanlage in einen Zielprogrammcode mit den nachfolgend beschriebenen Schritten.
Durch die obige Definition wird eine elementare Zwischenfor­ mattabelle spezifiziert. Dieses erfindungsgemäße Verfahren weist folgende Schritte auf:
Erstellen von zumindest einem Programmcode-Objekt anhand der in der Zwischenformattabelle enthaltenen Informationen über das zumindest eine Objekt;
Zuweisen von zugehörigen internen Ausgangsschnittstellen und/oder internen Eingangsschnittstellen zu ihren Pro­ grammcode-Objekten;
Erstellen zumindest einer Verknüpfung zwischen Programmcode- Objekten anhand der in der Zwischenformattabelle enthaltenen Informationen über die internen Verknüpfungen der internen Eingangsschnittstellen und internen Ausgangsschnittstellen; und/oder
Zuweisen von zugehörigen externen Ausgangsschnittstellen und/oder externen Eingangsschnittstellen zu ihren Pro­ grammcode-Objekten.
Unter einem Programmcode-Objekt im Sinne der vorliegenden Er­ findung ist ein Objekt, geschrieben in einem Programmcode, zu verstehen, das als Teil des Zielprogrammcodes durch das er­ findungsgemäße Verfahren generiert wird.
Wie schon beim erfindungsgemäßen Verfahren zur Umsetzung von Schnittstellendefinitionen im Rahmen von Quellprogrammcodes in ein Zwischenformat ist auch bei diesem erfindungsgemäßen Verfahren dem Fachmann geläufig, wie er die in der Zwischen­ formattabelle enthaltenen Informationen so exzerpieren kann, daß ein Umsetzen in einen Zielprogrammcode möglich ist.
Beispielsweise kann das dafür geeignete automatische Programm zunächst in den Reihen der ersten Dimension anhand der vorge­ gebenen Bezeichnungen die einzelnen definierten Objekte er­ mitteln und dann innerhalb der Reihen Konstanten sowie inter­ ne und externe Verknüpfungen ermitteln und diesen die an den Kreuzungspunkten genannten Schnittstellen zuweisen.
Vorzugsweise ist zumindest einer zweiten speziellen Reihe der ersten Dimension der Zwischenformattabelle eine Angabe der Datentypen der zumindest einen Schnittstelle zugewiesen und sind jeweils in diejenigen Zellen, die am Kreuzungspunkt der zweiten speziellen Reihe und Reihen der zweiten Dimension mit den Bezeichnungen der zumindest einen Verknüpfung liegen, Be­ zeichnungen für die zur zumindest einen Verknüpfung gehörigen Datentypen eingesetzt sind, wobei diese Weiterentwicklung den weiteren Schritt aufweist: Definieren der Datentypen der dem zumindest einen Programmcode-Objekt zugewiesenen zu der zu­ mindest einen Verknüpfung gehörigen zumindest einen Schnitt­ stelle.
Wie oben erläutert, ist unter einer Schnittstellendefinition im Sinne der vorliegenden Erfindung auch die Definition von Konstanten, die von verschiedenen Objekten verwendet werden, zu verstehen. Daher kann das erfindungsgemäße Verfahren vor­ zugsweise dadurch gekennzeichnet sein, daß zumindest einer dritten speziellen Reihe der ersten Dimension der Zwischen­ formattabelle eine Angabe der Datentypen von zumindest einer Konstanten in zumindest einem Objekt und/oder zumindest einer externen Konstanten, die von allen Objekten verwendbar ist, zugewiesen ist, zumindest einer ersten speziellen Reihe der zweiten Dimension Bezeichnungen der zumindest einen Konstan­ ten und/oder zumindest einen externen Konstanten zugewiesen sind und jeweils in diejenigen Zellen, die am Kreuzungspunkt der zumindest einen dritten speziellen Reihe und der zumin­ dest einen ersten speziellen Reihe der zweiten Dimension mit Bezeichnungen der zumindest einen Konstanten liegen, Bezeich­ nungen für die zu der zumindest einen Konstanten gehörigen Datentypen eingesetzt werden; mit dem weiteren Schritt: Defi­ nieren von zumindest einer internen Konstante und/oder von zumindest einer externen Konstante in dem zumindest einen Programmcode-Objekt und/oder in einem allgemeinen Teil des Zielprogrammcodes.
Weiterhin können zumindest einer vierten speziellen Reihe der ersten Dimension der Zwischenformattabelle Angaben über einen Wert oder eine Berechnungsweise der zumindest einen internen Konstanten und/oder der zumindest einen externen Konstanten zugewiesen sein und jeweils in diejenigen Zellen, die am Kreuzungspunkt der vierten speziellen Reihe mit den ersten speziellen Reihen der zweiten Dimension mit Bezeichnungen der zumindest einen Konstanten liegen, der Wert oder die Berech­ nungsweise der zumindest einen Konstanten eingesetzt sein, wobei diese Weiterentwicklung den weiteren Schritt aufweist: Zuweisen des Werts oder der Berechnungsweise der zumindest einen Konstanten zu der zumindest einen im Programmcode defi­ nierten Konstanten.
Das erfindungsgemäße Verfahren kann weiterhin dadurch gekenn­ zeichnet sein, daß zumindest einer fünften speziellen Reihe der ersten Dimension der Zwischenformattabelle eine Angabe über den Wert oder die Berechnungsweise der zumindest einen Verknüpfung zugewiesen ist; und jeweils in diejenigen Zellen, die am Kreuzungspunkt der zumindest einen fünften speziellen Reihe und einer der Reihen der zweiten Dimension mit der Be­ zeichnung einer internen Verknüpfung und/oder der Reihen der zweiten Dimension mit der Bezeichnung einer externen Verknüp­ fung liegen, der Wert oder die Berechnungsweise der zumindest einen Verknüpfung eingesetzt ist;
mit dem weiteren Schritt:
  • - Zuweisen des Werts oder der Berechnungsweise der zumindest einen Verknüpfung zu der im Zielprogrammcode erstellten Ver­ knüpfung.
Weiterhin können vorzugsweise speziellen Titelreihen der Zwi­ schenformattabelle Angaben über die Bezeichnungen des zumin­ dest einen Objekts der zumindest einen Verknüpfung und/oder der zumindest einen Konstanten zugewiesen sein, wobei die Be­ zeichnungen in Zellen der Titelreihen eingesetzt sind und das Verfahren den weiteren Schritt aufweist: Benennen des zumin­ dest einen Programmcode-Objekts, der zumindest einen Verknüp­ fung und/oder der zumindest einen Konstanten anhand der Be­ zeichnungen in den Zellen der Titelreihen der Zwischenfor­ mattabelle.
Somit erhalten die entsprechenden Objekte, Verknüpfungen und/oder Konstanten im Zielprogrammcode die gleichen Bezeich­ nungen, die sie bereits im Quellprogrammcode vor Umsetzung in eine Zwischenformattabelle hatten.
Das erfindungsgemäße Verfahren kann weiterhin dadurch gekenn­ zeichnet sein, daß zumindest in eine Zelle einer zu einem Ob­ jekt gehörenden Reihe der ersten Dimension ein Verweis auf eine Subformattabelle eingesetzt ist, mit dem weiteren Schritt: Verbinden des aus dem Objekt erzeugten Programmcode- Objekts mit aus der Subformattabelle erzeugten Subpro­ grammcode.
Das Verfahren kann auch dadurch gekennzeichnet sein, daß zu­ mindest in eine Zelle der zu einem Objekt gehörenden Reihe der ersten Dimension ein Verweis auf als separate Einheit ge­ speicherten Quellprogrammcode eingesetzt ist, mit dem weite­ ren Schritt: Verbinden des aus dem zumindest einen Objekt er­ zeugten Programmcodeobjekts mit dem als separate Einheit ge­ speicherten Quellprogrammcode.
Wie bereits in Bezug auf das Verfahren zur Umsetzung von Pro­ grammcode in eine Zwischenformattabelle ausgeführt, kann es sinnvoll sein, um die Dimension der Zwischenformattabelle kompakt zu halten, bestimmte Reihen miteinander zu kombinie­ ren, so daß anstelle von zwei Reihen nur noch eine verwendet werden muß. Auch diese Bündelung kann bei der Umsetzung in einen Zielprogrammcode berücksichtigt werden.
Zur vorliegenden Erfindung gehören nicht nur die Verfahren zur Umsetzung von Programmcode, sondern auch die spezifische Ausgestaltung der Zwischenformattabelle. Beispielsweise ent­ halten die Reihen der Tabelle alle Signale und Konstanten der Architektur und alle Ports und Generics der Entity, sofern es sich um Repräsentationen in einer Hardware- Beschreibungssprache handelt. In den Reihen der verbleibenden Dimension sind die nebenläufigen Statements, wie beispiels­ weise Komponenten-Instantiation, Prozeß, konkurrierende Si­ gnalzuweisung etc. aufgelistet. Die Zwischenformattabelle zeigt übersichtlich, welche Komponenten mit welchen Signalen von welchem Typ verbunden sind und wie die Signalflußrichtung ist. Andererseits kann mit einem Blick festgestellt werden, welche Komponente mit einem bestimmten Signal verbunden ist, das heißt wer das Signal generiert und wer es einliest. Be­ züglich der Vorteile, Effekte und Aspekte der Zwischenfor­ mattabelle der vorliegenden Erfindung wird auf das oben ge­ sagte verwiesen und vollinhaltlich Bezug genommen.
Demzufolge ist die Erfindung auch gerichtet auf eine Zwi­ schenformattabelle zur Speicherung von in einem Programmcode enthaltenen Schnittstelleninformationen in einer Rechenanlage mit zumindest zwei Dimensionen; mit in einer ersten Dimension angeordneten Reihen, in einem zweiten Dimension angeordneten Reihen und Zellen an den Kreuzungspunkten; wobei Reihen der ersten Dimension Bezeichnungen für zumindest ein Objekt in dem Programmcode zugewiesen sind, wobei Reihen der zweiten Dimension Bezeichnungen für zumindest eine interne Verknüp­ fung zwischen Objekten und/oder Bezeichnungen für zumindest eine externe Verknüpfung des Programmcodes zugewiesen sind und wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt einer der Reihen der ersten Dimension mit der Bezeichnung ei­ nes Objekts und einer der Reihen der zweiten Dimension mit der Bezeichnung einer internen Verknüpfung liegen, Bezeich­ nungen für eine zu sowohl dem jeweiligen Objekt als auch der internen Verknüpfung gehörigen Ausgangsschnittstelle und/oder Eingangsschnittstelle eingesetzt sind und/oder jeweils in diejenigen Zellen, die am Kreuzungspunkt einer der Reihen der ersten Dimension mit der Bezeichnung eines Objekts und einer der Reihen der zweiten Dimension mit der Bezeichnung einer externen Verknüpfung liegen, Bezeichnungen für die zu sowohl dem jeweiligen Objekt als auch der externen Verknüpfung gehö­ rigen Ausgangsschnittstelle und/oder Eingangsschnittstelle eingesetzt sind.
Vorzugsweise ist eine erste spezielle Reihe der ersten Dimen­ sion zur Angabe des Modus einer externen Schnittstelle bei der zumindest einen externen Verknüpfung verwendet. Dabei sind jeweils in diejenigen Zellen, die am Kreuzungspunkt der ersten speziellen Reihe der ersten Dimension und der Reihen der zweiten Dimension mit den Bezeichnungen der zumindest ei­ nen externen Verknüpfung liegen, Angaben über den Modus der externen Schnittstelle bei der zumindest einen externen Ver­ knüpfung eingesetzt. Wie bereits oben gilt auch hier, daß ei­ ne Schnittstelle eine Eingangs-, eine Ausgangsschnittstelle, eine bidirektionale Schnittstelle oder eine Schnittstelle un­ bestimmter Flußrichtung sein kann.
Weiterhin kann in der Zwischenformattabelle zumindest einer zweiten speziellen Reihe der ersten Dimension eine Angabe der Datentypen der zumindest einen Schnittstelle zugewiesen sein und jeweils in diejenigen Zellen, die am Kreuzungspunkt der zweiten speziellen Reihe und der Reihen der zweiten Dimension mit den Bezeichnungen der zumindest einen Verknüpfung liegen, Bezeichnungen für die zu der zumindest einen Verknüpfung ge­ hörigen Datentypen eingesetzt sein. Unter einer Verknüpfung sind hier sowohl interne als auch externe Verknüpfungen sub­ sumiert.
Weiterhin enthält die Zwischenformattabelle vorzugsweise zu­ mindest eine dritte spezielle Reihe der ersten Dimension, der eine Angabe der Datentypen zumindest einer internen Konstan­ ten und/oder zumindest einer externen Konstanten aus dem Pro­ grammcode zugewiesen ist, erste spezielle Reihen der zweiten Dimension, der Bezeichnungen der zumindest einen internen Konstanten und/oder der zumindest einen externen Konstanten zugewiesen sind, wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt der dritten speziellen Reihe und der ersten speziellen Reihen der zweiten Dimension mit Bezeichnungen der zumindest einen Konstanten liegen, Bezeichnungen für die zu der zumindest einen Konstanten gehörigen Datentypen einge­ setzt sind. Auch hier gilt vorzugsweise, daß die zumindest eine dritte spezielle Reihe zugleich die zumindest eine spe­ zielle zweite Reihe ist.
In der Zwischenformattabelle kann weiterhin zumindest einer vierten speziellen Reihe der ersten Dimension die Angabe ei­ nes Werts oder einer Berechnungsweise der zumindest einen Konstanten zugewiesen sein und können jeweils in die diejeni­ gen Zellen, die am Kreuzungspunkt der zumindest einen vierten speziellen Reihe und der ersten speziellen Reihe der zweiten Dimension mit Bezeichnungen der zumindest einen Konstanten liegen, der Wert oder die Berechnungsweise der zumindest ei­ nen Konstanten eingesetzt sein.
Die erfindungsgemäße Zwischenformattabelle kann dadurch ge­ kennzeichnet sein, daß zumindest einer fünften speziellen Reihe der ersten Dimension die Angabe eines Werts oder einer Berechnungsweise der zumindest einen Verknüpfung zugewiesen ist; und
jeweils in diejenigen Zellen, die am Kreuzungspunkt der zu­ mindest einen fünften speziellen Reihe und einer der Reihen der zweiten Dimension mit der Bezeichnung einer internen Ver­ knüpfung und/oder der Reihen der zweiten Dimension mit der Bezeichnung einer externen Verknüpfung liegen, der Wert oder die Berechnungsweise der zumindest einen Verknüpfung einge­ setzt ist.
Auch für die erfindungsgemäße Zwischenformattabelle gilt, daß speziellen Titelreihen Angaben über die Originalbezeichnungen zugewiesen sein können, welche das zumindest eine Objekt, die zumindest eine Verknüpfung und/oder die zumindest eine Kon­ stante im Programmcode aufweisen, und die Originalbezeichnun­ gen in Zellen der Titelreihen eingesetzt sind.
Unter Programmcode ist hier ein Quellprogrammcode zu verste­ hen, der mit der Zwischenformattabelle dadurch korreliert ist, daß sie aus ihm generiert worden ist. Auch können die Bezeichnungen der zumindest einen Eingangsschnittstelle und/oder der zumindest einen Ausgangsschnittstelle zusammen­ gesetzt sein aus einem Identifizierer für die jeweilige Schnittstelle und aus zumindest einer Angabe, die ausgewählt ist aus einer Kennzeichnung des Modus der Schnittstelle, des Datentyps der Schnittstelle, eines Vorgabewerts und der Anga­ be einer auf die Schnittstelle anzuwendenden Datentypkonver­ tierungsfunktion.
Die erfindungsgemäße Zwischenformattabelle kann weitere In­ formationen enthalten. So ist es üblich, bei Hardwarebe­ schreibungssprachen Kommentare zu verwenden, um Sachverhalte zu erläutern, aber auch, um Analysewerkzeugen oder Synthese­ programmen Anweisungen zu übermitteln die außerhalb des ei­ gentlichen Programmcodes liegen (sog. Pragmas) und für die in der verwendeten Programmiersprache keine Konstrukte vorgese­ hen sind. Auch Informationen über das Zeitverhalten eines Programmes, das ebenfalls nur in Kommentarform im Pro­ grammcode vorkommen kann, kann auf diese Weise mit umgesetzt oder von entsprechenden Werkzeugen verwendet werden. Das die Zwischenformattabelle erzeugende Umsetzungsprogramm kann zu­ dem weitere Informationen hinzufügen, die sich durch die Ana­ lyse des Ausgangsprogrammcodes ergeben haben und die helfen können, Ambiguitäten in der Zwischenformattabelle aufzulösen. Solche und andere Informationen können auch vom Umsetzungs­ programm, welches die Zwischenformattabelle in Programmcode rückverwandelt, als Anweisungen zur Steuerung der Umsetzungs­ abläufe verwendet werden. Auch die Verwendung solcher Infor­ mationen duch einen Anwender ist denkbar. Im folgenden werden alle oben dargestellten Informationen als Annotationen be­ zeichnet.
Die erfindungsgemäße Zwischenformattabelle kann daher dadurch gekennzeichnet sein, daß beliebige Zellen der Zwischenfor­ mattabelle Annotationen enthalten können, welche der Steue­ rung von Programmen zu Analyse der in der Zwischenformatta­ belle enthaltenen Informationen und/oder zur Information ei­ nes Anwenders dienen können.
Die praktische Umsetzung von Annotationen kann dadurch er­ reicht werden, daß zumindest eine weitere Dimension der Zwi­ schenformattabelle den Annotationen zugeordnet ist, wobei Reihen der weiteren Dimension bestimmte Typen von Annotatio­ nen zugewiesen sind und eine einzusetzende Annotation an den Kreuzungspunkten der Reihen der ersten und der zweiten Dimen­ sionen, die für die Annotation maßgeblich sind, mit der Reihe der weiteren Dimension, die dem einzusetzenden Typ von Anno­ tation zugewiesen ist, die Annotation eingesetzt wird.
Die erfindungsgemäße Zwischenformattabelle kann entweder bei ihrer Erzeugung oder im späteren Verlauf der Bearbeitung in vielfältiger Weise modifiziert werden. Zur Steigerung der Übersichtlichkeit können Signale beziehungsweise Verknüpfun­ gen zu Gruppen zusammengefaßt werden, die immer in der glei­ chen Weise an den Schnittstellen der Objekte (z. B. nebenläu­ figen Blöcke) verwendet werden. Für diese Signalgruppen, so­ genannte "bundles" gibt es beispielsweise in einer Hardware- Programmiersprache, wie VHDL, keine Entsprechung, so daß von einer VHDL-Beschreibung entsprechend abstrahiert werden könn­ te. Auch sogenannte Concurrent Statements (die alternativ zum Einsatz kommen) könnten in eine gemeinsame Spalte gruppiert werden. Bei Verwendung von VHDL entspricht dies einem soge­ nannten Block.
Durch interaktives Umsortieren von Reihen der ersten Dimensi­ on und Reihen der zweiten Dimension kann die Nutzbarkeit der Tabelle weiter erhöht werden, beispielsweise können nach der Selektion einer Reihe der zweiten Dimension die zugehörigen Spalten direkt benachbart angeordnet werden, um die Verbin­ dungen des selektierten Objekts besser analysieren zu können. Auch weitere Sortierkriterien sind auf eine erfindungsgemäße Zwischenformattabelle anwendbar, beispielsweise eine alphabe­ tische Anordnung, eine Anordnung, die nach einem Präfix oder einem Postfix sortiert ist, eine Anordnung nach der Betriebs­ art der externen Verknüpfungen, eine Anordnung nach dem ver­ wendeten Datentyp der Verknüpfung oder einer Reihenfolge wie sie im Originalquellprogrammcode vorgekommen ist. Daher ist es möglich, bei der erfindungsgemäßen Tabelle Reihen interak­ tiv ausblenden zu lassen, um die Übersichtlichkeit zu erhö­ hen.
In der Zwischenformattabelle können auch Manipulationen vor­ genommen werden, die zu einer Codetransformation bei der spä­ teren Umsetzung in einen Zielprogrammcode führen würden. Bei­ spiele für solche Transformationen können sein:
Gruppieren, das heißt Erzeugen einer neuen Tabelle mit grup­ pierten Objekten und Zusammenfassung der damit assoziierten Originalreihen zu einer neuen Reihe,
Umgruppieren, das heißt Ersetzen einer Originalreihe durch die Reihen einer weiteren Zwischenformattabelle einer niedrigeren Hierachiestufe, auf die ursprünglich die Originalreihe ver­ wiesen hat.
Im folgenden soll an zwei Beispielen dargelegt werden, wie die Umsetzung von Programmcode in eine Zwischenformattabelle erfolgen kann. Hierbei wird Bezug auf die Zeichnungen genom­ men, in denen folgendes dargestellt ist:
Fig. 1 zeigt eine Ausführungsform der Zwischenformattabelle der vorliegenden Erfindung, die aus einen ersten Bei­ spielprogramm erzeugt worden ist; und
Fig. 2 zeigt eine weitere Ausführungsform der Zwischenfor­ mattabelle der vorliegenden Erfindung, die aus einem zweiten Beispielprogramm erzeugt worden ist.
Das folgende erste, einfache Beispielprogramm:
zeigt zwei Programmobjekte inst_1 und inst_2 vom Typ comp_1 und comp_2 mit je vier Schnittstellen. Die beiden Objekte sind miteinander durch die zwei Verknüpfungen (Signale) si und sb über die Schnittstellen h und i beziehungsweise g und k miteinander verbunden.
Darüber hinaus weist inst_1 noch zwei externe Schnittstellen f und e auf, die von den externen Verknüpfungen b und a be­ dient werden; inst_2 die externe Schnittstelle j der Verknüp­ fung c und l der Verknüpfung d.
Im Beispielprogrammcode werden diese Schnittstellen defi­ niert, zusammen mit ihrer Funktion als Eingangs- oder Aus­ gangsschnittstelle und den bei ihnen verwendeten Datentypen.
Fig. 1 zeigt eine nach Anwendung des erfindungsgemäßen Ver­ fahrens zur Umsetzung von Schnittstellen-Definitionen in ein Zwischenformat sich ergebende Zwischenformattabelle 1. Die beispielhafte Zwischenformattabelle 1 weist eine erste Dimen­ sion in Richtung des Pfeils 2 und eine zweite Dimension in Richtung des Pfeils 3 auf. Zunächst werden zwei Reihen erster Dimension 4 definiert, denen die Bezeichnungen der Objekte inst_1 und inst_2 zugewiesen werden. In der zweiten Dimension 3 werden Reihen zweiter Dimension 5 für interne Verknüpfungen zugewiesen. Nunmehr werden in die sich ergebenden Kreuzungs­ zellen 7 Bezeichnungen 8 für die verschiedenen internen Schnittstellen eingetragen. Zur Verbesserung der Übersicht­ lichkeit können den Reihen der ersten und zweiten Dimension außerdem Bezeichnungen explizit beigeordnet werden. Dies ge­ schieht mit Hilfe von Titelreihen 24 beziehungsweise 25. In Titelreihe 24 werden in dafür vorgesehene Zellen für die Be­ zeichnung eines Objekts 29 Bezeichnungen für die Objekte 26 eingetragen. In der Titelreihe 25 werden in dafür vorgesehen Zellen für Bezeichnungen einer internen Verknüpfung 31 diese Bezeichnungen für interne Verknüpfungen 28 eingetragen. Wie ersichtlich ist, sind in die Zellen 7 Bezeichnungen 8 einge­ tragen, die einen Identifizierer 32 einer internen Schnitt­ stelle enthalten, nämlich deren Originalbezeichnung im Bei­ spielprogrammcode sowie eine Kennzeichnung, ob es sich um ei­ ne Ausgangsschnittstelle (out) oder eine Eingangsschnittstel­ le (in) handelt. Weiter sind in der Tabelle Reihen zweiter Dimension 6 für externe Verknüpfungen vorgesehen. An den Kreuzungspunkten dieser Reihen 6 mit den Reihen der ersten Dimension 4 werden die für externe Verknüpfungen verwendeten Schnittstellen mit ihren Bezeichnungen 10 in Zellen 9 einge­ tragen. Auch hier besteht die Bezeichnung aus einem Identifi­ zierer 33 sowie einer Angabe über den Character der Schnitt­ stellen als Ein- oder Ausgabeschnittstellen. In die Titelrei­ hen 25 werden die Originalbezeichnungen 27 der externen Ver­ knüpfungen in Zellen 30 eingetragen. Zusätzlich sind in einer ersten speziellen Reihe 11 an den Kreuzungspunkten mit den Reihen der zweiten Dimension für externe Verknüpfungen 12 An­ gaben für das Vorliegen einer Eingangsschnittstelle oder ei­ ner Ausgangsschnittstelle bei den externen Verknüpfungen ein­ getragen.
In der Beispielzwischenformattabelle 1 sind auch die Datenty­ pen der Verknüpfungen angegeben. Hierzu wird eine zweite spe­ zielle Reihe 14 verwendet, in deren Zellen 15 an den Kreu­ zungspunkten zu den Reihen zweiter Dimension für externe Ver­ knüpfungen 6, aber auch zu den Reihen zweiter Dimension für interne Verknüpfungen 5 jeweils eine Angabe 16 darüber ge­ macht ist, von welchem Datentyp die jeweilige Verknüpfung ist. Hierfür werden die in der Datenverarbeitung üblichen Be­ griffe, wie bit, integer, boolean, etc. verwendet.
Der obere Bereich dieser zweidimensionalen Zwischenformatta­ belle 1 ist der Angabe von Konstanten des Beispielspro­ grammcodes vorbehalten. Da im angegebenen Beispielpro­ grammcode keine Konstanten definiert sind, werden hier ledig­ lich zur Verdeutlichung die Buchstaben x und y eingesetzt. Zur Angabe der Konstanten werden erste spezielle Reihen der zweiten Dimension 18 sowie für die Angabe des Datentype eine dritte spezielle Reihe 17 in der ersten Dimension und für die Angabe des Werts der Konstanten eine vierte spezielle Reihe 21 der ersten Dimension verwendet. In die Kreuzungspunktzel­ len 19 der dritten speziellen Reihen 17 und der speziellen Reihen der zweiten Dimension 18 werden die Werte für externe (oben) und interne (unten) Konstanten x eingetragen, wie mit dem Bezugszeichen 20 kenntlich gemacht. Die Werte der vorhan­ dene Konstanten werden in Zellen 22 als y (23) an den Kreu­ zungspunkten zwischen der vierten speziellen Reihe und den ersten speziellen Reihen der zweiten Dimension 18 eingetra­ gen.
Das folgende zweite Beispielprogramm ist eine erweiterte Fas­ sung des ersten Beispielprogramms.
Hier werden verschiedene Konstanten im allgemeinen Teil des Programms und bei den einzelnen Programmobjekten definiert.
Außerdem wird neben den beiden Objekten inst_1 und inst_2 als Komponentenrepräsentanten auch ein weiteres Objekt p0 ange­ legt. Schließlich ist ebenfalls eine Datenkonvertierungsfunk­ tion boolean2bit vorgesehen, welche die Eingangsdaten auf der externen Schnittstelle "j" umwandelt.
Fig. 2 zeigt eine Zwischenformattabelle gemäß einer weiteren Ausführungsform der vorliegenden Erfindung, bei der ein ge­ genüber der Tabelle der Fig. 1 abweichendes Darstellungsfor­ mat verwendet wurde. Die für Fig. 1 verwendeten Bezugszei­ chen werden auch bezüglich Fig. 2 mit gleichen Bedeutungen verwendet.
Insbesondere die Bündelung von speziellen Reihen der ersten Dimension ist hier anders durchgeführt worden. Die Tabelle ist weniger kompakt als die in Fig. 1 dargestellte.
In Fig. 2 sind nicht nur Werte 23 der Konstanten und Berech­ nungsweise 35 der Konstante ci in einer vierten speziellen Reihe 21 eingesetzt worden, sondern auch die Werte 36 von Schnittstellen in einer fünften speziellen Reihe 34. Die vierte spezielle Reihe 21 ist hierbei zugleich die fünfte spezielle Reihe 34.
Die in diesem Beispiel vorhandenen Konstanten werden mit ih­ ren Bezeichnungen 38 in dafür vorgesehene Zellen 37 der spe­ ziellen Reihen 18 der zweiten Dimension 3, welche an der Kreuzung zur Titelreihe 25 liegen, eingesetzt. Eine externe Konstante x, welche erst innerhalb einer Komponentendeklara­ tion deklariert (und sofort mit dem Wert "4" definiert) wird, wird mit ihrer Bezeichnung 40 in die Zelle am Kreuzungspunkt der Reihe 4 der ersten Dimension, welche dem Objekt zugewie­ sen ist, innerhalb dessen die Konstante x deklariert worden ist, mit einer der speziellen Reihen der zweiten Dimension, eingesetzt. Da in diesem Fall keine namentlich bezeichnete externe Konstante für den gesamten Programmcode angegeben ist, verbleibt der Eintrag in der zuständigen Zelle 37 leer.
Eine weitere externe Konstante z wird ebenfalls mit ihrer Be­ zeichnung 40 in eine Zelle 39 eingesetzt. Im Unterschied zur Konstanten x wird hier jedoch im Programmcode ein "Mapping" vorgenommen, das der Konstanten z die Konstante y zuweist. Daher wird die Konstante z in die gleiche spezielle Reihe 18 der zweiten Dimension eingesetzt, die auch der Konstanten y zugewiesen ist.
Weiterhin ist in diesem Beipiel ein Objekt p0 definiert wor­ den, welches eine Manipulation an der Verknüpfung si_2 vor­ nimmt, die sich aus si_1 ableitet (siehe obigen 2. Pro­ grammcode). Auch für dieses Objekt ist eine Reihe 4 vorgese­ hen, in der die Verwendung der Konstanten ci als Bezeichnung 40 sowie die Verbindung des Objekts p0 mit den Signalen si_1 als eine Schnittstellenangabe mit der Bezeichnung 41 und si_2 als eine Berechnungsvorschrift mit der Bezeichnung 43.
Eine der Bezeichnungen der Schnittstellen, gekennzeichnet mit dem Bezugszeichen 42, zeigt eine komplexere Struktur als die anderen Bezeichnungen 8, 41, da in dieser zusätzlich zum Identifizierer der Schnittstelle und der Datenflußrichtung auch eine Angabe zum Datentyp (hier "bit") und zur anzuwen­ denden Datentypkonvertierungsfunktion gemacht ist.
Insgesamt ergibt sich in beiden Beispielen eine sehr über­ sichtlich gestaltete Zwischenformattabelle 1, die von einem automatischen Umsetzungsprogramm in leichter Art und Weise in Schnittstellendefinitionen eines Zielprogrammcodes umgewan­ delt werden und auch der manuellen Nachbearbeitung durch ei­ nen Programmierer/Modellierer oder Hardware-, beziehungsweise Software-Ingenieur zugänglich gemacht werden kann.
Beispielsweise kann durch Entfernen und Hinzufügen von Tabel­ leneinträgen die gewünschte Verbindungsstruktur hergestellt werden. Die Schnittstellen der aktuellen Hierarchiestufe kön­ nen durch Deklaration von Reihen zu Port-Signalen spezifi­ ziert werden. Eine Erstellung oder Modifikation konkurrieren­ der Objekte kann nach Selektion der entsprechenden Reihe in einem separaten Texteditor erfolgen.
Die erfindungsgemäße Zwischenformattabelle kann auch als sol­ che verwendet werden, um eine Schaltungsplanung durchzufüh­ ren, die später zu einem Programmcode führen kann (sogenann­ ter Top-Down-Entwurf). Hierbei können zunächst leere Kompo­ nenten durch Einfügen von Reihen, beispielsweise von Spalten generiert werden. Anschließend werden die Verknüpfungen de­ klariert. Durch Einfügen von Tabelleneinträgen können nun einfache Verknüpfungen zwischen den nebenläufigen Objekten hergestellt werden, wobei die Schnittstellen der Objekte au­ tomatisch generiert werden können. Nachdem das Top-Level ei­ nes Designs, beispielsweise eines Hardware-Designs, fertigge­ stellt ist, können die Teilkomponenten weiter verfeinert wer­ den. Dazu kann eine Tabelle, die bereits alle Schnittstellen­ signale enthält, automatisch bereit gestellt werden.
Die Einführung einer Zwischenformattabelle und die erfin­ dungsgemäßen Verfahren zur Umsetzung ermöglichen in deutlich vereinfachter Weise die Umwandlung eines Quellprogrammcodes in einem Zielprogrammcode, verringern die Zahlen notwendiger Umsetzungsprogramme und geben in Form der Zwischenformatta­ belle eine übersichtliche Kontrollmöglichkeit über den Umset­ zungsvorgang. Es ist sogar möglich, nach Umsetzung eines Quellprogrammcodes einer bestimmten Programmiersprache, bei­ spielsweise VHDL, unmittelbar an der Zwischenformattabelle Modifikationen des gewünschten Designs vorzunehmen, um diese wieder in die ursprüngliche Programmiersprache, beispielswei­ se VHDL, zurück zu übersetzen und dadurch ohne Manipulationen am Ausgangsprogrammcode ein verändertes Design zu erhalten. Hierdurch kann also ein Editieren des Programms erreicht wer­ den, ohne notwendigerweise Detailkenntnisse der jeweils ver­ wendeten Programmiersprache zu haben. Gegenüber einer Notati­ on in einer Hardware-Beschreibungssprache sind die einzelnen Informationen zu einem Design nicht über weite Teile des Code verstreut, sondern liegen in der Zwischenformattabelle in ei­ ner übersichtlichen und kompakten Form vor.
Als Erweiterung der vorgeschlagenen Zwischenformattabelle könnten auch VHDL Generate Statements unterstützt werden, in­ dem diese als spezielle Attributfelder den entsprechenden Reihen erster Dimension zugeordnet werden. Bei Nicht- Hardware-Beschreibungssprachen ergibt sich ebenfalls ein wei­ tes Benutzungsfeld, bei dem variable Konstanten und Unterpro­ gramme umgesetzt werden können. Damit wird eine Partizipie­ rung einer sequentiellen Beschreibung in nebenläufige Prozes­ se erleichtert, wie in Echtzeitumgebungen, Multitasking- Betriebssystemen und bei "multithreaded" graphischen Benut­ zeroberflächen vorkommen. Zudem können Daten, die nur ge­ schrieben und niemals gelesen werden, leicht identifiziert und gegebenenfalls aus der Datenstruktur entfernt werden. Insgesamt erleichtern die vorgeschlagenen Verfahren und die Zwischenformattabelle entscheidend die Umsetzung von Pro­ grammcodes zwischen verschiedenen Programmiersprachen sowie die Kontrolle und Nachbearbeitung des Umsetzvorgangs sowie weitere Modifikationsmöglichkeiten während des Umsetzvor­ gangs.

Claims (34)

1. Verfahren zur Umsetzung von Schnittstellendefinitionen in­ nerhalb von Quellprogrammcode in ein Zwischenformat mittels einer das Verfahren ausführenden Rechenanlage mit folgenden Schritten:
  • 1. A Identifizieren von zumindest einem Objekt im Quellpro­ grammcode;
  • 2. B Identifizieren von zumindest einer Schnittstelle bei dem zumindest einen identifizierten Objekt;
    wobei zumindest eine der identifizierten Schnittstellen eine interne Schnittstelle zur Herstellung einer Verknüpfung von Objekten innerhalb des Quellprogrammcodes und/oder zumindest eine der identifizierten Schnittstellen eine externe Schnitt­ stelle zur Herstellung einer Verknüpfung von einem Objekt mit ausserhalb des Quellprogrammcodes liegenden Schnittstellen sein kann;
    und wobei die zumindest eine Schnittstelle eine Eingangs- und/oder eine Ausgangsschnittstelle sein kann;
  • 3. C Identifizieren von zumindest einer internen Verknüpfung zwischen zumindest einer Ausgangsschnittstelle und zumindest einer Eingangsschnittstelle zwischen zumindest zwei Objekten und/oder
    Identifizieren von zumindest einer externen Verknüpfung der zumindest einen externen Schnittstelle;
  • 4. D Erstellen einer zumindest zweidimensionalen Zwischenfor­ mattabelle (1) mit in einer ersten Dimension (2) angeordneten Reihen (4, 11, 14, 17, 21, 25, 34), in einer zweiten Dimen­ sion (3) angeordneten Reihen (5, 6, 18, 24) und Zellen an den Kreuzungspunkten der ersten und zweiten Reihen,
    wobei Reihen (4) der ersten Dimension (2) Bezeichnungen für jedes des zumindest einen identifizierten Objekts zugewiesen werden;
    wobei Reihen (5, 6) der zweiten Dimension (3) Bezeichnungen für jede der zumindest einen identifizierten Verknüpfung zu­ gewiesen werden; und
    wobei jeweils in diejenigen Zellen (7), die am Kreuzungspunkt einer der Reihen (4) der ersten Dimension mit der Bezeich­ nung eines identifizierten Objekts und einer der Reihen (5) der zweiten Dimension (3) mit der Bezeichnung einer identifi­ zierten internen Verknüpfung liegen, Bezeichnungen (8) für die zu sowohl dem jeweiligen identifizierten Objekt als auch der identifizierten internen Verknüpfung gehörigen Augangs­ schnittstelle und/oder Eingangsschnittstelle eingesetzt wer­ den und/oder
    wobei jeweils in diejenigen Zellen (9), die am Kreuzungspunkt einer der Reihen (4) der ersten Dimension mit der Bezeichnung eines identifizierten Objekts und einer der Reihen (6) der zweiten Dimension (3) mit der Bezeichnung einer identifi­ zierten externen Verknüpfung liegen, Bezeichnungen (10) für die zu sowohl dem jeweiligen identifizierten Objekt als auch der identifizierten externen Verknüpfung gehörigen Augangs­ schnittstelle und/oder Eingangsschnittstelle eingesetzt wer­ den.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine erste spezielle Reihe (11) der ersten Dimension (2) zur Angabe des Modus der externen Schnittstelle der zumindest einen identifizierten externen Verknüpfung verwendet wird, und
jeweils in diejenigen Zellen (12), die am Kreuzungspunkt der ersten speziellen Reihe (11) der ersten Dimension und den Reihen (6) der zweiten Dimension (3) mit den Bezeichnungen der zumindest einen identifizierten externen Verknüpfung lie­ gen, Angaben (13) über den Modus der externen Schnittstelle bei der zumindest einen identifizierten externen Verknüpfung eingesetzt werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die externen Schnittstelle eine Eingangsschnittstelle, eine Aus­ gangsschnittstelle, eine bidirektionale Schnittstelle oder eine Schnittstelle unbestimmter Flußrichtung sein kann.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß
zusätzlich die Datentypen der zumindest einen identifizierten Schnittstelle festgestellt werden,
zumindest einer zweiten speziellen Reihe (14) der ersten Di­ mension (2) eine Angabe der Datentypen der zumindest einen identifizierten Schnittstelle zugewiesen wird und
jeweils in diejenigen Zellen (15), die am Kreuzungspunkt der zweiten speziellen Reihe (14) und der Reihen (5, 6) der zweiten Dimension (3) mit den Bezeichnungen der zumindest ei­ nen identifizierten Verknüpfung liegen, Bezeichnungen (16) für die zu der zumindest einen identifizierten Verknüpfung gehörigen Datentypen eingesetzt werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch ge­ kennzeichnet, daß
zusätzlich zumindest eine Konstante in dem zumindest einen identifizierten Objekt und/oder zumindest eine externe Kon­ stante, die von allen Objekten des Quellprogrammcodes ver­ wendbar ist, identifiziert wird;
der Datentyp der zumindest einen identifizierten Konstanten und/oder externen Konstanten festgestellt wird;
zumindest einer dritten speziellen Reihe (17) der ersten Di­ mension (2) eine Angabe des Datentyps der zumindest einen Konstanten zugewiesen wird;
zumindest einer ersten speziellen Reihe (18) der zweiten Di­ mension (3) Bezeichnungen der zumindest einen identifizierten Konstanten und/oder externen Konstanten zugewiesen werden; und
jeweils in diejenigen Zellen (19), die am Kreuzungspunkt der zumindest einen dritten speziellen Reihe (17) und der zumin­ dest einen ersten speziellen Reihe (18) der zweiten Dimension (3) mit Bezeichnungen der zumindest einen identifizierten Konstanten liegen, Bezeichnungen (20) für den zu der zumin­ dest einen identifizierten Konstanten gehörigen Datentyp ein­ gesetzt werden.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß
zusätzlich ein Wert oder eine Berechnungsweise der zumindest einen identifizierten internen Konstanten und/oder externen Konstanten festgestellt wird;
zumindest einer vierten speziellen Reihe (21) der ersten Di­ mension (2) die Angabe des Werts (23) oder der Berechnungs­ weise (35) der zumindest einen Konstanten zugewiesen wird; und
jeweils in diejenigen Zellen (22), die am Kreuzungspunkt der zumindest einen vierten speziellen Reihe (21) und den ersten speziellen Reihen (18) der zweiten Dimension (3) mit Be­ zeichnungen der zumindest einen identifizierten Konstanten liegen, der Wert (23) oder die Berechnungsweise (35) der zu­ mindest einen identifizierten Konstanten eingesetzt wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch ge­ kennzeichnet, daß
zusätzlich ein Wert oder eine Berechnungsweise der zumindest einen identifizierten Verknüpfung festgestellt wird;
zumindest einer fünften speziellen Reihe (34) der ersten Di­ mension (2) die Angabe des Werts (36) oder der Berechnungs­ weise der zumindest einen identifizierten Verknüpfung zuge­ wiesen wird; und
wobei jeweils in diejenigen Zellen, die am Kreuzungspunkt der zumindest einen fünften speziellen Reihe (34) und einer der Reihen (5) der zweiten Dimension (3) mit der Bezeichnung ei­ ner identifizierten internen Verknüpfung und/oder der Reihen (6) der zweiten Dimension (3) mit der Bezeichnung einer identifizierten externen Verknüpfung liegen, der Wert (36) oder die Berechnungsweise der zumindest einen identifizierten Verknüpfung eingesetzt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge­ kennzeichnet, daß es den weiteren Schritt aufweist:
  • - Identifizieren der Originalbezeichnungen (26, 27, 28, 38), welche das zumindest eine Objekt, die zumindest eine Verknüp­ fung und/oder die zumindest eine Konstante im Quellpro­ grammcode aufweisen,
    wobei speziellen Titelreihen (24, 25) Angaben über die identifizierten Originalbezeichnungen (26, 27, 28, 38) zuge­ wiesen werden; und
    die Originalbezeichnungen (26, 27, 28, 38) in Zellen (29, 30, 31, 37) der Titelreihen (24, 25) eingesetzt werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch ge­ kennzeichnet, daß die Bezeichnungen (8) der zumindest einen Schnittstelle zusammengesetzt sind aus einem Identifzierer für die jeweilige Schnittstelle und zumindest einer Angabe, die ausgewählt ist aus einer Kennzeichnung des Modus der Schnittstelle, des Datentyps der Schnittstelle, eines Vorga­ bewerts und der Angabe einer auf die Schnittstelle anzuwen­ denden Datentypkonvertierungsfunktion.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch ge­ kennzeichnet, daß es die weiteren Schritte aufweist:
  • - Identifizieren der Originalbezeichnungen (32, 33), welche die zumindest eine Schnittstelle im Quellprogrammcode auf­ weisen; und
  • - Verwenden der Originalbezeichnungen (32, 33) als Identifi­ zierer.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch ge­ kennzeichnet, daß der Quellprogrammcode Code einer Hardware­ beschreibungssprache ist.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das zumindest eine Objekt eine Schnittstelleninstanz eines elektronischen Bauteils repräsentiert.
13. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeich­ net, daß die zumindest eine interne Verknüpfung ein Signal repräsentiert.
14. Verfahren nach einem der Ansprüche 11 bis 13, dadurch ge­ kennzeichnet, daß die zumindest eine externe Verknüpfung ei­ nen Port repräsentiert.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch ge­ kennzeichnet, daß zumindest eines der identifizierten Objekte in sich einen Sub-Quellprogrammcode enthält, der ebenfalls in ein Zwischenformat umgesetzt werden kann; und daß nach er­ folgter Umsetzung eines Subquellprogrammcodes in eine Subfor­ mattabelle ein Verweis auf die Subformattabelle in eine Zelle der zum umgesetzten Objekt gehörenden Reihe der ersten Dimen­ sion eingesetzt wird.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch ge­ kennzeichnet, daß ein Verweis auf zumindest ein als Quellpro­ grammcode als separate Einheit gespeichertes identifiziertes Objekt in eine Zelle der zum gespeicherten Objekt gehörenden Reihe der ersten Dimension eingesetzt wird.
17. Verfahren zur Umsetzung von Schnittstellendefinitionen aus einer
zumindest zweidimensionalen Zwischenformattabelle mit in ei­ ner ersten Dimension (2) angeordneten ersten Reihen (4, 11, 14, 17, 21, 25, 34), in einer zweiten Dimension (3) angeord­ neten zweiten Reihen (5, 6, 18, 24) und Zellen an den Kreu­ zungspunkten der ersten und zweiten Reihen,
bei der Reihen (4) der ersten Dimension (2) Bezeichnungen für zumindest ein Objekt zugewiesen sind;
bei der Reihen (5, 6) der zweiten Dimension (3) Bezeichnungen für zumindest eine interne Verknüpfung zwischen den Objekten und/oder zumindest eine externe Verknüpfung eines Objekts zu­ gewiesen sind; und
bei der jeweils in diejenigen Zellen (7), die am Kreuzungs­ punkt einer der Reihen (4) der ersten Dimension (2) mit der Bezeichnung eines Objekts und einer der Reihen (5) der zwei­ ten Dimension (3) mit der Bezeichnung einer internen Verknüp­ fung liegen, Bezeichnungen (8) für eine zu sowohl dem jewei­ ligen Objekt als auch der Verknüpfung gehörigen internen Augangschnittstelle und/oder internen Eingangsschnittstelle eingesetzt sind und/oder
bei der jeweils in diejenigen Zellen (9), die am Kreuzungs­ punkt einer der Reihen (4) der ersten Dimension (2) mit der Bezeichnung eines Objekts und einer der Reihen (6) der zwei­ ten Dimension (3) mit der Bezeichnung einer externen Verknüp­ fung liegen, Bezeichnungen (10) für die zu sowohl dem jewei­ ligen Objekt als auch der externen Verknüpfung gehörigen ex­ ternen Augangsschnittstelle und/oder externen Eingangs­ schnittstelle eingesetzt sind;
mittels einer das Verfahren ausführenden Rechenanlage in Zielprogrammcode mit folgenden Schritten:
  • - Erstellen von zumindest einem Programmcode-Objekt anhand der in der Zwischenformattabelle (1) enthaltenen Informationen über das zumindest eine Objekt,
  • - Zuweisen von zugehörigen internen Ausgangsschnittstellen und/oder internen Eingangsschnittstellen zu ihren Pro­ grammcode-Objekten;
  • - Erstellen zumindest einer Verknüpfung zwischen Programmcode- Objekten anhand der in der Zwischenformattabelle enthaltenen Informationen über die internen Verknüpfungen der internen Eingangsschnittstellen und internen Ausgangsschnittstellen und/oder
  • - Zuweisen von zugehörigen externen Ausgangsschnittstellen und/oder externen Eingangsschnittstellen zu ihren Pro­ grammcode-Objekten.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß
zumindest einer zweiten speziellen Reihe (14) der ersten Di­ mension (2) der Zwischenformattabelle (1) eine Angabe der Da­ tentypen der zumindest einen Schnittstelle zugewiesen ist und
jeweils in diejenigen Zellen (15), die am Kreuzungspunkt der zweiten speziellen Reihe (14) und der Reihen (5, 6) der zweiten Dimension (3) mit den Bezeichnungen zumindest einen Verknüpfung liegen, Bezeichnungen (16) für die zu der zu­ mindest einen Verknüpfung gehörigen Datentypen eingesetzt sind;
mit dem weiteren Schritt:
  • - Definieren der Datentypen der dem zumindest einen Pro­ grammcode-Objekt zugewiesenen, zu der zumindest einen Ver­ knüpfung gehörigen, zumindest einen Schnittstelle.
19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeich­ net, daß
zumindest einer dritten speziellen Reihe (17) der ersten Di­ mension (2) der Zwischenformattabelle (1) eine Angabe der Da­ tentypen von zumindest einer Konstanten im zumindest einen Objekt und/oder zumindest einer externen Konstanten, die von allen Objekten verwendbar ist, zugewiesen ist;
zumindest einer ersten speziellen Reihe (18) der zweiten Di­ mension (3) Bezeichnungen der zumindest einen Konstanten und/oder zumindest einen externen Konstanten zugewiesen sind; und
jeweils in diejenigen Zellen (19), die am Kreuzungspunkt der zumindest einen dritten speziellen Reihe (17) und der zumin­ dest einen ersten speziellen Reihe (18) der zweiten Dimension (3) mit Bezeichnungen der zumindest einen Konstanten liegen, Bezeichnungen (20) für den zu der zumindest einen Konstanten gehörigen Datentyp eingesetzt werden;
mit dem weiteren Schritt:
  • - Definieren von zumindest einer internen Konstante und/oder von zumindest einer externen Konstante in dem zumindest einen Programmcode-Objekt und/oder in einem allgemeinen Teil des Zielprogrammcodes.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß
zumindest einer vierten speziellen Reihe (21) der ersten Di­ mension (2) der Zwischenformattabelle (1) Angaben über einen Wert (23) oder eine Berechnungsweise (35) der zumindest einen internen Konstanten und/oder der zumindest einen externen Konstanten zugewiesen sind; und
jeweils in diejenigen Zellen (22), die am Kreuzungspunkt der vierten speziellen Reihe (21) und den ersten speziellen Rei­ hen (18) der zweiten Dimension (3) mit Bezeichnungen der zu­ mindest einen Konstanten liegen, der Wert (23) oder die Be­ rechnungsweise (35) der zumindest einen Konstanten eingesetzt sind;
mit dem weiteren Schritt:
  • - Zuweisen des Werts (23) oder der Berechnungsweise (35) der zumindest einen Konstanten zu der zumindest einen im Pro­ grammcode definierten Konstanten.
21. Verfahren nach einem der Ansprüche 17 bis 20, dadurch ge­ kennzeichnet, daß
zumindest einer fünften speziellen Reihe (34) der ersten Di­ mension (2) der Zwischenformattabelle (1) eine Angabe über den Wert oder die Berechnungsweise der zumindest einen Ver­ knüpfung zugewiesen ist; und
jeweils in diejenigen Zellen, die am Kreuzungspunkt der zu­ mindest einen fünften speziellen Reihe und einer der Reihen der zweiten Dimension (3) mit der Bezeichnung einer internen Verknüpfung und/oder der Reihen (6) der zweiten Dimension (3) mit der Bezeichnung einer externen Verknüpfung liegen, der Wert (36) oder die Berechnungsweise der zumindest einen Ver­ knüpfung eingesetzt ist;
mit dem weiteren Schritt:
  • - Zuweisen des Werts oder der Berechnungsweise der zumindest einen Verknüpfung zu der im Zielprogrammcode erstellten Ver­ knüpfung.
22. Verfahren nach einem der Ansprüche 17 bis 21, dadurch ge­ kennzeichnet, daß
speziellen Titelreihen (24, 25) der Zwischenformattabelle (1) Angaben über die Bezeichnungen des zumindest einen Ob­ jekts, der zumindest einen Verknüpfung und/oder der zumindest einen Konstanten zugewiesen sind; und
wobei die Bezeichnungen in Zellen (29, 30, 31, 37) der Titel­ reihen (24, 25) eingesetzt sind;
mit dem weiteren Schritt:
  • - Benennen des zumindest einen Programmcode-Objekts, der zu­ mindest einen Verknüpfung und/oder der zumindest einen Kon­ stanten anhand der Bezeichnungen in den Zellen (29, 30, 31, 37) der Titelreihen (24, 25) der Zwischenformattabelle (1).
23. Verfahren nach einem der Ansprüche 17 bis 22, dadurch ge­ kennzeichnet, daß
zumindest in eine Zelle einer zu einem Objekt gehörenden Rei­ he der ersten Dimension ein Verweis auf eine Subformattabelle eingesetzt ist;
mit dem weiteren Schritt:
  • - Verbinden des aus dem Objekt erzeugten Programmcode-Objekts mit aus der Subformattabelle erzeugten Subprogrammcode.
24. Verfahren nach einem der Ansprüche 17 bis 23, dadurch ge­ kennzeichnet, daß
zumindest in eine Zelle der zu einem Objekt gehörenden Reihe der ersten Dimension ein Verweis auf als separate Einheit gespeicherten Quellprogrammcode eingesetzt ist;
mit dem weiteren Schritt:
  • - Verbinden des aus dem zumindest einen Objekt erzeugten Pro­ grammcode-Objekts mit dem als separate Einheit gespeicherten Quellprogrammcode.
25. Zwischenformattabelle (1) zur Speicherung von in einem Programmcode enthaltenen Schnittstelleninformationen in einer Rechenanlage
mit zumindest zwei Dimensionen;
mit in einer ersten Dimension (2) angeordneten Reihen, in einer zweiten Dimension (3) angeordneten Reihen und Zellen an den Kreuzungspunkten der ersten und zweiten Reihen,
wobei Reihen (4) der ersten Dimension (2) Bezeichnungen für zumindest ein Objekt in dem Programmcode zugewiesen sind;
wobei Reihen (5, 6) der zweiten Dimension (3) Bezeichnungen für zumindest eine interne Verknüpfung zwischen Objekten und/oder Bezeichnungen für zumindest eine externe Verknüp­ fung des Programmcodes zugewiesen sind; und
wobei jeweils in diejenigen Zellen (7), die am Kreuzungspunkt einer der Reihen (4) der ersten Dimension (2) mit der Be­ zeichnung eines Objekts und einer der Reihen (5) der zweiten Dimension (3) mit der Bezeichnung einer internen Verknüpfung liegen, Bezeichnungen für eine zu sowohl dem jeweiligen Ob­ jekt als auch der internen Verknüpfung gehörigen Ausgangs­ schnittstelle und/oder Eingangsschnittstelle eingesetzt sind und/oder
jeweils in diejenigen Zellen, die am Kreuzungspunkt einer der Reihen (4) der ersten Dimension (2) mit der Bezeichnung eines Objekts und einer der Reihen (6) der zweiten Dimension (3) mit der Bezeichnung einer externen Verknüpfung liegen, Be­ zeichnungen für die zu sowohl dem jeweiligen Objekt als auch der externen Verknüpfung gehörigen Ausgangsschnittstelle und/oder Eingangsschnittstelle eingesetzt sind.
26. Zwischenformattabelle nach Anspruch 25, dadurch gekenn­ zeichnet, daß eine erste spezielle Reihe (11) der ersten Di­ mension (2) zur Angabe des Modus einer externen Schnittstelle bei der zumindest einen externen Verknüpfung verwendet ist, und
jeweils in diejenigen Zellen (12), die am Kreuzungspunkt der ersten speziellen Reihe (11) der ersten Dimension (2) und der Reihen (6) der zweiten Dimension (3) mit den Bezeichnun­ gen der zumindest einen externen Verknüpfung liegen, Angaben (13) über den Modus der externen Schnittstelle bei der zumin­ dest einen externen Verknüpfung eingesetzt sind.
27. Zwischenformattabelle (1) nach einem der Ansprüche 25 oder 26, dadurch gekennzeichnet, daß
zumindest einer zweiten speziellen Reihe (14) der ersten Di­ mension (2) eine Angabe der Datentypen der zumindest einen Schnittstelle zugewiesen ist und
jeweils in diejenigen Zellen (15), die am Kreuzungspunkt der zweiten speziellen Reihe (14) und den Reihen (5, 6) der zweiten Dimension (3) mit den Bezeichnungen der zumindest ei­ nen Verknüpfung liegen, Bezeichungen für die zu der zumin­ dest einen Verknüpfung gehörigen Datentypen eingesetzt sind.
28. Zwischenformattabelle (1) nach einem der Ansprüche 25 bis 27, dadurch gekennzeichnet, daß
zumindest einer dritten speziellen Reihe (17) der ersten Di­ mension (2) eine Angabe der Datentypen zumindest einer in­ ternen Konstanten und/oder zumindest einer externen Konstan­ ten aus dem Programmcode zugewiesen ist;
ersten speziellen Reihen (18) der zweiten Dimension (3) Be­ zeichnungen der zumindest einen internen Konstanten und/oder der zumindest einen externen Konstanten zugewiesen sind; und
jeweils in diejenigen Zellen, die am Kreuzungspunkt der drit­ ten speziellen Reihe (17) und der ersten speziellen Reihen (18) der zweiten Dimension (3) mit Bezeichnungen der zumin­ dest einen Konstanten liegen, Bezeichnungen (20) für die zu der zumindest einen Konstanten gehörigen Datentypen einge­ setzt sind.
29. Zwischenformattabelle (1) nach Anspruch 28, dadurch ge­ kennzeichnet, daß
zumindest einer vierten speziellen Reihe (21) der ersten Di­ mension (2) die Angabe eines Werts oder einer Berechnungswei­ se der zumindest einen Konstanten zugewiesen ist; und
jeweils in diejenigen Zellen (22), die am Kreuzungspunkt der zumindest einen vierten speziellen Reihe (21) und den ersten speziellen Reihen (18) der zweiten Dimension (3) mit Be­ zeichnungen der zumindest einen Konstanten liegen, der Wert (23) oder die Berechnungsweise (35) der zumindest einen Kon­ stanten eingesetzt ist.
30. Zwischenformattabelle (1) nach einem der Ansprüche 25 bis 29, dadurch gekennzeichnet, daß
zumindest einer fünften speziellen Reihe (34) der ersten Di­ mension (2) die Angabe eines Werts (36) oder einer Berech­ nungsweise der zumindest einen Verknüpfung zugewiesen ist; und
jeweils in diejenigen Zellen, die am Kreuzungspunkt der zu­ mindest einen fünften speziellen Reihe (34) und einer der Reihen (5) der zweiten Dimension (3) mit der Bezeichnung ei­ ner internen Verknüpfung und/oder der Reihen (6) der zweiten Dimension (3) mit der Bezeichnung einer externen Verknüpfung liegen, der Wert oder die Berechnungsweise der zumindest ei­ nen Verknüpfung eingesetzt ist.
31. Zwischenformattabelle (1) nach einem der Ansprüche 25 bis 30, dadurch gekennzeichnet, daß
speziellen Titelreihen (24, 25) Angaben über die Original­ bezeichnungen (26, 27, 28, 38) zugewiesen sind, welche das zumindest eine Objekt, die zumindest eine Verknüpfung und/oder die zumindest eine Konstante im Programmcode aufwei­ sen; und
die Originalbezeichnungen (26, 27, 28, 38) in Zellen (29, 30, 31, 37) der Titelreihen (24, 25) eingesetzt sind.
32. Zwischenformattabelle (1) nach einem der Ansprüche 25 bis 31, dadurch gekennzeichnet, daß die Bezeichnungen (8) der zu­ mindest einen Schnittstelle zusammengesetzt sind aus einem Identifzierer für die jeweilige Schnittstelle und zumindest einer Angabe, die ausgewählt ist aus einer Kennzeichnung des Modus der Schnittstelle, des Datentyps der Schnittstelle, ei­ nes Vorgabewerts und der Angabe einer auf die Schnittstelle anzuwendenden Datentypkonvertierungsfunktion.
33. Zwischenformattabelle (1) nach einem der Ansprüche 25 bis 32, dadurch gekennzeichnet, daß beliebige Zellen der Zwi­ schenformattabelle Annotationen enthalten können, welche der Steuerung von Programmen zu Analyse der in der Zwischenfor­ mattabelle enthaltenen Informationen und/oder zur Information eines Anwenders dienen können.
34. Zwischenformattabelle nach Anspruch 33, dadurch gekenn­ zeichnet, daß zumindest eine weitere Dimension der Zwischen­ formattabelle den Annotationen zugeordnet ist, wobei Reihen der weiteren Dimension bestimmte Typen von Annotationen zuge­ wiesen sind und eine einzusetzende Annotation an den Kreu­ zungspunkten der Reihen der ersten und der zweiten Dimensio­ nen (2, 3), die für die Annotation maßgeblich sind, mit der Reihe der weiteren Dimension, die dem einzusetzenden Typ von Annotation zugewiesen ist, die Annotation eingesetzt wird.
DE19947892A 1999-10-05 1999-10-05 Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür Expired - Fee Related DE19947892C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19947892A DE19947892C2 (de) 1999-10-05 1999-10-05 Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür
US09/680,370 US6968544B1 (en) 1999-10-05 2000-10-05 Method for transformation of interface definitions and intermediate format tables thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19947892A DE19947892C2 (de) 1999-10-05 1999-10-05 Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür

Publications (2)

Publication Number Publication Date
DE19947892A1 true DE19947892A1 (de) 2001-04-19
DE19947892C2 DE19947892C2 (de) 2003-11-13

Family

ID=7924526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19947892A Expired - Fee Related DE19947892C2 (de) 1999-10-05 1999-10-05 Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür

Country Status (2)

Country Link
US (1) US6968544B1 (de)
DE (1) DE19947892C2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6326988B1 (en) * 1999-06-08 2001-12-04 Monkey Media, Inc. Method, apparatus and article of manufacture for displaying content in a multi-dimensional topic space
US8521708B2 (en) * 2003-01-22 2013-08-27 Siemens Industry, Inc. System and method for developing and processing building system control solutions
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US7613900B2 (en) 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
US8001266B1 (en) 2003-03-31 2011-08-16 Stretch, Inc. Configuring a multi-processor system
US7590829B2 (en) * 2003-03-31 2009-09-15 Stretch, Inc. Extension adapter
US7373642B2 (en) * 2003-07-29 2008-05-13 Stretch, Inc. Defining instruction extensions in a standard programming language
US7418575B2 (en) * 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
US8984496B2 (en) * 2004-09-20 2015-03-17 The Mathworks, Inc. Extensible internal representation of systems with parallel and sequential implementations
US9774699B2 (en) * 2005-09-20 2017-09-26 The Mathworks, Inc. System and method for transforming graphical models
US20080046861A1 (en) * 2006-08-15 2008-02-21 Grieser Maria A Method and interface for creating a workbook to implement a business process
US8677316B2 (en) * 2010-05-12 2014-03-18 Microsoft Corporation Enforcement of architectural design during software development
CN103475552B (zh) * 2012-06-05 2017-05-31 帝斯贝思数字信号处理和控制工程有限公司 用于干扰控制装置的总线通信的方法
US10089089B2 (en) * 2015-06-03 2018-10-02 The Mathworks, Inc. Data type reassignment
US11237802B1 (en) 2020-07-20 2022-02-01 Bank Of America Corporation Architecture diagram analysis tool for software development

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4408106A1 (de) * 1993-06-08 1994-12-15 Siemens Ag Verfahren zur Simulation einer in EDIF beschriebenen Schaltung mit einem VHDL-Simulator auf einem Rechner
WO1998053413A1 (en) * 1997-05-23 1998-11-26 Symbios, Inc. Method for generating format-independent electronic circuit representations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513119A (en) * 1993-08-10 1996-04-30 Mitsubishi Semiconductor America, Inc. Hierarchical floorplanner for gate array design layout
US5671416A (en) * 1995-02-24 1997-09-23 Elson; David Apparatus and a method for searching and modifying source code of a computer program
US5943674A (en) * 1996-07-11 1999-08-24 Tandem Computers Incorporated Data structure representing an interface definition language source file
US6519755B1 (en) * 1999-08-16 2003-02-11 Sequence Design, Inc. Method and apparatus for logic synthesis with elaboration
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4408106A1 (de) * 1993-06-08 1994-12-15 Siemens Ag Verfahren zur Simulation einer in EDIF beschriebenen Schaltung mit einem VHDL-Simulator auf einem Rechner
WO1998053413A1 (en) * 1997-05-23 1998-11-26 Symbios, Inc. Method for generating format-independent electronic circuit representations

Also Published As

Publication number Publication date
US6968544B1 (en) 2005-11-22
DE19947892C2 (de) 2003-11-13

Similar Documents

Publication Publication Date Title
DE19947892C2 (de) Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür
DE69233037T2 (de) Automatisiertes neues Layout mit dimensionaler Verknüpfung
DE602005005924T2 (de) Einheitliches Datenformat für Messgeräte
DE69931004T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung
DE60310431T2 (de) Verfahren zum erzeugen eines computerlesbaren modelles
DE10308725A1 (de) System und Verfahren zum Verwalten und zum Austausch von Daten eines technischen Projektes, einer technischen Anlage sowie einzelner Anlagenkomponenten
DE60209631T2 (de) Verfahren zur Programmierung einer Automatisierungsapplikation
DE2839736A1 (de) Programmierungsgeraet fuer numerische steuerungssysteme
DE10025583A1 (de) Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
WO2000011581A1 (de) Verfahren zur fortschrittlichen mengenorientierten kostenzuweisung unter verwendung verschiedener informationsquellen
DE112009004306T5 (de) Programmanalysenunterstützungsvorrichtung
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE10149693A1 (de) Objekte in einem Computersystem
DE10150387A1 (de) CAD-Datenmodell mit Entwurfsnotizen
WO2010124853A2 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
EP2439691A1 (de) Vorrichtung und Verfahren zum maschinellen Erstellen eines Prozessdiagramms
DE60224271T2 (de) Datenverarbeitungsverfahren, datenverarbeitungsprogramm und datenverarbeitungsvorrichtung
EP1036352B1 (de) Verfahren zur bildschirmgestützten definition und parametrierung von schnittstellen
EP1920357A1 (de) Migration und transformation von datenstrukturen
DE4417393A1 (de) Eine Methode zur Herstellung spezifischer Programm-Systeme und Sammlungen von Unterstützungsprogrammen (Tools) zur Erleichterung von Programmsystem-Herstellungsarbeiten
EP1750209A1 (de) Verfahren und Vorrichtung zur automatischen Darstellung von in Datenbereichen geordneten Daten
DE19962787A1 (de) Verfahren zur Behandlung von Datenobjekten
EP0206214B1 (de) Verfahren zur einheitlichen symbolischen Beschreibung von Dokumentenmustern in Form von Datenstrukturen in einem Automaten
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8304 Grant after examination procedure
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee