{"title":"Protocol Extension: A Technique for Structuring Large Extensible Software-Systems","authors":"M. Franz","doi":"10.3929/ethz-a-006650217","DOIUrl":null,"url":null,"abstract":"A technique is described by which dynamically_loadable modules may add methods to existing classes at run_time. This leads to increased flexibility for structuring large extensible software_systems. Through the use of a doubly_indirect dispatch scheme, efficient method activation can be provided without the need to enumerate the set of methods applicable to a particular class at compile time. As a consequence, separately_compiled client modules are not invalidated when methods are added to an imported class. This reduces the number of recompilations and increases development efficiency. The new mechanism has been incorporated into a variant of the Oberon System. The paper proposes a set of syntactic extensions to the Oberon language and discusses implementation options.","PeriodicalId":167132,"journal":{"name":"Softw. Concepts Tools","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Softw. Concepts Tools","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3929/ethz-a-006650217","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
A technique is described by which dynamically_loadable modules may add methods to existing classes at run_time. This leads to increased flexibility for structuring large extensible software_systems. Through the use of a doubly_indirect dispatch scheme, efficient method activation can be provided without the need to enumerate the set of methods applicable to a particular class at compile time. As a consequence, separately_compiled client modules are not invalidated when methods are added to an imported class. This reduces the number of recompilations and increases development efficiency. The new mechanism has been incorporated into a variant of the Oberon System. The paper proposes a set of syntactic extensions to the Oberon language and discusses implementation options.