By "sequential independent", I mean the process remains the same no matter how you change the order of its subroutines. Better to be some term frequently used in math or engineering.
closed as off topic by Lynn, FumbleFingers, Jasper Loy, Kris, Mitch Mar 6 '12 at 15:36
Questions on English Language & Usage Stack Exchange are expected to relate to English language and usage within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.
I don't know of a term in common use in mathematics or engineering that expresses sequential-independence of elements of a process. The previously-mentioned commutative has some senses relating to morphisms which are too specialized to apply, but its main sense is suggestive of a proper meaning: in "mathematics, of a binary operation, such that the order in which the operands are taken does not affect their image under the operation". But speaking of subroutines as commutative may confuse or mislead some readers.
Consider terms like fully permutable, fully task-parallel, order-free, freely-ordered, barrierless, and barrier-free. Some of these are clumsy or obscure, but the easily-understood and technically correct term freely-ordered may serve. You could also parenthetically define commutative by writing "These subroutines are commutative (that is, are fully permutable and may be freely ordered) ...", and thereafter use commutative in that well-defined sense.
Mathematically speaking, It sounds like the process steps are both associative: (a + b) + c = a + (b + c), and commutative: a + b = b + a. So it doesn't matter what order the steps are in, nor how they are grouped.
First, we need to correct the title of your question. It is not the program that is sequentially independent, but a certain subset of the set of its subroutines (perhaps the entire set of its subroutines, and you seem to intimate). That correction done, the bottom line is that the best answers you are going to get are not much better than the one you already propose, namely, “sequentially-independent” – that is, it’s going to take a hyphenated term to get the meaning across, and the synonyms offered up to you, “order-free”, “executionally-unrelated” etc., are not going to be much of an improvement over that. But anyway, here’s my take:
The ultimate technical notion here is that of what is called, in Mathematics, a “partially-ordered set” (canonically typified by the relation “is a subset of” on the set of all subsets of a given set), often abbreviated to “POSET”.
The situation described by the OP widely occurs also in ordinary life. That is, we have a major task to accomplish that is comprised of sub-tasks, some of which can be done in any order. A canonical example is the task of getting ready in the morning to go to work. Some things, say, shaving, “must” come before others, such as, say, putting on your shirt and tie, while others, such as brushing your teeth, combing your hair, and shaving, can be done in any order, although, of course, SOME order must be chosen. So, the relevant concept is that two or more of the items of a partially-ordered set may be UNRELATED. Therefore, you could say that the subroutines are "executionally-unrelated". However, the synonyms given by jwpat7 are good, the best of his being “order-free” I would say.
Technical terms, such as “DNA”, “set”, “subset”, etc., are constantly seeping into ordinary language, and this is another case ripe for that, and so it is entirely appropriate that this question appear in this forum, because although the SOURCE may be technical, the OP is wanting to put it to use in an ordinary language (i.e., human-readable documentation) way.
One of the bragging points of English is its huge vocabulary, and so it is perhaps with some poetic justice that its enthusiasts be pestered on a regular basis by requests for “a term for everything, whether it's just been discovered or not”…:)
I noticed that you sometimes use Python, so I will use Python-style notation, but with the extra feature of user-definable binary operators.
The words you are looking for are commute (verb), commutative (adjective) and commutativity (noun). You are probably familiar with commutativity as a property of binary operators:
so you might it’s strange to talk about commutativity in situations like this:
but that’s just a matter of syntax. The functional language Haskell uses the binary operator
In this case, it is an error to walk through the doorway before you open the door, so