Abstract
Since the seminal book by the Gang of Four, design patterns have proven an important tool in software development. Over time, more and more patterns have been discovered and developed. The sheer amount of patterns available makes it hard to find patterns useful for solving a specific design problem. Hence, tools supporting searching and finding design patterns appropriate to a certain problem are required. To develop such tooling, design patterns must be described formally such that they can be queryed by the problem to be solved. Current approaches to formalising design patterns focus on the solution structure of the pattern rather than on the problems solved. In this paper, we present a formalisation of the intent of the 23 patterns from the Gang-of-Four book. Based on this formalisation we have developed a Design Pattern Wizard that proposes applicable design patterns based on a description of a design problem.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Eclipse – Rich Client Platform (2006), http://www.eclipse.org/home/categories/rcp.php
Jena – a semantic web framework for Java (2006), http://jena.sourceforge.net/
Protégé ontology editor and knowledge acquisition system (2006), http://protege.stanford.edu
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Center for Environmental Structure Series, vol. 2. Oxford University Press, New York, NY (1977)
Alur, D., Crupi, J., Malks, D.: Core J2EE Patterns: Best Practices and Design Strategies. Pearson Education (2001), Patterns catalog available at http://java.sun.com/blueprints/corej2eepatterns/index.html
Alur, D., Crupi, J., Malks, D.: Sun Java center – J2EE patterns (March 2001), http://java.sun.com/developer/technicalArticles/J2EE/patterns/
PatternShare Community. Patternshare community (2006), http://patternshare.org/
de Medeiros, A.P., Schwabe, D., Feijó, B.: A design rationale representation for model-based designs in software engineering. In: Belo, O., Eder, J., e Cunha, J.F., Pastor, O. (eds.) CAiSE Short Paper Proceedings, CEUR Workshop Proceedings. CEUR-WS.org. vol. 161 (2005), http://www.ceurws.org/Vol-161/FORUM_27.pdf
Dietrich, J., Elgar, C.: A formal description of design patterns using OWL. In: ASWEC 2005. Australian Software Engineering Conference, pp. 243–250. IEEE Computer Society, Los Alamitos (2005), http://doi.ieeecomputersociety.org/10.1109/ASWEC.2005.6
Fowler, M.: Analysis Patterns: Reusable Object Models. The Addison-Wesley Object Technology Series. Addison-Wesley Professional, Reading (1996)
Fowler, M.: Patterns of Enterprise Application Architecture. The Addison-Wesley Signature Series. Addison Wesley, Reading (2003)
Fowler, M.: Patterns in enterprise software (2005), http://www.martinfowler.com/articles/enterprisePatterns.html
Fowler, M.: Writing software patterns (August 2006), http://martinfowler.com/articles/writingPatterns.html
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley Publishing Company, New York, NY (1995)
Gross, D., Yu, E.S.K.: From non-functional requirements to design through patterns. Requirements Engineering 6(1), 18–36 (2001), http://citeseer.ist.psu.edu/gross00from.html
Gruber, T.R.: A translation approach to portable ontology specifications. Knowledge Acquisition 6(2), 199–221 (1993), http://portal.acm.org/citation.cfm?id=173747
Henninger, S., Padmapriya, A.: An Ontology-Based Metamodel for Software Patterns. In: Seke2006. 18th Int. Conf. on Software Engineering and Knowledge Engineering, San Francisco (July 2006) (to be presented), http://cse.unl.edu/~scotth/papers/SEKE06-TechReport.pdf
Horridge, M., Drummond, N., Goodwin, J., Rector, A., Stevens, R., Wang, H.H: The Manchester OWL syntax (2005), http://owl-workshop.man.ac.uk/acceptedLong/submission_9.pdf
Racer Systems GmbH & Co. KG. Racerpro users guide version 1.9 (2005), http://www.racer-systems.com/products/racerpro/manual.phtml
Mahemoff, M., Johnston, L.: Principles for a usability-oriented pattern language (1998), http://citeseer.ist.psu.edu/article/mahemoff98principles.html
Mapelsden, D., Hosking, J., Grundy, J.: Design pattern modelling and instantiation using DPML. In: CRPIT 2002. Proceedings of the Fortieth International Conference on Tools Pacific, pp. 3–11. Australian Computer Society, Inc., Darlinghurst, Australia, Australia (2002)
Mikkonen, T.: Formalizing design patterns. In: ICSE 1998. Proceedings of the 20th international conference on Software engineering, pp. 115–124. IEEE Computer Society, Washington, DC, USA (1998)
Montero, S., Diaz, P., Aedo, I.: Formalization of web design patterns using ontologies (2005)
Noy, N.F., McGuinness, D.L.: Ontology development 101: A guide to creating your first ontology. Technical Report KSL-01-05, Knowledge Systems Laboratory, Stanford University, Stanford, CA, 94305, USA (March 2001)
Portland Pattern Repository. Portland pattern repository (2006), http://c2.com/ppr/
Smith, M.K., Welty, C., McGuinness, D.L.: OWL web ontology language guide (2004), http://www.w3.org/TR/owl-guide
Taibi, T., Ngo, D.C.L.: Formal specification of design patterns - a balanced approach. Journal of Object Technology 2(4), 127–140 (2003), http://www.jot.fm/issues/issue_2003_07/article4.pdf
Tichy, W.F.: A catalogue of general-purpose software design patterns. In: TOOLS 1997. Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems, IEEE Computer Society, Washington, DC, USA (1997)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kampffmeyer, H., Zschaler, S. (2007). Finding the Pattern You Need: The Design Pattern Intent Ontology. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-75209-7_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75208-0
Online ISBN: 978-3-540-75209-7
eBook Packages: Computer ScienceComputer Science (R0)