Reusability of Mathematical Software: A Contribution

Mathematical software is devoted to solving problems involving matrix computation and manipulation. The main problem limiting the reusability of existing mathematical software is that programs are often not initially designed for being reused. Therefore, it is hard to find programs that can be easily reused. A programming methodology useful for designing and implementing reusable code is presented. A portion of code designed and implemented for being reused is called a unit. The units are self-contained software components featuring a high degree of information hiding. This way of organizing software facilitates the reuse process and improves the understandability of units. To speed up the implementation process, a system supporting the reusability of units from an existing software library is particularly useful. The functionality of the EasyCard system, which creates, maintains, and queries a catalog of units is discussed. >

[1]  Václav Rajlich Refinement Methodology for Ada , 1987, IEEE Transactions on Software Engineering.

[2]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[3]  Ted J. Biggerstaff,et al.  Software reusability: vol. 1, concepts and models , 1989 .

[4]  Yoshihiro Matsumoto,et al.  Some Experiences in Promoting Reusable Software: Presentation in Higher Abstract Levels , 1984, IEEE Transactions on Software Engineering.

[5]  Stavros Christodoulakis,et al.  Multimedia document presentation, information extraction, and document formation in MINOS: a model and a system , 1986, TOIS.

[6]  Paolino Di Felice,et al.  Comparisons of two implementations for the solution of sparse linear systems - Part II , 1987 .

[7]  Rubén Prieto-Díaz,et al.  Software reusability , 1993 .

[8]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[9]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[10]  M. Properzi,et al.  An interaction environment supporting the retrievability of reusable software components , 1991, [1991 Proceedings] Tenth Annual International Phoenix Conference on Computers and Communications.

[11]  Victor R. Basili,et al.  Identifying and qualifying reusable software components , 1991, Computer.

[12]  W. Wulf,et al.  Fundamental Structures of Computer Science , 1980 .

[13]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[14]  Paolino Di Felice,et al.  A pascal program for the solution of sparse linear systems – Part I , 1987 .

[15]  Atul Prakash,et al.  Support for Reusability in Genesis , 1988, IEEE Trans. Software Eng..

[16]  Eliseo Clementini,et al.  Data structures for compact sparse matrices representation , 1989 .

[17]  Will Tracz,et al.  Software reuse - emerging technology , 1988 .

[18]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[19]  B. Schneiderman,et al.  Designing the User Interface. Strategies for Effective Human-Computer Interaction , 1992 .

[20]  P. Di Felice Abstract data type and mathematical software reusability: two linked concepts , 1990 .

[21]  Nancy C. Goodwin,et al.  Functionality and usability , 1987, CACM.

[22]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[23]  Paolino Di Felice Basic requirements and main features of a system supporting the reusability of mathematical software on personal computers , 1990, SIGSMALL '90.