Design of a high-level language machine*

G. Battarel, R. J. Chevance
{"title":"Design of a high-level language machine*","authors":"G. Battarel, R. J. Chevance","doi":"10.1145/1318441.1318442","DOIUrl":null,"url":null,"abstract":"There is at present a broad consensus that a capability-based architecture is the best approach to safe systems. 5 , 3 , 6 However, at the bare hardware level, a machine should provide for a set of basic mechanisms (e.g. processor assignment, manipulation of queues of processes, definition of and manipulation on domains) without prejudging of any policy to be applied to these elements. The internal structure of the objects referred to by capabilities, the way they are organized into capability lists and the evolution of these lists in relation to various events appearing throughout the life of a program and of its possible activations should appear at some higher level, so that they can be modified without disturbing the hardware. This demands flexibility (the capability for emulating, for instance), adaptability (to future modifications) or the ability to define a machine which could be orientated, on demand, toward a certain class of applications (see for instance, the Burroughs B1700 approach). In the following, we shall be concerned mainly with this level, which we shall call \"virtual architecture level.\" Considering a basic architecture, which we describe briefly, we define a virtual architecture for higher-level languages (namely PL/1, COBOL, FORTRAN and the system implementation language LIS, 13 ) called the HLL-machine in this discussion. The objectives of the HLL-machine are the following: • To define a virtual architecture as clean and homogeneous as possible, on which compilers may become more simple, and debugging aids more powerful. • To define a minimum of intermediate languages, ideally, just one, for supporting PL/1, COBOL and FORTRAN. • To define a set of run-time mechanisms enforcing safety. • To obtain more compact object programs, as compared to third generation computer systems, so as to reduce the working sets of programs. • To abide by the error confinement principle, which states that a procedure should not have at its disposal more capabilities than actually required for its execution. • To improve overall system performance.","PeriodicalId":341008,"journal":{"name":"1979 International Workshop on Managing Requirements Knowledge (MARK)","volume":" 35","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1978-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1979 International Workshop on Managing Requirements Knowledge (MARK)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1318441.1318442","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

There is at present a broad consensus that a capability-based architecture is the best approach to safe systems. 5 , 3 , 6 However, at the bare hardware level, a machine should provide for a set of basic mechanisms (e.g. processor assignment, manipulation of queues of processes, definition of and manipulation on domains) without prejudging of any policy to be applied to these elements. The internal structure of the objects referred to by capabilities, the way they are organized into capability lists and the evolution of these lists in relation to various events appearing throughout the life of a program and of its possible activations should appear at some higher level, so that they can be modified without disturbing the hardware. This demands flexibility (the capability for emulating, for instance), adaptability (to future modifications) or the ability to define a machine which could be orientated, on demand, toward a certain class of applications (see for instance, the Burroughs B1700 approach). In the following, we shall be concerned mainly with this level, which we shall call "virtual architecture level." Considering a basic architecture, which we describe briefly, we define a virtual architecture for higher-level languages (namely PL/1, COBOL, FORTRAN and the system implementation language LIS, 13 ) called the HLL-machine in this discussion. The objectives of the HLL-machine are the following: • To define a virtual architecture as clean and homogeneous as possible, on which compilers may become more simple, and debugging aids more powerful. • To define a minimum of intermediate languages, ideally, just one, for supporting PL/1, COBOL and FORTRAN. • To define a set of run-time mechanisms enforcing safety. • To obtain more compact object programs, as compared to third generation computer systems, so as to reduce the working sets of programs. • To abide by the error confinement principle, which states that a procedure should not have at its disposal more capabilities than actually required for its execution. • To improve overall system performance.
一个高级语言机器的设计*
目前有一个广泛的共识,即基于能力的架构是安全系统的最佳方法。5,3,6然而,在裸硬件级别,机器应该提供一组基本机制(例如处理器分配、进程队列的操作、域的定义和操作),而不需要预先判断应用于这些元素的任何策略。功能所指的对象的内部结构,它们被组织到功能列表中的方式,以及这些列表与整个程序生命周期中出现的各种事件及其可能的激活相关的演变应该出现在某个更高的级别,以便可以在不干扰硬件的情况下修改它们。这需要灵活性(例如,模拟的能力)、适应性(对未来修改的能力)或定义机器的能力,该机器可以根据需要面向某一类应用程序(例如,参见Burroughs B1700方法)。在下文中,我们将主要关注这一层,我们称之为“虚拟架构层”。考虑到我们简要描述的基本体系结构,我们在本讨论中为高级语言(即PL/1、COBOL、FORTRAN和系统实现语言LIS, 13)定义了一个称为hhl -machine的虚拟体系结构。hhl -machine的目标如下:•定义一个尽可能干净和同构的虚拟架构,在这个架构上编译器可能会变得更简单,调试辅助也会变得更强大。•定义最少的中间语言,最好只有一种,以支持PL/1, COBOL和FORTRAN。•定义一组执行安全的运行时机制。•与第三代计算机系统相比,获得更紧凑的目标程序,从而减少程序的工作集。•遵守错误限制原则,即程序不应拥有比实际执行所需更多的能力。•提高整体系统性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信