{"title":"Report of evening session on hierarchical methods","authors":"K. Levitt","doi":"10.1145/800021.808272","DOIUrl":null,"url":null,"abstract":"Bill Riddle opened the meeting by posing the following questions: • What is a hierarchy? • How is a hierarchy helpful in designing and understanding a system? Later on in the meeting other important questions arose, namely: • How should the hierarchy be designed?(Dennis) • How should the hierarchy be implemented?(King) • Can a system be visualized as composed of just a single hierarchy?(Neumann) • What is the relationship between hierarchical design and structured programming? (Linden, Liskov) • How many levels are appropriate? Jack Dennis presented a viewpoint on bottom-up design, the aim of which was to seek some formal insight into Dijkstra's level of abstraction method. For this viewpoint: • The ultimate system consists of a number of levels, L^, L.,... • At a given L~ linguisticUcon ~ structs are developed that will be the primitives for the implementation of L.+_. • An undetermine~ traction of the primitives of L. will also be primitives of L~+ 1 • The linguistic constructs of L i can be proven semantically correct by demonstrating that the desired effect of a construct is indeed carried out by the primitives of L~ i used to implement the construct. This is the procedure followed by McCarthy and Painter in proving a simple interpreter. As an example Dennis considered L n to consist of a memory and a set of processor registers, and a primitive operation which is a mapping from memory-processor state to a new state. Level L 1 might be an elaboration of L 0 to include stored programs in the memory. The transposition between L and L 1 would involve a compression o9 states. At a higher level disc states would be provided as a way of introducing virtual memory. At this point questions were raised concerning the optimal set of primitives for a level. McKeag reviewed the methodology of level definition that Dijkstra followed in the THE system, which supports 5 users in a multiprogramming mode. Dijkstra defined six levels, namely: L 0 hardware L 1 process sharer (implements P, V operations) L 2 storage scheduler L 3 operator console scheduler L 4 I/O device drivers L 5 user processes Horn ing noted that the time allocated to a primitive in level L i is approximately an order of magnitude more then than for a primitive in Li_ 1 Jim King then presented another viewpoint of layered system design, the intention of …","PeriodicalId":161752,"journal":{"name":"SIGPLAN-SIGOPS Interface Meeting","volume":"216 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGPLAN-SIGOPS Interface Meeting","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800021.808272","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Bill Riddle opened the meeting by posing the following questions: • What is a hierarchy? • How is a hierarchy helpful in designing and understanding a system? Later on in the meeting other important questions arose, namely: • How should the hierarchy be designed?(Dennis) • How should the hierarchy be implemented?(King) • Can a system be visualized as composed of just a single hierarchy?(Neumann) • What is the relationship between hierarchical design and structured programming? (Linden, Liskov) • How many levels are appropriate? Jack Dennis presented a viewpoint on bottom-up design, the aim of which was to seek some formal insight into Dijkstra's level of abstraction method. For this viewpoint: • The ultimate system consists of a number of levels, L^, L.,... • At a given L~ linguisticUcon ~ structs are developed that will be the primitives for the implementation of L.+_. • An undetermine~ traction of the primitives of L. will also be primitives of L~+ 1 • The linguistic constructs of L i can be proven semantically correct by demonstrating that the desired effect of a construct is indeed carried out by the primitives of L~ i used to implement the construct. This is the procedure followed by McCarthy and Painter in proving a simple interpreter. As an example Dennis considered L n to consist of a memory and a set of processor registers, and a primitive operation which is a mapping from memory-processor state to a new state. Level L 1 might be an elaboration of L 0 to include stored programs in the memory. The transposition between L and L 1 would involve a compression o9 states. At a higher level disc states would be provided as a way of introducing virtual memory. At this point questions were raised concerning the optimal set of primitives for a level. McKeag reviewed the methodology of level definition that Dijkstra followed in the THE system, which supports 5 users in a multiprogramming mode. Dijkstra defined six levels, namely: L 0 hardware L 1 process sharer (implements P, V operations) L 2 storage scheduler L 3 operator console scheduler L 4 I/O device drivers L 5 user processes Horn ing noted that the time allocated to a primitive in level L i is approximately an order of magnitude more then than for a primitive in Li_ 1 Jim King then presented another viewpoint of layered system design, the intention of …