Abstract

Component-oriented programming languages (COPLs) bridge the gap between architecture description languages (ADLs) and general purpose programming languages. COPLs emphasize designing software systems out of reusable components which are connected by communication ports. These ports facilitate the design of highly modular software architecture. The flexibility of a component-based system, however, is partly dependent on the variety of ports and connections that are available. More port and connection features enable system architects to design more loosely coupled and reusable software components. This paper introduces a prototype language extension to C#, called Copper, which adds component-oriented programming features to the developer's repertoire. Copper is based on the Mono C# compiler, and provides convenient syntax for connecting incompatible ports, connecting ports to multiple senders, embedding ports statically, and connecting ports to non-component services. Copper's backward compatibility with C# permits existing C# code to be incrementally refactored into a component-oriented style.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call