Affiliation:
1. Princeton Univ., Princeton, NJ
Abstract
To cope with the complexity of very large systems, it is not sufficient to divide them into simple pieces because the pieces themselves will either be too numerous or too large. A hierarchical modular structure is the natural solution. In this article we explain how that approach can be applied to software. Our compilation manager provides a language for specifying where individual modules fit into a hierarchy and how they are related semantically. We pay particular attention to the structure of the global name space of program identifiers that are used for module linkage because any potential for name clashes between otherwise unrelated parts of a program can negatively affect modularity. We discuss the theoretical issues in building software hierarchically, and we describe our implementation of CM, the compilation manager for Standard ML of New Jersey.
Publisher
Association for Computing Machinery (ACM)
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Behavior Trees in Robot Control Systems;Annual Review of Control, Robotics, and Autonomous Systems;2021-12-07
2. A New Backend for Standard ML of New Jersey;IFL 2020: Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages;2020-09-02
3. The history of Standard ML;Proceedings of the ACM on Programming Languages;2020-06-12
4. Towards an Agile Concern-Driven Development Process;2019 IEEE/ACM International Conference on Software and System Processes (ICSSP);2019-05
5. Recent advances in biomedical simulations: a manifesto for model engineering;F1000Research;2019-03-05