skip to main content
10.1145/2000292.2000295acmconferencesArticle/Chapter ViewAbstractPublication PagescomparchConference Proceedingsconference-collections
research-article

Design pattern solutions as explicit entities in component-based software development

Published:20 June 2011Publication History

ABSTRACT

Despite patterns being reusable pieces of design knowledge, in current practice, software developers have no first-class support for their application and have to encode patterns manually in terms of low-level abstractions. We propose patterns to become explicit software system entities, both in design and implementation, by defining them as component model entities. Patterns would form high-level means for component composition. In this paper, we demonstrate the feasibility of the idea and identify research challenges that the approach raises.

References

  1. F. Arbab. What do you mean, coordination? In Bulletin of the Dutch Association for Theoretical Computer Science (NVTI, pages 11--22, 1998.Google ScholarGoogle Scholar
  2. F. Arbab. Reo: a channel-based coordination model for component composition. Mathematical Structures in Computer Science, 14(3):329--366, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Basu, M. Bozga, and J. Sifakis. Modeling heterogeneous real-time components in BIP. In SEFM, pages 3--12. IEEE Computer Society, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. I. Bayley and H. Zhu. Formal specification of the variants and behavioural features of design patterns. Journal of Systems and Software, 83(2):209--221, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Booch. Back to the future. IEEE Software, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Buschmann, K. Henney, and D. C. Schmidt. Pattern-oriented Software Architecture: On Patterns and Pattern Languages, volume 5. John Wiley and Sons, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-oriented Software Architecture: A System of Patterns, volume 1. John Wiley and Sons, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. N. Carriero and D. Gelernter. Coordination languages and their significance. Comm. of the ACM, 35(2):96, Feb. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Dong, P. Alencar, D. Cowan, and S. Yang. Composing pattern-based components and verifying correctness. Journal of Systems and Software, 80(11):1755--1769, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Dong, Y. Zhao, and T. Peng. A review of design pattern mining techniques. International Journal of Software Engineering and Knowledge Engineering, 19(6):823--855, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  11. M. Elaasar, L. Briand, and Y. Labiche. A metamodeling approach to pattern specification and detection. Model Driven Engineering Languages and Systems, March:1-28, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. B. France, D.-K. Kim, S. Ghosh, and E. Song. A UML-based pattern specification technique. IEEE Trans. on Soft. Eng., 30(3):193--206, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Gamma, R. Helm, J. Vlissides, and R. E. Johnson. Design Patterns. Addison-Wesley, 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Gibbons. Design patterns as higher-order datatype-generic programs. In R. Hinze, editor, Proceedings of the ACM SIGPLAN Workshop on Generic Programming, pages 1--12. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. L. Guennec, G. Sunyé, and J.-M. Jézéquel. Precise modeling of design patterns. In UML 2000, York, UK, volume 1939 of LNCS, pages 482--496. Springer, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Hannemann and G. Kiczales. Design pattern implementation in Java and AspectJ. ACM SIGPLAN Notices, 37(11):161--173, Nov. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. W. Kamal and P. Avgeriou. Modeling architectural patterns' behavior using architectural primitives. In ECSA 2008, volume 5292, pages 164--179. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K.-K. Lau, I. Ntalamagkas, C. M. Tran, and T. Rana. (behavioural) design patterns as composition operators. In CBSE 2010, LNCS 6092, pages 232--251. Springer-Verlag, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K.-K. Lau and T. Rana. A taxonomy of software composition mechanisms. In Proc. 36th EUROMICRO Conference on Software Engineering and Advanced Applications, pages 102--110. IEEE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. K.-K. Lau, L. Safie, P. Štěpán, and C. Tran. A component model that is both control-driven and data-driven. In CBSE 2011, to appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. K.-K. Lau, P. Velasco Elizondo, and Z. Wang. Exogenous connectors for software components. In CBSE 2005, LNCS 3489, pages 90--106, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K.-K. Lau and Z. Wang. Software component models. IEEE Trans. on Soft. Eng., 33(10), October 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Manolescu, W. Kozaczynski, A. Miller, and J. Hogg. The growing divide in the patterns world. IEEE Software, 24(4):61--67, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Maplesden, J. G. Hosking, and J. C. Grundy. A visual language for design pattern modelling and instantiation. In HCC, pages 338--339. IEEE Computer Society, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. R. Mehta and N. Medvidovic. Composing architectural styles from architectural primitives. In ESEC/SIGSOFT FSE, pages 347--350. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Meyer and K. Arnout. Componentization: The Visitor example. Computer, 39(7):23--30, July 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Mikkonen. Formalizing design patterns. In ICSE '98, pages 115--124, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Schmidt. Model-driven engineering. IEEE Computer, 39(2):25--31, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Taibi and F. Taibi. Formal Specification of Design Patterns and Their Instances. IEEE Int. Conf. on Computer Systems and Applications, 2006., pages 33--36, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Design pattern solutions as explicit entities in component-based software development

          Recommendations

          Reviews

          Larry Bernstein

          This wonderful paper proposes special constraints for software patterns so that they can be processed to become executable software components. The design representation of patterns can help make them controllable software artifacts. The challenge is to define constraints so that the pattern does not become trivial. ?t?p?n admits that the "exact form of variability modeling is one of [his] challenges."? Though this paper is a work in progress, it does provide a good tutorial of the state of patterns and pattern design. It is easy to read and insightful. I especially liked the contribution in section 4, where the author lays out a procedure that allows a pattern to become represented as a connector. Recursion, especially across different instances of the pattern's execution, needs to be treated in the feasibility examples of section 5. These examples are at quite a low level. Once we understand the constraints, we must apply them to higher-level patterns. This is a worthwhile paper, and the research it introduces is worth following. Online Computing Reviews Service

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          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
            WCOP '11: Proceedings of the 16th international workshop on Component-oriented programming
            June 2011
            54 pages
            ISBN:9781450307260
            DOI:10.1145/2000292

            Copyright © 2011 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: 20 June 2011

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate13of20submissions,65%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader