Aktionsbaustein

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen

Der Aktionsbaustein ist der einzige Expecco-Elementtyp, der spezialisierte Subtypen aufweist. Die folgende Liste zeigt die konkreten Subtypen der Aktionsbausteine, 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. Jede Aktion dieses Typs enthält einen internen Workflow, der 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 eine elementare Aktion, die durch ein Programm in Smalltalk-Syntax definiert wird. Der Code, wird zur Ausführung in der Smalltalk Syntax interpretiert von der unterliegenden VM (Virtual Machine) in expeccoo 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 JavaScript-Codeblockelemente sind Aktionen, die in Form von Quellcode im JavaScript-Stil definiert werden. Jedes Element enthält Programmcode, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco direkt ausgeführt und hat Zugriff auf die internen APIs.
  • PIC GUI IconSymbol ProjectComponent GroovyAction.gif PIC GUI IconSymbol ProjectComponent BridgedPythonAction.png Bridged Code Elemente (Java, Python, NodeJS, C, C++, Smalltalk etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert, aber in 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" Anweisungen der jeweiligen Programmiersprache).
    Mit diesen Blöcken können beliebige Bibliotheken und Frameworks der jeweiligen Programmiersprache eingebunden und aufgerufen werden.
  • 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. daß 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.
  • PIC GUI IconSymbol ProjectComponent PythonScriptAction.png PIC GUI IconSymbol ProjectComponent NodeJSScriptAction.png PIC GUI IconSymbol ProjectComponent GnuPlotScriptAction.png 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 Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, 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. Das Element 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 Mit Data Generator Blöcken können vordefinierte Datensätze in einer Zeitreihe generiert werden (und z.B. einem Testcase als Eingangsdaten dienen). Das Element enthält eine Liste von Werten sowie Zeitintervalle, die zur Laufzeit verwendet werden, um jedes Tupel zu einem bestimmten Zeitpunkt zu erzeugen und an die Ausgabeschnittstelle zu liefern.



Copyright © 2014-2024 eXept Software AG