{"title":"支持软件进化的组合样式","authors":"Oscar Nierstrasz, F. Achermann","doi":"10.1109/ISPSE.2000.913216","DOIUrl":null,"url":null,"abstract":"Software is not just difficult to develop, it is even more difficult to maintain in the face of changing requirements. The complexity of software evolution can, however be significantly reduced if we manage to separate the stable artifacts (the \"components\") from their configuration (the \"scripts\"). We have proposed a simple, unifying framework of forms, agents, and channels for modelling components and scripts, and we have developed an experimental composition language, called Piccola, based on this framework, that supports the specification of applications as flexible compositions of stable components. We show how Piccola can be used to reduce the complexity of software evolution through the specification and use of an appropriate compositional style, and we illustrate the approach through a non-trivial example of mixin layer composition.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":"{\"title\":\"Supporting compositional styles for software evolution\",\"authors\":\"Oscar Nierstrasz, F. Achermann\",\"doi\":\"10.1109/ISPSE.2000.913216\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software is not just difficult to develop, it is even more difficult to maintain in the face of changing requirements. The complexity of software evolution can, however be significantly reduced if we manage to separate the stable artifacts (the \\\"components\\\") from their configuration (the \\\"scripts\\\"). We have proposed a simple, unifying framework of forms, agents, and channels for modelling components and scripts, and we have developed an experimental composition language, called Piccola, based on this framework, that supports the specification of applications as flexible compositions of stable components. We show how Piccola can be used to reduce the complexity of software evolution through the specification and use of an appropriate compositional style, and we illustrate the approach through a non-trivial example of mixin layer composition.\",\"PeriodicalId\":170375,\"journal\":{\"name\":\"Proceedings International Symposium on Principles of Software Evolution\",\"volume\":\"8 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"23\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings International Symposium on Principles of Software Evolution\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISPSE.2000.913216\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings International Symposium on Principles of Software Evolution","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPSE.2000.913216","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Supporting compositional styles for software evolution
Software is not just difficult to develop, it is even more difficult to maintain in the face of changing requirements. The complexity of software evolution can, however be significantly reduced if we manage to separate the stable artifacts (the "components") from their configuration (the "scripts"). We have proposed a simple, unifying framework of forms, agents, and channels for modelling components and scripts, and we have developed an experimental composition language, called Piccola, based on this framework, that supports the specification of applications as flexible compositions of stable components. We show how Piccola can be used to reduce the complexity of software evolution through the specification and use of an appropriate compositional style, and we illustrate the approach through a non-trivial example of mixin layer composition.