Using C++ Templates to Implement Role Based Designs
Download:
Postscript PDF.
``Using C++ Templates to Implement Role Based Designs'' by
Michael VanHilst and
David Notkin,
in Proceedings of the JSSST 2nd International Symposium on Object Technologies for Advanced Software
(ISOTAS'96), Kanasawa, Japan, Mar. 11-15, 1996
Published as Proceedings of the International Symposium on Object Technologies for Advanced Software, Lecture Notes in Computer Science 1049, 1996, pp. 22-37.
Abstract
Within the object-oriented technology community, much recent work on
design reuse has focused on role-based collaborations distributed
across multiple objects. Many benefits can be derived by mapping
role-based designs directly into implementations, including greater
ease in maintaining the connection between designs and implementations
under change, and the opportunity for code reuse along with design
reuse. Current efforts in role-based designs do not generally provide
these benefits. We provide a method for mapping role-based designs
into implementation, preserving the design without unnecessary
constraints on the design structures. Roles are represented as
parameterized classes, where the parameters represent the types of the
participants in the collaboration. Composition of roles is implicit
in the binding of parameters to classes in the implementation. The
bindings are created at compile time by class definitions that are
separate from the role implementations. In this paper we focus on the
use of templates in the C++ language as the supporting mechanism.
Download:
PDF.
Back to Michael VanHilst's publications.