Concurrency in modula-2

A concurrent program is one in which a number of processes are considered to be active simultaneously . It is possib l e to t hink of a process as being a separate sequential program executing independently of other processes, although perhaps communicating with them at desired pOints . The concurre...

Full description

Bibliographic Details
Main Author: Sewry, David Andrew
Format: Others
Language:English
Published: Rhodes University 1985
Subjects:
Online Access:http://hdl.handle.net/10962/d1004369
id ndltd-netd.ac.za-oai-union.ndltd.org-rhodes-vital-4582
record_format oai_dc
spelling ndltd-netd.ac.za-oai-union.ndltd.org-rhodes-vital-45822018-11-20T06:11:55ZConcurrency in modula-2Sewry, David AndrewModula-2 (Computer program language)Programming languages (Electronic computers)Computer multitaskingA concurrent program is one in which a number of processes are considered to be active simultaneously . It is possib l e to t hink of a process as being a separate sequential program executing independently of other processes, although perhaps communicating with them at desired pOints . The concurrent program, as a whole, can be executed in one of two ways: il ii) in true concurrent manner, wi th each process executing on a dedicated processor in a quasi - concurrent manner, where a processor's processes . time is multiplexed between single the There are two motivations for the study of concurrency in programming languages : i) concurrent programming facilities can be exploited in systems where one has more t han one processor . As technology i mproves, machines having multiple processors will proliferate ii) concurrent p r ogramming facilities may allow programs to be structured as independent , bu t co - operating, processes which can then be implemented on a single processor system . This structure may be more natural to the programmer then the traditional sequential structures. An example is provided by Conway's - 1- Clearly, languages Pascal) problem [Ben82] . by their very nature, traditional sequential- type (Fortran, Basic, Cobol and earlier versions of prove inadequate for the purposes of concurrent programming without considerable extension (which some manufacturers have provided, rendering their compilers non standard-conforming). The general convenience of high level languages provides strong motivation for their development for rea l time programming. Modula - 2 [Wir83] is but one of a number of such r ecently developed languages, designed not only to fulfil a "sequential" role but also to offer facilities for concurrent programming. Developed by Niklaus Wirth in 1979 as a successor to Pascal and Modula, it is intended to serve under the banner of a generalpurpose systems - implementation language. This thesis investigates concurrency i n Modula - 2 and takes the following form: i ) an analYSis of the concurrent facilities offered ii) problems and difficulties associated with these facilities iii) improveme nts and enhancements, including the feasibility of using Modula - 2 to simulate constructs found in other languages, such as the Hoare monitor [Hoa74] and the Ada rendezvous [Uni81]. - 2- Each section concludes with an appraisal of the work conducted in that section . The final section consists of a critical assessment of those Modula - 2 language constructs and facilities provided for the implementation of concurrency and a brief look at concurrency in Modula, Modula-2's predecessor. - Introduction.KMBT_363Adobe Acrobat 9.53 Paper Capture Plug-inRhodes UniversityFaculty of Science, Computer Science19852013-03-13ThesisMastersMSc190 p.pdfvital:4582http://hdl.handle.net/10962/d1004369EnglishSewry, David Andrew
collection NDLTD
language English
format Others
sources NDLTD
topic Modula-2 (Computer program language)
Programming languages (Electronic computers)
Computer multitasking
spellingShingle Modula-2 (Computer program language)
Programming languages (Electronic computers)
Computer multitasking
Sewry, David Andrew
Concurrency in modula-2
description A concurrent program is one in which a number of processes are considered to be active simultaneously . It is possib l e to t hink of a process as being a separate sequential program executing independently of other processes, although perhaps communicating with them at desired pOints . The concurrent program, as a whole, can be executed in one of two ways: il ii) in true concurrent manner, wi th each process executing on a dedicated processor in a quasi - concurrent manner, where a processor's processes . time is multiplexed between single the There are two motivations for the study of concurrency in programming languages : i) concurrent programming facilities can be exploited in systems where one has more t han one processor . As technology i mproves, machines having multiple processors will proliferate ii) concurrent p r ogramming facilities may allow programs to be structured as independent , bu t co - operating, processes which can then be implemented on a single processor system . This structure may be more natural to the programmer then the traditional sequential structures. An example is provided by Conway's - 1- Clearly, languages Pascal) problem [Ben82] . by their very nature, traditional sequential- type (Fortran, Basic, Cobol and earlier versions of prove inadequate for the purposes of concurrent programming without considerable extension (which some manufacturers have provided, rendering their compilers non standard-conforming). The general convenience of high level languages provides strong motivation for their development for rea l time programming. Modula - 2 [Wir83] is but one of a number of such r ecently developed languages, designed not only to fulfil a "sequential" role but also to offer facilities for concurrent programming. Developed by Niklaus Wirth in 1979 as a successor to Pascal and Modula, it is intended to serve under the banner of a generalpurpose systems - implementation language. This thesis investigates concurrency i n Modula - 2 and takes the following form: i ) an analYSis of the concurrent facilities offered ii) problems and difficulties associated with these facilities iii) improveme nts and enhancements, including the feasibility of using Modula - 2 to simulate constructs found in other languages, such as the Hoare monitor [Hoa74] and the Ada rendezvous [Uni81]. - 2- Each section concludes with an appraisal of the work conducted in that section . The final section consists of a critical assessment of those Modula - 2 language constructs and facilities provided for the implementation of concurrency and a brief look at concurrency in Modula, Modula-2's predecessor. - Introduction. === KMBT_363 === Adobe Acrobat 9.53 Paper Capture Plug-in
author Sewry, David Andrew
author_facet Sewry, David Andrew
author_sort Sewry, David Andrew
title Concurrency in modula-2
title_short Concurrency in modula-2
title_full Concurrency in modula-2
title_fullStr Concurrency in modula-2
title_full_unstemmed Concurrency in modula-2
title_sort concurrency in modula-2
publisher Rhodes University
publishDate 1985
url http://hdl.handle.net/10962/d1004369
work_keys_str_mv AT sewrydavidandrew concurrencyinmodula2
_version_ 1718796030852464640