skip to main content
10.1145/1181195.1181206acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Using resemblance to support component reuse and evolution

Published:10 November 2006Publication History

ABSTRACT

The aim of a component-based approach to software is to allow the construction of a system by reusing and connecting together a number of existing components. To successfully reuse a component, alterations generally need to be made to it, particularly if the abstraction level is high. However, existing usage of a component means that it cannot be altered without affecting the systems that reuse it already. This leads to a dilemma which frustrates the goals of the compositional approach to reuse.To help resolve this dilemma, we introduce the resemblance construct, allowing a new component to be defined in terms of changes to a base component. This allows us to effectively alter a base component for reuse, without affecting the existing definition or any users of the component. We use an example to show how this and other constructs ameliorate the reuse problems of complex, possibly composite, components.

References

  1. D. Box. Essential COM. Addison-Wesley Professional, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Gamma, R. Helm, R. Johnson, and V. J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Garlan, R. Monroe, and D. Wile. Acme: an architecture description interchange language. In CASCON '97: Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, page 7. IBM Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Goulo and F. Abreu. Bridging the gap between acme and uml 2.0 for cbd. In Specification and Verification of Component-Based Systems (SAVCBS 2003), pages -, 2003.Google ScholarGoogle Scholar
  5. J. Greenfield, K. Short, S. Cook, S. Kent, and J. Crupi. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley; 1st edition (August 16, 2004), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. U. Holzle. Integrating independently-developed components in object-oriented languages. In Proceedings of the 7th European Conference on Object-Oriented Programming, pages 36--56. Springer-Verlag, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Jackson. Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2):256--290, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Kramer and J. Magee. The evolving philosophers problem - dynamic change management. Ieee Transactions on Software Engineering, 16(11):1293--1306, Nov. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Kramer, J. Magee, and M. Sloman. Configuration support for system description, construction and evolution. In Proceedings of the 5th international workshop on Software specification and design, pages 28--33, Pittsburgh, Pennsylvania, United States, 1989. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying distributed software architectures. In W. Schafer and P. Botella, editors, Proc. 5th European Software Engineering Conf. (ESEC 95), volume 989, pages 137--153, Sitges, Spain, 1995. Springer-Verlag, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Medvidovic, D. Rosenblum, and R. Taylor. A language and environment for architecture-based software development and evolution. In ICSE '99: Proceedings of the 21st international conference on Software engineering, pages 44--53, Los Alamitos, CA, USA, 1999. IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. OMG. Uml 2.0 specification. Website, http://www.omg.org/technology/documents/formal/uml.htm, 2005.Google ScholarGoogle Scholar
  13. R. Roshandel, A. Van Der Hoek, M. Mikic-Rakic, and N. Medvidovic. Mae---a system model and environment for managing architectural evolution. ACM Trans. Softw. Eng. Methodol. 13(2):240--276, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Selic, G. Gullekson, and P. Ward. Inheritance. In Real-Time Object-Oriented Modeling, volume First, pages 255--285. Wiley, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. Selic, G. Gullekson, and P. Ward. Real-Time Object-Oriented Modeling. John Wiley & Sons, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Taivalsaari. On the notion of inheritance. ACM Comput. Surv., 28(3):438--479, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Taylor, N. Medvidovic, M. Anderson, E. Whithead Jr., and J. Robbins. A component- and message-based architectural style for gui software. In Proceedings of the 17th international conference on Software engineering, pages 295--304, Seattle, Washington, United States, 1995. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. van der Hoek, M. Mikic-Rakic, R. Roshandel, and N. Medvidovic. Taming architectural evolution. In Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pages 1--10, Vienna, Austria, 2001. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. van Ommering. Mechanisms for handling diversity in a product population. In ISAW-4: The Fourth International Software Architecture Workshop, 2000.Google ScholarGoogle Scholar
  20. R. van Ommering. Building product populations with software components. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 255--265, New York, NY, USA, 2002. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using resemblance to support component reuse and evolution

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SAVCBS '06: Proceedings of the 2006 conference on Specification and verification of component-based systems
          November 2006
          87 pages
          ISBN:159593586X
          DOI:10.1145/1181195

          Copyright © 2006 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 10 November 2006

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          SAVCBS '06 Paper Acceptance Rate14of14submissions,100%Overall Acceptance Rate37of46submissions,80%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader