Copper: Bringing Flexible Components to the.NET Framework

Document Type

Conference Proceeding

Publication Date

7-3-2017

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.

Publication Source (Journal or Book title)

Proceedings - 2017 IEEE/ACM 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering, ECASE 2017

First Page

29

Last Page

35

This document is currently not available here.

Share

COinS