views:

49

answers:

0

I have to implement some scripting capabilities in our product. The scripting will typically be used for simple things such as:

IF param1 > 5 + param3 AND current time > 18.00:
  SET param2 TO 3
ELSE
  SET param2 TO 4

Another very common task is to let a parameter vary over the day, preferably using some line diagram with setpoints that can be moved around visually etc.

Now, I need inspiration for how to implement this. The very outdated tool our clients use today is little more than a graphical basic dialect: you don't have to type the script in plain text but can drag symbols such as "IF", "THEN", "ELSE", "Parameter", "Current time", etc, onto a canvas, and you have to know and understand the syntax and semantics. I think we could do better.

I've been looking around for graphical languages, but I've yet to find a compelling system.

For example, there's the Lego Mindstorm language, that is very simple but it's very directed to automation, and does not handle math and logic very nice. There's labview, which seems a little too complicated for the typical users. There's ladder-programming as used for PLC's, but my experience is that they are also very automation-oriented and doesn't handle math very well. There's the interconnected-boxes approach of Yahoo Pipes and some software synthesizers, but they also get cumbersome to work with when math is needed, and control sequences are not very natural. Then there's very simple, wizard-style alternatives, such as the filters in Outlook and Evolution, but I don't think they are flexible enough.

So, what graphical languages have you stumbled upon and kind-of liked? (I know hardly no programmers, myself included, enjoy these kind of languages, but they serve a purpose here I think.)