Vielleicht kann ich auch mal ein Beispiel einstreuen...
Dienstlich hab ich mit SPS-Programmierung zu tun - nun ja, eher mit Soft-SPSen als Nicht-Echtzeitanwendungen. Wir nutzen zur Steuerung ein Tool, mit dem graphisch programmiert werden kann. Unterteilt ist dieses Tool in eine Entwicklungsumgebung (graphische Programmierung und Drag'n'Drop-GUI-Editor) und der Runtime.
Das Tool bietet eine Grundfunktionalität in Form von verwendbaren Objekten (z.B. Formelobjekte; Wertfilterung, -begrenzung, -skalierung; Flipflops; Flankendetektion; SQL; Profibus; TCP/IP; Logikgatter; Mittelwertbildung; Multiplexer; Trenddiagramm; etc etc etc). Wem das nicht ausreicht, kann eigene Objekte programmieren (C++ oder C#), die dann in der Entwicklungsumgebung eingebunden und für die graphische Programmierung verwendet werden können. Beispielhaft habe ich äußerst rudimentär eine Anbindung für ein Temperatur- und AmbientLight-Bricklet programmiert.
Nachteilig an dieser Lösung ist die fehlende Code-Generierung (und die Runtime-Abhängigkeit).
Anbei 2 Screenshot einer minimalen Beispielanwendung.
dev.png: Temperature und Illuminance der beiden Bricklets werden periodisch ausgelesen. Illuminance geht direkt auf's Diagramm (Trend). Die Temperatur geht einerseits auch direkt auf's Diagramm (wird aber nicht angezeigt), zum anderen werden die Temperaturen mit einem Block-Median und anschließender Blockmittelwertbildung ordentlich glattgebügelt dargestellt.
run.png: laufendes Programm mit der Darstellung der Temperatur und Umgebungshelligkeit in meinem Büro (linke Temperaturskala ist abgeschnitten)...
Lange Rede, kurzes Fazit: Für's Rapid Prototyping ist das genial - für eine autarke Lösung (embedded pc ö.ä.) ist es jedoch nicht geeignet... Vielleicht kann das ja als Anregung dienen.