Any new simulation language (so many exist) must have something new to say; from its acronym, HSL claims to be hierarchical. Following a lengthy description of its basic features, we have a comparison with other languages, finishing with a meaty example.
The description of language features is turgid and could be improved by shortening. The authors also seem conceptually muddled. They confuse the process with a process instance, and then talk as if objects were quite separate things. The authors also seem uncertain about the readership being addressed. More than once, simple things are gravely and unnecessarily explained. Overall, the impression is one of deja vu.
In the comparison, the authors make a useful opposition between those process-interaction languages that belong to the scenario class and those of the procedural class; more could have been made of this distinction. The authors’ conclusion on Simula is the unsupported and cryptic statement that it is “clearly a programmer’s language.” What could this mean? Since all computer languages are presumably programming tools, is it an empty truism, or are programmers being dismissed as lesser beings than modelers?
More of the nature of HSL is revealed in the example of the machine shop. The program seems fairly straightforward and can be followed easily. Three weaknesses become apparent, however. We find that the simulationist must write her or his own loop control logic and that the modularizing effect of the process structure is squandered by being attached to a single activity. These flaws might be overlooked if HSL had something original to say. As far as being hierarchical is concerned, this lies in HSL’s ability to either call or schedule a process. It seems all the fuss boils down to the ability to decompose an activity into two consecutive ones.
HSL represents no particular advance in the problems it tries to solve, since the best of its properties were embodied in Simula 25 years ago. The claim to be hierarchical must be seen as spurious, since it “solves” a problem that is created by an omission in the authors’ own design. The best I can say of the paper is that it suggests an interesting approach to the subclassification of process-interaction languages.