Abstract
The aim of this paper is to present the SPOOL design repository, which is the foundation of the SPOOL software engineering environment. The SPOOL design repository is a practical implementation of the UML metamodel, and is used to store detailed design-level information that is extracted from the source code of industrial systems. Its internal mechanisms and related tools provide functionalities for querying data and observing dependencies between the components of the studied systems, facilitating core tasks conducted in reverse engineering, system comprehension, system analysis, and reengineering. This paper discusses the architecture, the schema, the mechanisms, and the implementation details of the repository, and examines the choice of the UML metamodel. Experiences conducted with large-scale systems are also presented, along with related work and future avenues in design repository research.
This research was supported by the SPOOL project organized by CSER (Consortium for Software Engineering Research) which is funded by Bell Canada, NSERC (Natural Sciences and Engineering Research Council of Canada), and NRC (Natural Research Council Canada).
Chapter PDF
Similar content being viewed by others
keywords
References
ANTLR, ANother Tool for Language Recognition, 2000. http://www.antlr.org.
Booch, G., Jacobson, I., and Rumbaugh, J. The Unified Modeling Language User Guide. Addison-Wesley, 1999.
Buschmann, F., Meunier, R., Rohnert, H., Somerlad, P., and Stal, M. Pattern-Oriented Software Architecture-A System of Patterns. John Wiley and Sons, 1996.
Constantopoulos, P., and Dörr, M. “Component Classification in the Software Information Base”, Object-Oriented Software Composition, Oscar Nierstrasz and Dennis Tsichritzis (Eds.), pp. 177–200. Prentice Hall, 1995.
Constantopoulos, P., Jarke, M., Mylopoulos, J., and Vassiliou, Y. “The Software Information Base: A Server for Reuse.” VLDB Journal 4(1):1–43, 1995.
Datrix homepage, 2000, Bell Canada. http://www.iro.umontreal.ca/labs/gelo/datrix/.
Demeyer, S., Ducasse, S., and Tichelaar, S. “Why unified is not universal: UML shortcomings for coping with round-trip engineering.” In Bernhard Rumpe, editor, Proceedings UML’99 (The Second International Conference on the Unified Modeling Language). Springer-Verlag, 1999. LNCS 1723.
Finnigan, P. J., Holt, R. C., Kalas, I., Kerr, S., Kontogiannis, K., Müller, H. A., Mylopoulos, J., Perelgut, S. G., Stanley, M., and Wong, K. “The software bookshelf.” IBM Systems Journal, 36(4):564–593, 1997.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
Gerbé, O., Keller, R. K., and Mineau, G. “Conceptual graphs for representing business processes in corporate memories.” In Proceedings of the Sixth International Conference on Conceptual Structures, pages 401–415, Montpellier, France, August 1998.
Harel, D. “On visual formalisms.” Communications of the ACM, 31(5):514–530, May 1988.
IBM-alphaWorks. XML Parser for Java, 2000. http://www.alphaworks.ibm.com/tech/xml.
Keller, R. K., and Schauer, R. “Design components: towards software composition at the design level.” In Proceedings of the 20th International Conference on Software Engineering, Kyoto, Japan, pages 302–310, April 1998.
Keller, R. K., Schauer, R., Robitaille, S., and Pagé, P. “Pattern-based reverse engineering of design components.” In Proceedings of the Twenty-First International Conference on Software Engineering, pages 226–235, Los Angeles, CA, May 1999. IEEE.
Mylopoulos, J., Borgida, A., Jarke, M., and Koubarakis, M. “Telos: Representing Knowledge About Information Systems.” ACM Transactions on Information Systems, Vol. 8, No. 4, October 1990, pages 325–362.
Object Data Management Group (ODMG), 2000. On-line at http://www.odmg.com.
OMG. “XML Metadata Interchange (XMI)”, Document ad/98-10-05, October 1998. On-line at http://ftp://ftp.omg.org/pub/docs/ad/98-10-05.pdf.
Poet Java ODMG binding, on-line documentation. Poet Software Corporation, San Mateo, CA, 2000. On-line at http://www.poet.com.
Pons, A., and Keller, R. K. “Schema evolution in object databases by catalogs.” In Proceedings of the International Database Engineering and Applications Symposium (IDEAS’97), pages 368–376, Montréal, Québec, Canada, August 1997. IEEE.
Rational Software Corporation, 2000. On-line at http://www.rational.com.
Robbins, J. E., and Redmiles, D. F. “Software architecture critics in the Argo design environment.” Knowledge-Based Systems, (1):47–60, September 1998.
Robitaille, S., Schauer, R., and Keller, R. K. “Bridging program comprehension tools by design navigation.” In Proceedings of the International Conference on Software Maintenance (ICSM’2000), pages 22–32, San Jose, CA, October 2000. IEEE.
Saint-Denis, G., Schauer, R., and Keller, R. K. “Selecting a Model Interchange Format: The SPOOL Case Study.” In Proceedings of the Thirty-Third Annual Hawaii International Conference on System Sciences (CD ROM, 10 pages). Maui, HI, January 2000.
Schauer, R., Keller, R. K., Laguë, B., Knapen, G., Robitaille, S., and Saint-Denis, G. “The SPOOL Design Repository: Architecture, Schema, and Mechanisms.” In Hakan Erdogmus and Oryal Tanir, editors, Advances in Software Engineering. Topics in Evolution, Comprehension, and Evaluation. Springer-Verlag, 2001. To appear.
UML. Documentation set version 1.1, 2000. On-line at http://www.rational.com.
Weinand, A., Gamma, A., and Marty, R. “Design and implementation of ET++, a seamless object-oriented application framework.” Structured Programming, 10(2):63–87, February 1989.
Wong, K., and Müller, H. (1998). Rigi user’s manual, version 5.4.4. University of Victoria, Victoria, Canada. On-line at http://ftp://ftp.rigi.csc.uvic.ca/pub.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keller, R.K., Bédard, JF., Saint-Denis, G. (2001). Design and Implementation of a UML-Based Design Repository. In: Dittrich, K.R., Geppert, A., Norrie, M.C. (eds) Advanced Information Systems Engineering. CAiSE 2001. Lecture Notes in Computer Science, vol 2068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45341-5_30
Download citation
DOI: https://doi.org/10.1007/3-540-45341-5_30
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42215-0
Online ISBN: 978-3-540-45341-3
eBook Packages: Springer Book Archive