On the Integration of the Classbox Concept in the .NET Framework







Deposit Papers 


Lokasari, Andre, Ming, Hua and Lumpe, Markus (2006) On the Integration of the Classbox Concept in the .NET Framework. Technical Report 06-15, Department of Computer Science, Iowa State University.

Full text available as:Adobe PDF


Bergel et al. have recently proposed classboxes, a new module system that defines a packaging and scoping mechanism for controlling the visibility of isolated extensions to portions of class-based systems. Besides the ``traditional'' operation of subclassing, classboxes also support the local refinement of imported classes by adding or modifying their features without affecting the originating classbox. Consequently, the classbox concept provides an attractive and powerful framework to develop, maintain, and evolve large-scale software systems and can significantly reduce the risk for introducing design and implementation anomalies in software systems.

We have developed an approach to seamlessly incorporate the classbox concept into the .NET framework. More precisely, we have defined a ``classbox-aware'' dialect of the C# language in which we use a modified using directive to denote the local refinements of imported classes. Furthermore, we have also introduced the notions of logical and physical structure of a classbox. While these concepts do not change the underlying semantics of the classbox model, they provide us with an effective means to separate the program interface of a classbox from its implementation. The logical structure of a classbox defines a namespace to specify the import of classes, the introduction of subclasses, and the extension of classes. The physical structure of a classbox, on the other hand, identifies the assemblies that contain the executable code that is defined by the logical structure of a classbox.

Subjects:Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
Software: PROGRAMMING LANGUAGES: Language Constructs and Features (E.2)
ID code:00000443
Deposited by:Markus Lumpe on 16 August 2006

Contact site administrator at: