MODULA: a language for modular multiprogramming

  title={MODULA: a language for modular multiprogramming},
  author={Niklaus Wirth},
This paper defines a language called Modula, which is intended primarily for programming dedicated computer systems, including process control systems on smaller machines. The language is largely based on Pasca l, but in addition to conventional block ) structure it introduces a so called module structure . A module is a set of procedures, data types, and variables, where the programmer has precise control over the names that are imported from and exported to the environment. Modula includes… 

Tables from this paper

A concurrent microprogramming facility
The Concurrent Microprogramming Facility is described, a general-purpose microcode operating system that applies recent advances in programming technology to define a uniform method of expressing this inherent asynchrony and is shown to be the basis for the partition of the microcode function.
Modules, Program Structures and the Structuring of Operating Systems
In this paper some views are presented on the way in which complex systems, such as Operating Systems and the programs to be interfaced with them can be constructed, and how such systems may become
Beyond concurrent Pascal
It is demonstrated that a fundamental solution of the difficulties with Concurrent Pascal, MODULA, and similar languages cannot be found in going back to classical implementation languages, but in designing languages that are not rich with special features, but powerful with respect to extension and shrinkage.
Facilitating Mixed Language Programming in Distrbuted Systems
An approach for facilitating mixed language programming in distributed systems is presented. It is based on adding a generic remote procedure call facility to each language, and the use of a type
Implementing Language Support in High-Level Languages
A model that generalizes the concept of a kernel, and defines akernel and the processes it supports to be at different levels of abstraction is presented, and a high-level language mechanism, the Execute statement, is proposed as the basis of the interface between a kernel and the process it supports.
A single user multiprocessor incorporating processor manipulation facilities
By being able to manipulate items of this type, a versatile computer and research tool is developed which enables further investigation into synchronisation protocols and interconnection techniques.
On the Design of a Language for Programming Real-Time Concurrent Processes
  • H. Schutz
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1979
In providing an overview of the language, the factors motivating the major design choices are discussed and a programming example illustrates how ILIAD might be applied.
The Pica-B Computer An Abstract Target Machine For A Transportable Single-User Operating Environment
The Pica-B computer is a simple abstract machine designed to facilitate the portability of a simple single user operating environment written in BCPL and serve as a possible solution to the current and future software crisis caused by the advent of the micro-computer.
An experiment to improve operand addressing
MCODE is a high-level language, stack machine designed to support strongly-typed, Pascal-based languages with a variety of data types in a modular programming environment and its design was compared for efficiency with the instruction sets of the Digital Equipment PDP-11 and VAX by examining the generated code from the same compiler.
Language features for parallel processing and resource control
This paper presents a set of language features for describing processes and process interaction, gives examples of their use, and briefly discusses their relation to the goals.


On multiprogramming, machine coding, and computer organization
A programming scheme is presented which avoids the concept of the interrupt and permits the specification of concurrent (or pseudoconcurrent) activities in a supposedly more perspicuous manner.
Monitors: an operating system structuring concept
This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in
Information Distribution Aspects of Design Methodology
The role of documentation in the design and implementation of complex systems is explored, resulting in suggestions in sharp contrast with current practice, and the thesis that such information "broadcasting is harmful, that it is helpful if most system information is hidden from most programmers, is supported.
The Mythical Man-Month
The author will list some of the assertions in the book and invite dispute or support from the audience in this public discussion of the published book.
An Axi omat i c De finition of the Language Pascal
Berichte des I nstituts für I nform a tik Nr
Reduktion elektrischer Netzwerke und Gauss ' sch e Elimination Numerische Pro z eduren I The Programming Language Pasca l
~L s.taken ~.b.wl wait( ~: s.taken