skip to main content
research-article

Ontology driven creational design patterns as parameterized and reusable components

Published:01 March 2014Publication History
Skip Abstract Section

Abstract

We have explored the use of a generic ontology component to separate and encapsulate the design pattern logic of the GoF creational design patterns. We used a unique generic ontology as a runtime component in the creational patterns and then analyzed and compared the implementations with those of traditional GoF creational patterns. We concluded after experimental analysis that ontology driven solutions to creational design patterns not only mitigate the drawbacks identified in the creational patterns but also make the patterns a plug and play parameterized and reusable component whereby the desired objects can be created on the fly. Once the pattern parameters i.e. the participant classes are fed into the pattern ontology, the pattern functionality embedded within the ontological component becomes ready to use. This not only decouples the pattern logic from application logic but also decouples the pattern participant classes from each other. Thus the patterns become reusable even at the implementation level.

References

  1. Budinsky, F., Finnie, M., Yu, P., Vlissides, J. Automatic code generation from design patterns. IBM Systems Journal, 35, 2 (1996), 151--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chaturvedi, A., and Prabhakar, T. V. Ontology -- driven MVC: A variant of MVC architectural style. In Proceedings of the International Conference on Software Engineering and New Technologies (ICSENT'12) (Hammamet, Tunisia, December 15--17, 2012) 2012, 158--174.Google ScholarGoogle Scholar
  3. Chaturvedi, A., and Prabhakar, T. V. Ontological visitor pattern. In Indian Conference on Patterns and Pattern Languages of Programs (GuruPLoP'13) (Bangalore, India, March 3--4, 2013) 2013.Google ScholarGoogle Scholar
  4. Chaturvedi, A. and Prabhakar T. V. 2013. Ontology -- driven observer pattern. In Proceedings of the International Workshop on Ontologies meet Advanced Information Systems (OAIS'13) (Genoa, Italy, September 1--4, 2013) Springer International Publishing Switzerland, 158--174.Google ScholarGoogle Scholar
  5. Gamma E., Helm, R., Johnson, R., Vlissides, J. Design Patterns Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Garcia, A., Sant'Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., Staa, A. Modularizing design patterns with aspects: A quantitative study. LNCS Transactions on Aspect-Oriented Software Development, Springer, 1 (2005), 36--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gruber, T. A translation approach to portable ontology specification. Knowledge Acquisition, 5, 2 (1993), 199--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Hannemann, J., and Kiczales, G. Design pattern implementation in java and aspect. In Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'02). 37, 11 (2002), 161--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. JArchitect: A tool to evaluate java code base, http://www.javadepend.com/. Accessed on 10 April 2012.Google ScholarGoogle Scholar
  10. Noble, J. Natural creation-a composite pattern for creating objects. In Proceedings of Technology of Object Oriented Languages and Systems (TOOLS), 1999, 78--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Protégé ontology editor, http://protege.stanford.edu/, Accessed on 5 March 2012.Google ScholarGoogle Scholar
  12. Soukup, J. Implementing patterns. In Coplien J. O., Schmidt, D. C. (eds.) Pattern Languages of Program Design. Addison Wesley, (1995), 395--412. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Ontology driven creational design patterns as parameterized and reusable components

        Recommendations

        Reviews

        Birol O. Aygun

        Software design patterns, especially creational design patterns, have been of special interest to the software development community since their systematic formulation in the Gang-of-Four (GoF) publication [1]. However, many factors specifically related to creational patterns, as well as pattern usage in general, have prevented their widespread use. This paper identifies many of these factors. The main subject of the paper is an ontology-driven approach for using creational design patterns, in which all the GoF creational patterns are implemented in an ontology comprising a generic ontology and an ontology manager. The implementation of several patterns is then described, including textual descriptions and unified modeling language (UML) diagrams, followed by a detailed description of the builder pattern, including Java code and a comparison of this ontology-based implementation with a traditional implementation. The two patterns are then compared using the JArchitect tool. The results show that there are fewer dependencies between classes in the ontology-based implementation. The advantages and disadvantages of separating the logic of the design pattern from that of the pattern itself are then discussed and summarized in the conclusion. While there is a very good description of the authors' ontology-based approach with several examples, one is left waiting for an evaluation of this approach by a traditional development group, describing their experience with ease of use, benefits gained, and more specific questions, such as the performance of the ontology-based code in real-life use cases. Hopefully, these results are forthcoming. Nevertheless, the current publication should be very interesting for design pattern users, especially among Java developers. 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

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader