Communications of the ACM
On the transfer of control between contexts
Programming Symposium, Proceedings Colloque sur la Programmation
Pilot: A software engineering case study
ICSE '79 Proceedings of the 4th international conference on Software engineering
A type-checking program linkage system for pascal
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Report on the programming language Euclid
ACM SIGPLAN Notices
Paradigms for design and implementation in ADA
Communications of the ACM
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Personal distributed computing: the Alto and Ethernet software
HPW '86 Proceedings of the ACM Conference on The history of personal workstations
Experience with a data base of programs
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Personal distributed computing: the alto and ethernet software
A history of personal workstations
Programming-in-the-large: past, present, and future
ICSE '92 Proceedings of the 14th international conference on Software engineering
Toward boxology: preliminary classification of architectural styles
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An experimental distributed modeling system
ACM Transactions on Information Systems (TOIS)
Pilot: an operating system for a personal computer
Communications of the ACM
TOS: kernel support for distributed systems management
Proceedings of the 2001 ACM symposium on Applied computing
Practical use of a polymorphic applicative language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Lilith: A personal computer for the software engineer
ICSE '81 Proceedings of the 5th international conference on Software engineering
Experience with a modular typed language: PROTEL
ICSE '81 Proceedings of the 5th international conference on Software engineering
Pilot: A software engineering case study
ICSE '79 Proceedings of the 4th international conference on Software engineering
Observations on the development of an operating system
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
PegaSys: A system for graphical explanation of program designs
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
The Mesa programming environment
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
A retrospective on the development of Star
ICSE '82 Proceedings of the 6th international conference on Software engineering
The Darwin software-evolution environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
An approach to distributed software systems
ACM SIGOPS Operating Systems Review
"Some concerns about Modula-2" considered unwarranted
ACM SIGPLAN Notices
The impact of research on middleware technology
ACM SIGSOFT Software Engineering Notes
The impact of research on middleware technology
ACM SIGOPS Operating Systems Review
Delivering real-time behaviour
Domain modeling and the duration calculus
The impact of research on the development of middleware technology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.03 |
The Mesa programming language supports program modularity in ways that permit subsystems to be developed separately but to be bound together with complete type safety. Separate and explicit interface definitions provide an effective means of communication, both between programs and between programmers. A configuration language describes the organization of a system and controls the scopes of interfaces. These facilities have had a profound impact on the way we design systems and organize development projects. This paper reports our recent experience with Mesa, particularly its use in the development of an operating system. It illustrates techniques for designing interfaces, for using the interface language as a specification language, and for organizing a system to achieve the practical benefits of program modularity without sacrificing strict type-checking.