|
Die Interprozesskommunikation ist als Schnittstelle für allgemeine Belange der Kommunikation zwischen Prozessen einer CPU oder CPU-übergreifend konzipiert. Ethernet auf TCP (Socket) ist eine mögliche, aber nicht die einzige Kommunkationsimplementierung. Auf einer CPU kann eine Implementierung über die Socket-Schnittstelle mit localhost-Adressierung ressourceneffektiv realisiert werden. Es gibt eine neue Beschreibung der Interprozesskommunikation und eine ältere, noch hier verlinkt. Es gibt eine Implementierung der Interprozesskommunikation-Schnittstelle in C++ und in Java. Die Quellen sollten der Beschreibung entsprechen, Details sind in Arbeit. Damit ist die Interprozesskommunikation als Schnittstelle auch zwischen diesen beiden Programmierplattformen nutzbar. Beispielsweise kann ein Programm im Standard-Java auf einem PC ablaufen und dort Daten-Aufbereitungen und Bedienerführung in Sekunden-Echtzeit ausführen. Aufbereitete Daten werden dann mit einer Maschinensteuerung, die traditionell in C(++) realisiert ist, ausgetauscht. Die Interprozesskommunikation als Schnittstellenkonzept ist aber auch für die Emulation von hardwareorientierten Schnittstellen (zum beispiel Dual-Port-RAM) im embedded Bereich für die Simulation der Algorithmen auf dem PC tauglich. Auf dem PC wird man die Daten beispielsweise per Socket austauschen, die sonst über spezielle Kommunikationskanäle der Zielplattform übertragen werden. Das Zeitverhalten ist nicht identisch, aber das ist für eine algorithmisch orientierte PC-Simulation nicht wesentlich. Identisch sind die Schnittstellen, damit sind gekoppelte Prozesse testbar. Die C++-Klasse ist im download CRuntimeJavalike.zip enthalten. Wichtig ist der Zugriff auf Daten, in C++ üblicherweise über pointer-casting zu einer struct{}, in Java über ByteDataAccess realisierbar. |