Aktionsbaustein: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 10: Zeile 10:
* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache).
* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache).


* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie <code> stdin </code>, <code> stdout </code> und <code> stderr </code>. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.
* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie <code> stdin </code>, <code> stdout </code> und <code> stderr </code>. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.


* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot, etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.
* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot, etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.

Version vom 14. September 2020, 12:43 Uhr

Der Aktionsbaustein ist der einzige Expecco-Elementtyp, der spezialisierte Subtypen aufweist. Die folgende Liste zeigt die konkreten Subtypen des Aktionsbaustein-Elementtyps, die wiederum die Rolle der einzelnen Elemente kurz erklären und das Symbol, das dafür in der expecco-GUI verwendet wird, einführt:

  • PIC GUI IconSymbol ProjectComponent CompoundAction.png Die zusammengesetzte Aktion (CompoundAction) wird zum Modellieren von Workflows verwendet. Jedes Element dieses Typs enthält genau einen sogenannten ínternen Workflow, der oft auch Internes Netzwerk des Blocks genannt wird. Alle anderen Aktionsbaustein-Typen werden als Elementarblöcke bezeichnet, da sie im Gegensatz dazu kein internes Netzwerk haben, sondern elementare Funktionsblöcke (als Programmcode oder Remote procedure Call) implementieren.
  • PIC GUI IconSymbol ProjectComponent SmalltalkAction.png Das Smalltalk-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Smalltalk-Stil-Quellcode verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code Content, der zur Laufzeit in der Smalltalk/X-Syntax interpretiert wird. Der Code wird in expecco selbst ausgeführt; er hat also Zugriff auf das gesamte API des unterliegenden Laufzeitsystems (dazu gibt es auch einen eingebauten Klassenbrowser, der über das Tools-Menu geöffnet wird).
  • PIC GUI IconSymbol ProjectComponent JavaScriptAction.png Das JavaScript-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Quellcode im JavaScript-Stil verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code-Inhalt, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt.
  • PIC GUI IconSymbol ProjectComponent GroovyAction.gif PIC GUI IconSymbol ProjectComponent BridgedPythonAction.png Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache).
  • PIC GUI IconSymbol ProjectComponent ShellScriptAction.png PIC GUI IconSymbol ProjectComponent BatchScriptAction.png PIC GUI IconSymbol ProjectComponent ShellBatchAction.png Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie stdin , stdout und stderr . Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.
  • Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot, etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.
  • PIC GUI IconSymbol ProjectComponent ConsoleCmdAction.png Das Console Shell Command Block-Element ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form eines Konsolenbefehls verwendet wird. Jedes Element dieses Typs enthält genau ein sogenanntes Console Command-Setup, das direkt vom zugrunde liegenden Betriebssystem ausgeführt wird, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie stdin , stdout und stderr .
  • RPC (Remote Procedure Call) Elemente senden eine Anforderung via SOAP, REST oder XML-RPC an einen Dienst.
  • PIC GUI IconSymbol ProjectComponent DataGeneratorAction.png Das Test Data Generator Block-Element ist der Elementtyp, mit dem künstlich erzeugte Datenwerte zur Laufzeit bereitgestellt werden. Sein Zweck besteht darin, Dateneingaben zu ersetzen, die noch nicht oder vorübergehend nicht verfügbar sind, um es dem Benutzer zu ermöglichen, seine Tests jedoch zu Testzwecken auszuführen. Jedes Element dieses Typs enthält genau eine sogenannte Generic Values List, die Zeit-Wert-Paare verwendet, die zur Laufzeit verwendet werden, um jeden Wert zu seiner bestimmten Generierungszeit zu erzeugen und ihn an die Ausgabeschnittstelle zu liefern.



Copyright © 2014-2024 eXept Software AG