Abstract
Design patterns are typically defined informally, albeit in a standard format, and have to be programmed by the software designer into each new application. Thus although patterns support solution reuse, in practice this does not translate into code reuse. In this paper we argue that to achieve code reuse, patterns should be defined and used in the context of software component models. We show how in such a model, behavioural patterns can be defined as composition operators which can be stored in a repository, alongside components, thus enabling code reuse.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bosch, J.: Specifying frameworks and design patterns as architectural fragments. In: TOOLS 1998, p. 268. IEEE Computer Society, Los Alamitos (1998)
CESAR project, http://www.cesarproject.eu/
Denmark CPN Group, University of Aarhus. CPN tools - computer tool for Coloured Petri Nets, http://wiki.daimi.au.dk/cpntools/cpntools.wiki
DeMichiel, L., Keith, M.: Enterprise JavaBeans 3.0. Sun Microsystems (2006)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Design. Addison-Wesley, Reading (1995)
Hamadi, R., Benatallah, B.: A Petri net-based model for web service composition. In: Proc. 14th Australasian Database Conf., pp. 191–200 (2003)
Hammouda, I., Koskimies, K.: An approach for structural pattern composition. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 252–265. Springer, Heidelberg (2007)
Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)
Janneck, J.W., Naedele, M.: Modeling hierarchical and recursive structures using parametric Petri nets. In: Proc. Adv. Simulation Tech. Conf., pp. 445–452 (1999)
Järvinen, H.-M., et al.: Object-oriented specification of reactive systems. In: Proc. ICSE 1990, pp. 63–71. IEEE Computer Society Press, Los Alamitos (1990)
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, 2nd edn., vol. I. Springer, Heidelberg (1996)
The Java Modeling Language, http://www.cs.iastate.edu/~leavens/JML.html
Lau, K.-K., et al.: Composite connectors for composing software components. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 18–33. Springer, Heidelberg (2007)
Lau, K.-K., Ntalamagkas, I.: A compositional approach to active and passive components. In: Proc. 34th EUROMICRO SEAA, pp. 76–83. IEEE, Los Alamitos (2008)
Lau, K.-K., Ornaghi, M., Wang, Z.: A software component model and its preliminary formalisation. In: Proc. 4th FMCO, pp. 1–21. Springer, Heidelberg (2006)
Lau, K.-K., Ornaghi, M.: Control encapsulation: a calculus for exogenous composition. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds.) CBSE 2009. LNCS, vol. 5582, pp. 121–139. Springer, Heidelberg (2009)
Lau, K.-K., Taweel, F.: Data encapsulation in software components. In: Proc. 10th CBSE, pp. 1–16. Springer, Heidelberg (2007)
Lau, K.-K., Velasco Elizondo, P., Wang, Z.: Exogenous connectors for software components. In: Proc. 8th CBSE, pp. 90–106. Springer, Heidelberg (2005)
Lau, K.-K., Wang, Z.: Software component models. IEEE Trans. Software Engineering 33(10), 709–724 (2007)
Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A type theory for software architectures. Tech. Report UCI-ICS-98-14, University of California, Irvine (1998)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE TSE 26(1), 70–93 (2000)
Message Passing Interface (MPI) Forum, http://www.mpi-forum.org/
Meyer, B., Arnout, K.: Componentization: The visitor example. IEEE Computer 39(7), 23–30 (2006)
Mikkonen, T.: Formalizing design patterns. In: Proc. ICSE 1998, pp. 115–124. IEEE Computer Society, USA (1998)
OMG. UML 2.0 Infrastructure Final Adopted Spec. (2003)
OMG. Object Constraint Language, OCL (2006)
Riehle, D.: Composite design patterns. In: Proc. OOPSLA 1997, USA, pp. 218–228. ACM, New York (1997)
Russell, N., et al.: Workflow control-flow patterns: A revised view. BPM Center Report BPM-06-31 (2006)
Sun Microsystems. JavaBeans Specification (1997), http://java.sun.com/products/javabeans/docs/spec.html
Szyperski, C.: Universe of composition. Software Development (2002)
Tsiatsoulis, Z., Cotronis, J.Y.: Testing and debugging message passing programs in synergy with their specifications. Fundamenta Informatica 41(3), 341–366 (2000)
Velasco Elizondo, P., Lau, K.-K.: A catalogue of component connectors to support development with reuse. Journal of Systems and Software (2010)
Vlissides, J.: Composite design patterns (They Aren’t What You Think). C++ report (1998)
Wydaeghe, B., Vanderperren, W.: Visual component composition using composition patterns. In: Proc. TOOLS 2001, pp. 120–129. IEEE Computer Society, Los Alamitos (2001)
Yacoub, S.M., Ammar, H.H.: UML support for designing software systems as a composition of design patterns. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, p. 149. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lau, KK., Ntalamagkas, I., Tran, C.M., Rana, T. (2010). (Behavioural) Design Patterns as Composition Operators. In: Grunske, L., Reussner, R., Plasil, F. (eds) Component-Based Software Engineering. CBSE 2010. Lecture Notes in Computer Science, vol 6092. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13238-4_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-13238-4_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13237-7
Online ISBN: 978-3-642-13238-4
eBook Packages: Computer ScienceComputer Science (R0)