{"title":"铜:将灵活的组件引入。net框架","authors":"Grant Williams, Anas Mahmoud","doi":"10.1109/ECASE.2017.1","DOIUrl":null,"url":null,"abstract":"Component-oriented programming languages(COPLs) bridge the gap between architecture descriptionlanguages (ADLs) and general purpose programming languages. COPLs emphasize designing software systems out of reusablecomponents which are connected by communication ports. These ports facilitate the design of highly modular softwarearchitecture. The flexibility of a component-based system, however, is partly dependent on the variety of ports andconnections that are available. More port and connectionfeatures enable system architects to design more loosely coupledand reusable software components. This paper introduces aprototype language extension to C#, called Copper, which addscomponent-oriented programming features to the developer'srepertoire. Copper is based on the Mono C# compiler, andprovides convenient syntax for connecting incompatible ports, connecting ports to multiple senders, embedding ports statically, and connecting ports to non-component services. Copper'sbackward compatibility with C# permits existing C# code to beincrementally refactored into a component-oriented style.","PeriodicalId":376859,"journal":{"name":"2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Copper: Bringing Flexible Components to the .NET Framework\",\"authors\":\"Grant Williams, Anas Mahmoud\",\"doi\":\"10.1109/ECASE.2017.1\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Component-oriented programming languages(COPLs) bridge the gap between architecture descriptionlanguages (ADLs) and general purpose programming languages. COPLs emphasize designing software systems out of reusablecomponents which are connected by communication ports. These ports facilitate the design of highly modular softwarearchitecture. The flexibility of a component-based system, however, is partly dependent on the variety of ports andconnections that are available. More port and connectionfeatures enable system architects to design more loosely coupledand reusable software components. This paper introduces aprototype language extension to C#, called Copper, which addscomponent-oriented programming features to the developer'srepertoire. Copper is based on the Mono C# compiler, andprovides convenient syntax for connecting incompatible ports, connecting ports to multiple senders, embedding ports statically, and connecting ports to non-component services. Copper'sbackward compatibility with C# permits existing C# code to beincrementally refactored into a component-oriented style.\",\"PeriodicalId\":376859,\"journal\":{\"name\":\"2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE)\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-05-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ECASE.2017.1\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering (ECASE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ECASE.2017.1","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Copper: Bringing Flexible Components to the .NET Framework
Component-oriented programming languages(COPLs) bridge the gap between architecture descriptionlanguages (ADLs) and general purpose programming languages. COPLs emphasize designing software systems out of reusablecomponents which are connected by communication ports. These ports facilitate the design of highly modular softwarearchitecture. The flexibility of a component-based system, however, is partly dependent on the variety of ports andconnections that are available. More port and connectionfeatures enable system architects to design more loosely coupledand reusable software components. This paper introduces aprototype language extension to C#, called Copper, which addscomponent-oriented programming features to the developer'srepertoire. Copper is based on the Mono C# compiler, andprovides convenient syntax for connecting incompatible ports, connecting ports to multiple senders, embedding ports statically, and connecting ports to non-component services. Copper'sbackward compatibility with C# permits existing C# code to beincrementally refactored into a component-oriented style.