When software boils down to assembly, it is just a sequence of instructions like this:
mov rax, 1 mov rdi, 1 mov rsi, message mov rdx, 13 syscall mov rax, 60 xor rdi, rdi syscall
I am not sure exactly how the program evaluator works (the thing navigating about the assembly / machine code), but I think it just goes sequentially through the assembly code, jumping to different locations in the assembly / machine code when it encounters a jump/branch instruction.
Essentially, it is sequential computation. The information on the ordering of instructions is inherent in the fact that they are written next to each other in the code (they have an adjacent location).
I understand there could be parallel computation, but not too much interested in that for this question.
In cognitive architectures, instead of sequential computation, it is as if they make a bunch of decisions, and then perform the action. So instead of the next "instruction" being adjacent to the current instruction, the next instruction is computed dynamically. Not sure how to explain this any deeper.
Roughly, instead of the next instruction being found by looking ahead in some location space, the instruction is found by analyzing some information and selecting it based on some decision. Rule-based systems seem to be somewhat similar, but I haven't seen them described as models of computation.
Wondering if there is any research on this topic. Alternatives to the sequential computation method, such as this dynamically-computed-instruction method (like rule-based systems).