[SIGCIS-Members] Invention of the concept of process

Paul McJones paul at mcjones.org
Sun Dec 30 09:21:51 PST 2018


Brian,

I should have recalled your paper! Its comprehensive literature survey and synthesis of an abstract model is an excellent starting point for further historical study.


Paul


> On Dec 30, 2018, at 3:46 AM, Brian Randell <brian.randell at newcastle.ac.uk> wrote:
> 
> Hi Paul:
> 
> Off and on over a period of several years starting in the late 60s I worked with the late Jim Horning on attempting to clarify and formalise the concept of a process, and to understand the various ways in which processes could be usefully structured - the eventual result was a lengthy survey paper: Horning J.J., Randell B. Process Structuring. ACM Computing Surveys 1973, 5(1), 5-30.
> 
> Quoting from this:
> 
> "It has been said that “The concept of process is . . . an abstract one, and may be compared with that of the life of an organism; in neither case is it very easy to pin the concept down in a definition.” [36] Even a casual survey of the literature [e.g., 3, 8-11, 13, 17, 18, 23, 28, 29, 34] shows the lack of any general agreement on a precise definition of “process.” Three distinct aspects of the process concept are emphasized in various definitions. The process concept is used to model: 
> 1) The status of a system. 
> “A process is a locus of control within an instruction sequence. That is, a process is that abstract entity which moves through the instructions of a procedure as the procedure is executed by a processor.” [10] 
> 2) Some sequence of status values. 
> “ . . . a ‘sequential process’ can be considered as a sequence of actions that will be performed when an input tape has been supplied to an abstract machine.” [18]
> 3) A means of generating a class of such sequences. 
> “An ALGOL program (block) specifies a sequence of operations on data local to the program, as well as the structure of the data themselves. SIMULA extends ALGOL to include the notion of a collection of such programs, called processes, conceptually operating in parallel. . . The process concept is intended as an aid for decomposing a discrete event system into components, which are separately describable. In general a process has two aspects: it is a data carrier and it will execute actions.” [8]
> Although no one of these provides a complete basis for the definition of “process”, each is important to our study, and it is helpful to use different names for each. Thus, we will refer to the “state” of a process, or to a “computation,” which is a sequence of its states, or to the “action function,” which generates its computations. We will discuss each of the concepts in some detail, and then present what we believe to be an adequate and precise definition of “process”."
> 
> The above referenced-publications are:
> 
> [3] BRINCH HANSEN, P. “The nucleus of a multiprogramming system.” Comm. ACM 13, 4 (1970), 238-241, 250. 
> [8] DAHL, O. J., AND NYGAARD, K. “SIMULA–an ALGOL-based simulation language.” Comm. ACM 9, 9 (1966), 671-678. 
> [9] DENNING, P. J. “Third generation computer systems.” Computing Surveys 3, 4 (1971), 175-216. 
> [10] DENNIS, J. B., AND VAN HORN, E. C. “Programming semantics for multiprogrammed computations.” Comm. ACM 9, 3 (1966), 143-155. 
> [11] DIJKSTRA, E. W. Cooperating sequential processes. Report EWD 123, Mathematical Department, Technological University, Eindhoven, The Netherlands, September 1965. [Reprinted in Programming Languages (F. Genuys Ed.) Academic Press, London, 1968.] 
> [13] DIJKSTRA, E. W. “The structure of the “THE” multiprogramming system.” Comm. ACM 11, 5 (1968), 341-346. 
> [17] GILBERT, P.; AND CHANDLER, W. J. “Interference Between Communicating. Parallel Processes.” Comm. ACM 15, 6 (1972), 427-437. 
> [18] HABERMANN, A. N. “On the harmonious cooperation of abstract machines.” PhD Thesis, Technological University, Eindhoven, The Netherlands, 1967. 
> [23] LAMPSON, B. W. “A scheduling philosophy for multi-processing systems.” Comm. ACM 11, 5 (1968) 347-360. 
> [28] PARNAS, D. L. On identifying processes within an operating computer system. Dept. of Computer Science, Carnegie-Mellon Univ. Pittsburgh, Pa. (unpublished). 
> [29] SALZTER, J. H. “Traffic control in a multiplexed computer system.” PhD Thesis, MIT, Cambridge, Mass., July 1966. 
> [34] VAN HORN, E. C. Computer design for asynchronously reproducible multi-processing. MIT Project MAC Technical Report, MAC-TR-34 November 1966. 
> [36] WILKES, M. V. Time-sharing computer systems. Macdonald & Co., London, 1968. 
> 
> The introduction to our chapter "Processes and Processors: Basic Definitions" started:
> 
> "In this paper we use the concept of “process” as a mathematical tool to explain, predict, and understand the behavior of a class of physical devices exemplified by digital computer systems. These devices (which are viewed as “processors”) are characterized by the fact that their interesting behavior is predictable, and consists of sequences of values of well-defined physical quantities (e.g., voltages on wires, magnetizations of cores, characters printed on paper), which represent the “information” of the system at discrete instants of time. The relation of a process to a processor is similar to the relation of a theory of physics (e.g., the “law of gravitation”) to the objects of that theory (e.g., the motion of planets); the theory is useful to the degree that it provides a sufficiently close approximation to its objects, yet remains understandable. An important difference is that processes are often developed before the processors they model exist. If a process exhibits desirable properties, then it is generally possible to construct a corresponding processor, using the process as a specification."
> 
> The formal definition of process that we arrived at was:
>  
> "A process is a triple (S, f, s), where S is a state space, f is an action function in that space, and s is the subset of S which defines the initial states of the process."
> 
> I hope the above will help the present discussion on the origins of the concept.
> 
> Cheers
> 
> Brian Randell
> 
> 
>  
> 
>> On 30 Dec 2018, at 04:23, Paul McJones <paul at mcjones.org <mailto:paul at mcjones.org>> wrote:
>> 
>> Laurent,
>> 
>> Edsger Dijkstra’s “Cooperating Sequential Processes" (EWD123) was written in 1965 (http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF <http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF>). His original paper on semaphores (EWD35) was written in Dutch several years before that (http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD35.html <http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD35.html>).
>> 
>> By 1965, the term process was becoming fairly well-known in operating systems circles. For example, in a paper presented in 1965, Jack Dennis wrote:
>> 
>> Processes. We consider that the system hardware comprises one or more processors, which we can identify as being distinct from the main memory, the file storage devices and the input/output devices. Each processor is capable of executing algorithms that are specified by sequences of instructions. A process is a locus of control within an instruction sequence. That is, a process is that abstract entity which moves through the instructions of a procedure as the procedure is executed by a processor.
>> 
>> This is from: Jack B. Dennis and Earl C. Van Horn. 1966. Programming semantics for multiprogrammed computations. Commun. ACM 9, 3 (March 1966), 143-155. DOI=http://dx.doi.org/10.1145/365230.365252 <http://dx.doi.org/10.1145/365230.365252>
>> 
>> 
>> Paul
>> 
>> 
>>> On Dec 29, 2018, at 8:09 PM, Laurent Bloch <lb at laurentbloch.org <mailto:lb at laurentbloch.org>> wrote:
>>> 
>>> Le dimanche 30 décembre 2018 Grider, Gary Alan a écrit ceci :
>>> 
>>>> Hasn’t there been great debate about when the first "stored program" was accomplished?  Some said on Maniac by Metropolis but others disagree I think.
>>> 
>>> I would say that the concept of a process may appear when there are more than one program, potentially ready to execute, and in competition to access the processor.
>>> 
>>>> If that is what you are looking for I am pretty sure it was well before CTSS or Multics.  I think CTSS and Multics were in pursuit of time sharing (or multiple stored programs).
>>>> I think the first implementation of process pipes might have been Demos but that was way after CTSS days.
>>>> 
>>>> Gary
>>>> 
>>>> On 12/29/18, 8:37 PM, "Members on behalf of Laurent Bloch" <members-bounces at lists.sigcis.org <mailto:members-bounces at lists.sigcis.org> on behalf of lb at laurentbloch.org <mailto:lb at laurentbloch.org>> wrote:
>>>> 
>>>>    Le samedi 29 décembre 2018 McMillan, William W a écrit ceci :
>>>> 
>>>>> "..., my question was about computer processes, i.e. programs in execution ..."
>>>>> 
>>>>> Laurent, do you mean process in the sense of a computer program loaded (at least partially) into primary memory, described by a process control block, and managed by an operating system?  
>>>> 
>>>>    Yes, it is precisely the kind of entity I am asking about. I would say it appears with CTSS or Multics, but I am not sure. Once I read the name of the creator of the concept, but I did not write it down and I forgot, hence my question.
>>>> 
>>>>> Or is the topic more broad than that?
>>>>> 
>>>>> Bill
>>>>> 
>>>>> ________________________________________
>>>>> From: Members [members-bounces at lists.sigcis.org <mailto:members-bounces at lists.sigcis.org>] on behalf of Laurent Bloch [lb at laurentbloch.org <mailto:lb at laurentbloch.org>]
>>>>> Sent: Saturday, December 29, 2018 6:03 PM
>>>>> To: James Cortada
>>>>> Cc: SIGCIS
>>>>> Subject: Re: [SIGCIS-Members] Invention of the concept of process
>>>>> 
>>>>> Le samedi 29 décembre 2018 James Cortada a écrit ceci :
>>>>> 
>>>>>> It might help to give us some context for your question.  For example, if
>>>>>> interested in process in business, then it emerges in the late 19th century
>>>>>> and in the second half of the 20th becomes process management, TQM etc.  If
>>>>>> in science, then it is language substituted for what otherwise we all think
>>>>>> of as the scientific method.  Even earlier the notions of methods and
>>>>>> techniques are embodiments of the idea of process.  Hence, my request for
>>>>>> context.    
>>>>> 
>>>>> Well, my question was about computer processes, i.e. programs in execution in a computer, sometimes also called tasks.
>>>>> 
>>>>>> On Sat, Dec 29, 2018 at 4:56 PM Laurent Bloch <lb at laurentbloch.org <mailto:lb at laurentbloch.org>> wrote:
>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> Surely many of you know the answer: who invented the concept of process,
>>>>>>> and when?
>>>>>>> 
>>>>>>> Thank you for your answers. Have a nice Sunday!
>>>>>>> 
>>>>>>> --
>>>>>>> Laurent Bloch - https://laurentbloch.net <https://laurentbloch.net/> - lb at laurentbloch.org <mailto:lb at laurentbloch.org>
>>>>>>> Si vous trouvez que l'éducation coûte cher, essayez l'ignorance !
>>>>>>> (A. Lincoln)
>>>>>>> _______________________________________________
>>>>>>> This email is relayed from members at sigcis.org <http://sigcis.org/>, the email discussion
>>>>>>> list of SHOT SIGCIS. Opinions expressed here are those of the member
>>>>>>> posting and are not reviewed, edited, or endorsed by SIGCIS. The list
>>>>>>> archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ <http://lists.sigcis.org/pipermail/members-sigcis.org/> and
>>>>>>> you can change your subscription options at
>>>>>>> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>    
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> James W. Cortada
>>>>>> Senior Research Fellow
>>>>>> Charles Babbage Institute
>>>>>> University of Minnesota
>>>>>> jcortada at umn.edu <mailto:jcortada at umn.edu>
>>>>>> 608-274-6382    
>>>>> 
>>>>> 
>>>>> --
>>>>> Laurent Bloch - https://laurentbloch.net <https://laurentbloch.net/> - lb at laurentbloch.org <mailto:lb at laurentbloch.org>
>>>>> Si vous trouvez que l'éducation coûte cher, essayez l'ignorance !
>>>>> (A. Lincoln)  
>>>> 
>>>> 
>>>>    -- 
>>>>    Laurent Bloch - https://laurentbloch.net <https://laurentbloch.net/> - lb at laurentbloch.org <mailto:lb at laurentbloch.org>
>>>>    Si vous trouvez que l'éducation coûte cher, essayez l'ignorance !
>>>>    (A. Lincoln)
>>>> 
>>>> 
>>> 
>>> 
>>> -- 
>>> Laurent Bloch - https://laurentbloch.net <https://laurentbloch.net/> - lb at laurentbloch.org <mailto:lb at laurentbloch.org>
>>> Si vous trouvez que l'éducation coûte cher, essayez l'ignorance !
>>> (A. Lincoln)
>>> _______________________________________________
>>> This email is relayed from members at sigcis.org <http://sigcis.org/>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are athttp://lists.sigcis.org/pipermail/members-sigcis.org/ <http://lists.sigcis.org/pipermail/members-sigcis.org/> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>
>> _______________________________________________
>> This email is relayed from members at sigcis.org <http://sigcis.org/>, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ <http://lists.sigcis.org/pipermail/members-sigcis.org/> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>
>> 
> School of Computing, Newcastle University, 1 Science Square, 
> Newcastle upon Tyne, NE4 5TG
> EMAIL = Brian.Randell at ncl.ac.uk <mailto:Brian.Randell at ncl.ac.uk>   PHONE = +44 191 208 7923
> URL = http://www.ncl.ac.uk/computing/people/profile/brianrandell.html <http://www.ncl.ac.uk/computing/people/profile/brianrandell.html>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20181230/4772001f/attachment.html>


More information about the Members mailing list