How might I express a sequence of operations in formal terms? I want to be able to represent a set of operations in sequential order such that they will represent what is traditionally called a "function" (which is not always the mathematical definition of a "function"). However, I'm trying to define more primitive terms:


object - Anything that can be manipulated throughout the course of a program; that is, they can be read and set.


place - A container that can hold value. (e.g. variables)
value - A value. (e.g. 2+2 is a value but not a variable).

procedure - A sequence of operations.


I want to be able to define procedure in more definite terms. Note that I will be starting without the definitions of operations, as I want to be able to define basic operations as procedures.

I know that I may want to introduce the sense of "time" and "space" for programs, time being necessary due to the definition of "sequence" that I put forth. Is there a better way to define it? Is there already work out there that explores this?

How would you formally define a procedure or operation at its most basic level?
Take a look at Gurevich's abstract state machines. See also the abstract state machine homepage. A key paper is Gurevich's Sequential Abstract State Machines Capture Sequential Algorithms.