{"title":"通过机器辅助转换实现软件的形式化开发","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":"{\"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}","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}
Formalised development of software by machine assisted transformation
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.