NutsWhite-Box Component Architecture
Tetsuro Ueda and Yasushi Kuno
Graduate School of Systems Management, University of Tsukuba, Tsukuba, Japan 112-0012
SUMMARY
Various class libraries and frameworks have been
proposed for object-oriented software development. How-
ever, none of the available approaches provides sufficient
support for fast development of diversified applications.
Problems with such approaches are discussed in this paper,
and a white-box component architecture is proposed as a
solution. This architecture is implemented as the Nuts
framework, which offers component-based programming
without special limitations on programming language.
© 2000 Scripta Technica, Syst Comp Jpn, 32(1): 2028,
2001
Key words: Object orientation; code reuse;
framework.
1. Introduction
With improving performance of computer systems,
more complex and sophisticated software is coming into
use. Various paradigms of software development have been
proposed to produce such high-level software rapidly and
efficiently. One of the representative approaches is object-
oriented programming, which aims at better productivity
in software development by means of reusable program
components.
However, various techniques of component-based
programming do not ensure speedy software development.
In this paper the problems with such approaches are exam-
ined, and a white-box component architecture is proposed
as a solution to these problems; in addition, the Nuts frame-
work is presented as an implementation example. The Nuts
framework is intended to replace previous development
frameworks for business applications, such as Microsofts
Visual Basic or Microsoft Foundation Class (MFC) Library.
In terms of software scale, Nuts aims at small- to medium-
scale products (with large-scale software left for future
studies).
Section 2 offers a summary of problems involved in
existing approaches. An outline of the proposed component
architecture supporting white box reuse (Nuts) is given in
Section 3, and Sections 4 and 5 present, respectively, the
structure model and control model for Nuts. Section 6
describes the implementation of Nuts, and Section 7 pre-
sents actual application examples. Discussion and conclu-
sions are given in Section 8.
2. Reuse through Object Orientation
In this section, features and problems of various
object-oriented frameworks for application development
are summarized. The reason that object-oriented ap-
proaches are considered here is that C++ [3], Java [8], and
other object-oriented programming languages are becom-
ing the mainstream environment for application develop-
ment, and making use of object-oriented features is almost
a necessary condition for software development.
One of the advantages offered by object-oriented
programming is better productivity due to reuse of program
components. Reusable units may be of various sizes (granu-
larity) as described below.
© 2000 Scripta Technica
Systems and Computers in Japan, Vol. 32, No. 1, 2001
Translated from Denshi Joho Tsushin Gakkai Ronbunshi, Vol. J82-D-I, No. 8, August 1999, pp. 10081016
20