ASLs as a meta-language for cluster jobs

Short post. I was having a conversation on how to do some things on a cluster, and an idea was born. I’ll flesh it out a little more later on, but the gist is, can we create an application specific language (platform independent, for the hordes of windows cluster users in addition to the Linux cluster groups) to handle job flow?
Right now, the vast majority of queuing systems launch shell scripts. Or some sort of shell. The batch job is a shell script. Having just run into some really nice and enjoyable (not!) differences between bash on SuSE 9.3 and OpenSuSE 10.2, it seems that it would be nice to have an ASL to provide a more abstract implementation (e.g. easier to use) of a job than we have today.