Modeling Design Patterns with Description Logics: A Case Study

  • Yudistira Asnar
  • Elda Paja
  • John Mylopoulos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6741)


Design Patterns constitute an effective way to model design knowledge for future reuse. There has been much research on topics such as object-oriented patterns, architectural styles, requirements patterns, security patterns, and more. Typically, such patterns are specified informally in natural language, and it is up to designers to determine if a pattern is applicable to a problem-at-hand, and what solution that pattern offers. Of course, this activity does not scale well, either with respect to a growing pattern library or a growing problem. In this work, we propose to formalize such patterns in a formal modeling language, thereby automating pattern matching for a given problem. The patterns and the problem are formalized in a description logic. Our proposed framework is evaluated with a case study involving Security & Dependability patterns specified in Tropos SI*. The paper presents the formalization of all concepts in SI* and the modeling of problems using OWL-\({\mathcal{DL}}\) and SWRL. We then encode patterns as SPARQL and SQWRL queries. To evaluate the scalability of our approach, we present experimental results using models inspired by an industrial case study.


design patterns description logics pattern matching 


  1. 1.
    Alexander, C., Ishikawa, S., Silverstein, M.: A pattern language. Oxford Press (1977)Google Scholar
  2. 2.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Reading (1995)Google Scholar
  3. 3.
    Manolescu, D., Kozaczynski, W., Miller, A., Hogg, J.: The growing divide in the patterns world. IEEE Software 24(4), 61–67 (2007)CrossRefGoogle Scholar
  4. 4.
    Sommerville, I.: Software Engineering, 7th edn. Addison Wesley, Reading (May 2004)Google Scholar
  5. 5.
    Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The description logic handbook: theory, implementation, and applications. Cambridge University Press, New York (2003)zbMATHGoogle Scholar
  6. 6.
    Asnar, Y., Bryl, V., Dalpiaz, F., El-Khoury, P., Felici, M., Halas, H., Krausová, A., Li, K., Riccucci, C., Saidane, A., Séguran, M., Yautsiukhin, A.: Final set of S&D Patterns at Organizational Level. Project Deliverable A1.D3.3, SERENITY Consortium (January 2009)Google Scholar
  7. 7.
    Horrocks, I., Patel-Schneider, P.F., Boley, H., Tabet, S., Grosof, B., Dean, M.: SWRL: A Semantic Web Rule Language Combining OWL and RuleML (May 2004),
  8. 8.
    Hanmer, R.: Patterns for Fault Tolerant Software. Wiley, Chichester (2007)Google Scholar
  9. 9.
    Schumacher, M., Fernandez-Buglioni, E., Hybertson, D., Buschmann, F., Sommerlad, P.: Security Patterns: Integrating Security and Systems Engineering, 1st edn. Wiley, Chichester (2006)Google Scholar
  10. 10.
    Giorgini, P., Massacci, F., Mylopoulos, J., Zannone, N.: Requirements Engineering for Trust Management: Model, Methodology, and Reasoning. IJIS 5(4), 257–274 (2006)Google Scholar
  11. 11.
    Asnar, Y., Giorgini, P., Mylopoulos, J.: Goal-driven risk assessment in requirements engineering. REJ, 1–16 (2010)Google Scholar
  12. 12.
    Prud’hommeaux, E., Seaborne, A.: SPARQL Query Language for RDF (February 2004), (lastchecked: March 7, 2010)
  13. 13.
    O’Connor, M., Das, A.: SQWRL: a query language for OWL. In: Proc. of OWLED 2009 (2009)Google Scholar
  14. 14.
    McCarthy, P.: Search RDF data with SPARQL: SPARQL and the Jena Toolkit open up the semantic Web (May 2005), (lastchecked: March 1, 2010)
  15. 15.
    Friedman-Hill, E.: Jess Rule Engine, (lastchecked: December 2009)
  16. 16.
    Görz, G.: Description Logics, Knowledge Bases, Formal Ontologies and Data Bases: Content. Lecture Notes (2008)Google Scholar
  17. 17.
    Asnar, Y., Giorgini, P., Massacci, F., Saidane, A., Bonato, R., Meduri, V., Riccucci, C.: Secure and Dependable Patterns in Organizations: An Empirical Approach. In: Proc. of RE 2007 (2007)Google Scholar
  18. 18.
    Mens, T., Van Der Straeten, R., Simmonds, J.: Maintaining consistency between UML models with description logic tools. In: Proc. of UML 2003, Workshop on Consistency Problems in UML-based Software Development II (2003)Google Scholar
  19. 19.
    Albin-amiot, H., gaël Guéhéneuc, Y., Kastler, R.A.: Meta-modeling design patterns: Application to pattern detection and code synthesis. In: Proc. of ECOOP 2001 Workshop Automating Object-Oriented Software Development Methods, pp. 1–35 (2001)Google Scholar
  20. 20.
    Manolescu, D., Kozaczynski, W., Miller, A., Hogg, J.: The growing divide in the patterns world. IEEE Software 24(4), 61–67 (2007)CrossRefGoogle Scholar
  21. 21.
    Zdun, U.: Systematic pattern selection using pattern language grammars and design space analysis. Software: Practice and Experience 37(9), 983–1016 (2007)Google Scholar
  22. 22.
    Gross, D., Yu, E.: From Non-Functional requirements to design through patterns. Requirements Engineering 6(1), 18–36 (2001)CrossRefzbMATHGoogle Scholar
  23. 23.
    Weiss, M., Mouratidis, H.: Selecting security patterns that fulfill security requirements. In: 16th IEEE International Requirements Engineering, RE 2008, pp. 169–172 (2008)Google Scholar
  24. 24.
    Eden, A.H., Yehudai, A., Gil, J.: Precise specification and automatic application of design patterns. In: Proc. of ASE 1997, pp. 143–152 (1997)Google Scholar
  25. 25.
    Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proc. of OOPSLA 2003 Workshop on Generative Techniques in the Context of the MDA (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Yudistira Asnar
    • 1
  • Elda Paja
    • 1
  • John Mylopoulos
    • 1
  1. 1.Department of Information Engineering and Computer ScienceUniversity of TrentoItaly

Personalised recommendations