{"title":"Formal manipulation of modular software systems","authors":"R. Nord, Peter Lee, W. Scherlis","doi":"10.1145/99569.99825","DOIUrl":null,"url":null,"abstract":"We present a formally based method for systematically integrating software components. This is accomplished through the adjustment and mediation of abstract systems interfaces and their underlying data representations. The method provides the software designer with the ability to delay or revise design decisions in cases when it is difficult to reach an a priori agreement on interfaces and/or data representations. A moderate-scale example, drawn from the development of a simple interactive text editor, is provided to demonstrate the application of these techniques. The text buffer in an editor must support a va.riety of operations. These fall into groups determined by the most natural and efficient data representations that support the individual operations. \\Ve demonstrate how such data representations can be combined using formal program manipulation methods to obtain an efhcient composite representation that supports all of the operations. This approach can provide meaningful support for later adaptation. Should a new editor operation be added at a later time, the initial representations can be reused to support another combination step that obta.ins a new composite represent&ion t1ia.t works for all of the operations including the new one. This research was supported in part by the OIlice of Naval Research under contract N00014-84-K-0415 and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 5404, monitored by the Ofice of Naval Research under the same contract. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the oflicial policies, eitlvx expressed or implied, of DARPA or the U.S. Government. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791-415.5/90/0010-0090.,.$1.50","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Formal Methods in Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/99569.99825","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
We present a formally based method for systematically integrating software components. This is accomplished through the adjustment and mediation of abstract systems interfaces and their underlying data representations. The method provides the software designer with the ability to delay or revise design decisions in cases when it is difficult to reach an a priori agreement on interfaces and/or data representations. A moderate-scale example, drawn from the development of a simple interactive text editor, is provided to demonstrate the application of these techniques. The text buffer in an editor must support a va.riety of operations. These fall into groups determined by the most natural and efficient data representations that support the individual operations. \Ve demonstrate how such data representations can be combined using formal program manipulation methods to obtain an efhcient composite representation that supports all of the operations. This approach can provide meaningful support for later adaptation. Should a new editor operation be added at a later time, the initial representations can be reused to support another combination step that obta.ins a new composite represent&ion t1ia.t works for all of the operations including the new one. This research was supported in part by the OIlice of Naval Research under contract N00014-84-K-0415 and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 5404, monitored by the Ofice of Naval Research under the same contract. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the oflicial policies, eitlvx expressed or implied, of DARPA or the U.S. Government. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791-415.5/90/0010-0090.,.$1.50