connection between both. The composition only
lasts as long as the process is active. Other examples
are mechanisms like the Unix pipe, composing two
or more applications, software components or WS.
4.4 Intermediation
While in the earlier described levels of composition
the artefacts are (in the latter case just temporarily)
compound directly with each other, intermediation
provides an indirect composition between two
artefacts realized via a mediator. From the client
point of view, this allows to a greater or lesser extent
for a transparent substitution of one artefact by
another. The basic form of intermediation is the
option to define interfaces, supported by different
programming languages, like Java or C#, which
allows the interface implementation to change in a
quite transparent form. A more sophisticated form of
intermediation is supported by a trader, e.g. CORBA
trader, that registers different implementations of a
service specification and chooses a concrete
implementation according to the requirements
demanded by the client that later calls this trader.
5 CONCLUSIONS
The systematic and efficient reusability of software
code is an activity that implies different aspects to be
supported by technology platforms. A detailed study
of those aspects should allow for achieving an
identification and ordination of implied dimensions
that later permits the construction of methods,
processes and tools for evaluation, measurement and
improvement of reusability. This kind of studies has
been realized so far in a more fragmented way,
focusing more on concrete reuse fields. To
contribute a more complete and global vision of this
field, it is necessary to tackle it from a wider and
more holistic perspective. This work provides a
contribution that wants to advance towards this aim,
proposing a structured classification of reusability in
three orthogonal dimensions, supported by the
technology that allows establishing an order of
increasing reusability grade. The increase of each
dimension also implies a higher level of abstraction.
Although this work is just a first introducing
exposition, we think that the theoretical interest is
obvious, contributing to the building of the general
conceptual fundaments of reusability.
REFERENCES
Barnett, M., Rustan, K., Leino, M., Schulte, W., 2004. The
spec# programming system: An overview, In CASSIS
2004 post-proceedings.
Biggerstaff, T.J., Richter, C., 1989. Reusability
framework, assessment, and directions. In Software
reusability: vol. 1, concepts and models. New York,
NY, USA: ACM.
Box, D., 1997. Essential COM. Boston, MA, USA:
Addison-Wesley Longman Publishing Co., Inc.
Büchi, M., Weck, W., 1999. The greybox approach:
When blackbox specifications hide too much.
Technical report. Turku Centre for Computer Science.
Chang, H., Collet, P., 2007. Patterns for Integrating and
Exploiting Some Non-Functional Properties in
Hierarchical Software Components, In 14th Annual
IEEE International Conference and Workshops on the
ECBS '07, 83-92.
Goldberg, A., Rubin, K. S., 1995. Succeeding with
Objects: Decision Frameworks for Project
Management. Reading, Mass., USA: Addison-Wesley
Professionals.
Heineman, G.T., Councill, W.T., eds., 2001. Component-
based software engineering: putting the pieces
together. Boston, MA, USA: Addison-Wesley
Longman Publishing Co., Inc.
Kiniry, J.R., 1999. Leading to a kind description
language: Thoughts on component specification..
Technical report. Pasadena, CA, USA: California
Institute of Technology.
Krueger, C.W., 1992. Software reuse. ACM Computer
Survey, 24(2), 131-183.
McIlroy, D., 1968. Mass-produced software components.
In Proceedings of the 1st International Conference on
Software Engineering, Garmisch Pattenkirchen,
Germany, 88-98.
Meyer, B., 1992. Eiffel: the language. Upper Saddle
River, NJ, USA: Prentice-Hall, Inc.
Nierstrasz, O., 1995. Research topics in software
composition. In Proceedings, Langages et Modèles à
Objets, Nancy, 193-204.
Prieto-Díaz, R., 1993. Status report: Software reusability.
IEEE Software, 10(3), 61-66.
Sametinger, J., 1997. Software engineering with reusable
components. New York, NY, USA : Springer-Verlag
New York, Inc.
Schäfer, W., Prieto-Díaz, R., Matsumoto, M., 1994.
Software reusability. Upper Saddle River, NJ, USA:
Ellis Horwood.
Szyperski, C., 2002. Component Software: Beyond Object-
Oriented Programming. Boston, MA, USA: Addison-
Wesley Longman Publishing Co., Inc.
Terzis, S., Nixon, P., 1999. Component trading: the basis
for a component-oriented development framework. In
Proceedings of the Workshop on Object-Oriented
Technology. London, UK: Springer-Verlag.
ICSOFT 2008 - International Conference on Software and Data Technologies
126