| M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs", JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22-37. |
....code, and benchmarks are available at a web site (http: www.cs.utexas.edu users dsb GPL.html) for others to access. 2 A Standard Problem: The Graph Product Line The Graph Product Line (GPL) is a family of classical graph applications that was inspired by early work on software extensibility [Hol92, Van96]. GPL is typical of product lines in that applications are distinguished by the set of features that they implement, where no two applications have the same set of features. 1 Further, applications are modeled as sentences of a grammar. Figure 1a 2 shows this grammar, where tokens are names of ....
M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs", JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22-37.
....tier (see Figure 2) As such, the system model becomes very uniform and hierarchically structured. 2. 3 Relationship between component frameworks and collaboration based design Our system model is heavily based on combining component frameworks with the notion of collaboration based design [14, 23, 16]. We believe that collaborations are a useful concept to design a component framework as a composition of separately defined and separately verifiable building blocks. We first introduce collaboration based design and then pin down its relationship with component frameworks. Collaboration based ....
M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs", in Proceedings of the JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, pp. 22-37.
....class encapsulates several roles, where each role embodies a separate aspect of the class s behavior. A collaboration is a cooperating suite of roles. Previous methods for implementing collaboration based designs include application frameworks [JF88] and the technique of VanHilst and Notkin [VN96a c, Van97] Our approach involves large scale components called mixin layers. We show that mixin layers preserve the advantages of the VanHilst and Notkin implementation method over application frameworks (i.e. maintain design structure, facilitate reuse, and avoid unnecessary dynamic binding) ....
....graph. Ideally, each of the algorithms, as well as the underlying model (i.e. undirected graph) and traversal strategy (depth first) should be expressible as individual components that would yield the complete application once composed. The C technique proposed by VanHilst and Notkin [VN96a c] attempts to do exactly that but suffers from high complexity of parameterizations. We introduce an alternative in the form of mixin layers. Mixin layers are large scale components that can be used to directly implement collaboration based designs. Mixin layers improve upon the VanHilst and ....
[Article contains additional citation context not shown here]
M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs", JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22-37.
....reusable software modules is to encapsulate within each module a single (and largely orthogonal) aspect of application design. Many design methods in the object oriented world build on this principle of design modularity (e.g. design patterns [12] and collaboration based designs [7] 14] 15] 28][37]) The central issue is to provide implementation (i.e. programming language) support for expressing modular designs concisely. Our work addresses this problem in the context of collaboration based (or rolebased) designs. Such designs decompose an object oriented application into a set of classes ....
....compositions of these components define an application. While collaboration based designs cleanly capture different aspects of application behavior, their implementations often do not preserve this modularity. Application frameworks [17] are a standard implementation technique. As shown in [37], frameworks not only do not preserve the design structure but also may result in inefficient implementations, requiring excessive use of dynamic binding. VanHilst and Notkin 1 We gratefully acknowledge the sponsorship of Microsoft Research, the Defense Advanced Research Projects Agency ....
[Article contains additional citation context not shown here]
M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs", JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22-37.
....concepts into distinct implementation entities. Then the original modularity of a design is preserved and the implementation is easily maintainable under design changes. Our work examines and relates two design approaches: Object oriented collaboration based designs (e.g. 6] 10] 11] [17]) and the GenVoca model [1] Both emphasize viewing application components as a col1. We gratefully acknowledge the sponsorship of Microsoft Research, the Defense Advanced Research Projects Agency (Cooperative Agreement F30602 96 2 0226) and the University of Texas at Austin Applied Research ....
.... that certain component based design methodologies are ideally suited for implementation in languages that support both object orientation and generics (e.g. templates) The usual way to map large scale OO designs into implementations is through a framework [12] The work of VanHilst and Notkin [17][18] 19] showed that frameworks are not flexible enough for the task, and suggested a templates implementation instead. Our approach follows a similar path. It yields, however, simpler implementations with significantly better reuse and maintenance properties. This is a result of clearly capturing ....
[Article contains additional citation context not shown here]
M. VanHilst and D. Notkin, "Using C++ Templates to Implement Role-Based Designs". JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22-37.
No context found.
VanHilst, M. and D. Notkin (1996a), "Using C++ Templates to Implement Role-Based Designs", JSSST International Symposium on Object Technologies and Systems (ISOTAS'96). Also available as 95-07-02, University of Washington, Seattle, WA.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC