Skip to main content
Log in

The software information base: A server for reuse

  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

We present an experimental software repository system that provides organization, storage, management, and access facilities for reusable software components. The system, intended as part of an applications development environment, supports the representation of information about requirements, designs and implementations of software, and offers facilities for visual presentation of the soft-ware objects. This article details the features and architecture of the repository system, the technical challenges and the choices made for the system development along with a usage scenario that illustrates its functionality. The system has been developed and evaluated within the context of the ITHACA project, a technology integration/software engineering project sponsored by the European Communities through the ESPRIT program, aimed at developing an integrated reuse-centered application development and support environment based on object-oriented techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Ader, M., Nierstrasz, O., McMahon, S., Mueller, G., and Proefrock, A-K. The Ithaca technology: A landscape for object-oriented application development.Proceedings of the ESPRIT 1990 Conference, Dordrecht, The Netherlands, 1990.

  • Ader, M., Murthy, S., Murthy, N., Bergnes, C., and Monguio, J. Organization model reference manual, ITHACA Report, ITHACA.Bull.91.D.1.4#1.2, 1991.

  • Attardi, G. and Simi, M. Completeness and consistency of OMEGA: A logic for knowledge representation.Proceedings of the International Joint Conference on Artificial Intelligence, Vancouver, British Columbia, 1981.

  • Barletta, R. An introduction to case-based reasoning,AI Expert, August, 1991, pp. 43–49.

  • Bigelow J. Hypertext and CASE.IEEE Software, 5(2):23–29, 1988.

    Google Scholar 

  • Biggerstaff T.J. and Perlis, A.J.Software Reusability, Volume I: Concepts and Models, Volume 2: Applications and Experience, ACM Press Frontier Series, Reading, MA: Addison-Wesley, 1989.

    Google Scholar 

  • Biggerstaff, T.J. and Richter, C. Reusability framework, assessment, and directions. In: Biggerstaff, T.J. and Perlis, A.J., eds,Software Reusability, Volume I: Concepts and Models, ACM Press Frontier Series, Reading, MA: Addison-Wesley, 1989, pp. 1–17.

    Google Scholar 

  • Brodie, M. and Rifjanovic, D. On the design and specification of database transactions. In: Brodie, M., Mylopoulos, J., and Schmidt, J., eds.,On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases, and Programming Languages, New York: Springer-Verlag, 1984.

    Google Scholar 

  • Booch, G.Object Oriented Design with Applications, Redwood City, CA: Benjamin/Cummings Publishing Company, 1991.

    Google Scholar 

  • Borgida, A., Brachman, R., McGuiness, D., and Resnick, L. CLASSIC: A structural data model for objects.Proceedings of the ACM SIGMOD Conference, Portaland, OR, 1989.

  • Charalabidis, Y., Petra, E., and Vlodakis, G. Populating software repositories: The SIB-WooRKS case.Proceedings of the ERCIM Workshop on Methods and Tools for Software Reuse, Heraklion, Crete, 1992.

  • Chen, P.P. The entity-relationship model: Towards a unified view of data.ACM Transactions on Database Systems, 1 (1):9–36, 1976.

    Google Scholar 

  • Conklin J. Hypertext: An introduction and survey.IEEE Computer, 20(9):17–42, 1987.

    Google Scholar 

  • CooL 0.2 Language Description, Report ITHACA.SNI.90.L2.#4, Siemens-Nixdorf, 1990.

  • Constantopoulos, P., Doerr, M., and Vassiliou, Y. Repositories for software reuse: The software information base.Proceedings of the IFIP WG 8.1 Conference on Information System Development Process, Como, Italy, 1993.

  • Dadouris, C., Doerr, M, Kizlaridou, S. Mavroidis, D., Pataki, E., Theodorakis, E., and Yeorgiannakis, G. Implementation of the SIB System, Report ITHACA.FORTH. 92.E2.#2, Institute of Computer Science, FORTH, January 1992.

  • De Antonellis, V., Pernici, B., and Samarati, P. Object Orientation in the Analysis of Work Organization and Agent Cooperation,Proceedings of the International Conference on Dynamic Aspects in Information Systems, Washington, D.C., 1991.

  • de Mey, V. Junod, B., Renfer, S., Stadelmann, M., and Simitsek, I. The implementation of VISTA: A visual scripting tool. In: Tsichritzis, D., ed.,Object Composition, Centre Universitaire d'Informatique, Universite de Geneve, 1991, pp. 31–56.

  • Devanbu, P., R. J. Brachmann, P. Selfridge, and B. Ballard. LaSSIE: A knowledgebased software information system,Communications of the ACM, 34(5):34–49, 1991.

    Google Scholar 

  • Dittrich, K. et al. DAMOKLES: A database system for software engineering environments.Lecture Notes in Computer Science, 244, 1987.

  • Esposito, F., Malerba, D., and Semeraro, G. Classification in noisy environments using a distance measure between structural symbolic descriptions.IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(3):390–402, 1992.

    Google Scholar 

  • Fichman, R.G. and Kemerer, C.F. Object-oriented and conventional analysis and design methodologies.IEEE Computer, 25(10):22–39, 1992.

    Google Scholar 

  • Fugini, M., Niestrasz, O., and Pernici, B. Application development through reuse: The ITHACA tools environment.SIGOIS Bulletin, 13(2):00-00?, 1992.

    Google Scholar 

  • Garg, P. and Scacchi, W. On designing intelligent hypertext systems for information management in software engineering, DIF.Proceedings of Hypertext 87, November 1987.

  • Garg, P. and Scacchi, W. ISHYS: Designing an intelligent software hypertext system,IEEE Expert, 4(3):52–62, 1989.

    Google Scholar 

  • Hudson, S.E. and King, R. Cactis: A self-adaptive, concurrent implementation of an object-oriented database management system.ACM Transactions on Database Systems, 14(3):291–321, 1989.

    Google Scholar 

  • Jarke, M., Mylopoulos, J., Schmidt, J., and Vassiliou, Y., DAIDA: An environment for evolving information systems.ACM Transactions on Information Systems, 10(1):1–50, 1992.

    Google Scholar 

  • Jarke, M., ed.,Database Application Development with DAIDA, Heidelberg: Springer-Verlag, 1993.

    Google Scholar 

  • Jeusfeld, M. Change Control in Deductive Object Bases, DISKI Vol. 17, St. Augustin, Germany, INFIX Publ., 1992 (in German, also Doctoral Dissertation, University of Passau).

    Google Scholar 

  • Jobes, B. Repository comes of Age.Database Programming and Design, March, 1990, pp. 18–30.

  • Jones, M.R. Unveiling repository technology.Database Programming and Design, April, 1992, pp. 28–35.

  • Katevenis, M., Sorilos, T., Georgis, C. and Kalogerakis, P.LABY User's Manual, Version 2.10, ITHACA Report, ITHACA.FORTH.90.E.3.3.#7, 1990.

  • Katz, R. Towards a unified framework for version modelling in engineering databases.ACM Computing Surveys, 22(4):375–408, 1990.

    Google Scholar 

  • Katalagarianos, P. and Vassiliou, Y. Employing genericity and case-based reasoning to effectively reuse code.Proceedings of the International Computer Science Conference, Hong Kong, 1992.

  • Khosafian S. and Copeland G.P. Object identity.Proceedings of the ACM OOPSLA, 1986.

  • Khosafian S. and Frank, D. Implementation techniques for object-oriented Databases.Proceedings of the AOODS, Springer, 1988.

  • Kim, W., Kim K.-C., and Dale A. Indexing techniques for object-oriented databases. In: Kim, W. and Lochovsky, F., eds.,Object-Oriented Concepts, Databases, and Applications, New York: ACM Press, 1989.

    Google Scholar 

  • Korson, T. and McGregor, J. Technical criteria for the specification and evaluation of object-oriented Libraries.Software Engineering Journal, 1992.

  • Krueger, C.W. Software reuse.ACM Computing Surveys, 24(2):131–183, 1992.

    Google Scholar 

  • Low C. A shared, persistent object store.Proceedings of the European Conference on Object-Oriented Programming, 1988.

  • Merrow T. and Laursen J. A pragmatic system for shared persistent objects.Proceedings of OOPSLA, 1987.

  • Meyer, B. Software knowledge bases.Proceedings of the International Conference on Software Engineering, London, 1985.

  • Michalski, R. Learning from observation: Conceptual clustering. In:Machine Learning: An AI Approach, Vol. 1, San Mateo, CA: Morgan Kaufmann, 1986.

    Google Scholar 

  • Mylopoulos, J., Borgida, A., Jarke, M. and Koubarakis, M. Telos: Representing knowledge about information systems.ACM Transactions on Information Systems, 8(4):325–362, 1990.

    Google Scholar 

  • Ostertag, E., Hendler, L., Prieto-Diaz, R., and Brown, C. Computing similarity in a reuse library system: An AI-based approach.ACM Transactions on Software Engineering and Methodology, 1(3):205–228, 1992.

    Google Scholar 

  • Patil, R., Fikes, R., Patel-Schneider, P., McKay, D., Finin, T., Gruber, T. and Neches, R. The DARPA knowledge sharing effort: Progress report.Proceedings of the Third International Conference on Knowledge Representation and Reasoning, Boston, 1992.

  • Pernici, B. Class design and metadesign. In: Tsichritzis, D., ed.,Object Management, Centre Universitaire d'Informatique, Universite de Geneve, 1990.

  • Plotkin, D. Selecting a repository.Database Programming and Design, 1992, pp. 28–35.

  • Prieto-Diaz, R. Implementing faceted classification for software reuse.Communications of the ACM, 34(5):88–97, 1991.

    Google Scholar 

  • Proefrock, K. and McMahon, S.,ITHACA Final Report, Berlin: Siemens-Nixdorf, 1992.

    Google Scholar 

  • Rose, T., Jarke, M., Gosek, M., Maltzahn, C., and Nissen, H. A decision-based configuration process environment. Special Issue on Software Environments and Factories,Software Engineering Journal, 6(5):332–346, 1991.

    Google Scholar 

  • Ross, D.T. Structured analysis (SA): A language for communicating ideas.IEEE Transactions on Software Engineering, 1977.

  • Russel, S. Analogy by similarity. In: Hellman, D.H., ed.,Analogical Reasoning, Dordrecht, The Netherlands: Kluwer Academic, 1988.

    Google Scholar 

  • Schwanke, R. An intelligent tool for re-engineering software modularity.Proceedings of the International Software Engineering Conference, Austin, TX, 1991.

  • Skarra A.H. and Zdonik S.B. The management of changing types in an objectoriented database.Proceedings of the OOPSLA, 1986.

  • Spanoudakis, G. and Constantopoulos, P. Similarity for analogical software reuse: A conceptual modelling approach.Proceedings of the Fifth International Conference on Advanced Information Systems Engineering, Paris, 1993.

  • Tsichritzis, D., ed.,Object Composition, Centre Universitaire d' Informatique, Universite de Geneve, 1991.

  • Tversky, A. Features of similarity.Psychological Review, 1977.

  • Wegner, P. The object-oriented classification paradigm. In: Shriver, J. and Wegner, P., eds,Research Directions in Object-Oriented Programming, MIT Press, 1987.

  • Winston, M. and Chaffin, R. A taxonomy of part-whole relations.Cognitive Science, 11:417–444, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Constantopoulos, P., Jarke, M., Mylopoulos, J. et al. The software information base: A server for reuse. VLDB Journal 4, 1–43 (1995). https://doi.org/10.1007/BF01232471

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01232471

Key Words

Navigation