{"title":"Formalised development of software by machine assisted transformation","authors":"C. Runciman, M. Firth","doi":"10.1145/99569.99829","DOIUrl":null,"url":null,"abstract":"Development of a prototype into a final program proceeds by steps of transformational refinement, through successive versions. Every version satisfies the initial specification by construction, because every transformation step fully preserves behavioural meaning of programs. Transformations are selected to make later versions more efficient than earlier ones – meaning that computations use less time or less space or both. This increase in efficiency is typically achieved only by means of an increase in complexity. In particular, later versions are generally more complex to transform than earlier versions. So there is a trade-off, and in principle development can stop at any point.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"265 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Formal Methods in Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/99569.99829","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Development of a prototype into a final program proceeds by steps of transformational refinement, through successive versions. Every version satisfies the initial specification by construction, because every transformation step fully preserves behavioural meaning of programs. Transformations are selected to make later versions more efficient than earlier ones – meaning that computations use less time or less space or both. This increase in efficiency is typically achieved only by means of an increase in complexity. In particular, later versions are generally more complex to transform than earlier versions. So there is a trade-off, and in principle development can stop at any point.