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...
Main Author: | |
---|---|
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 |