Skip to main content
Top
Published in: Software and Systems Modeling 3/2022

15-11-2021 | Regular Paper

A generic approach to detect design patterns in model transformations using a string-matching algorithm

Authors: Chihab eddine Mokaddem, Houari Sahraoui, Eugene Syriani

Published in: Software and Systems Modeling | Issue 3/2022

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Maintaining software artifacts is a complex and time-consuming task. Like any other program, model transformations are subject to maintenance. In a maintenance process, much effort is dedicated to the comprehension of programs. To this end, several techniques are used, such as feature location and design pattern detection. In the particular case of model transformations, detecting design patterns contributes to a better comprehension as they carry valuable information on the transformation structure. In this paper, we propose a generic approach to detect, semi-automatically, design patterns and their variations in model transformations. Our approach encodes both design patterns and transformations as strings and use a string-matching algorithm for the detection. The approach is able to detect complete and partial implementations of design patterns in transformations, which is useful to refactoring and improving model transformations.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Footnotes
1
The algorithm is similar to the one presented in [20] based on the transportation simplex [8].
 
5
For example, through Entities before Relations or Auxiliary Metamodel.
 
Literature
1.
go back to reference Al-Obeidallah, M., Petridis, M., Kapetanakis, S.: A survey on design pattern detection approaches. Int. J. Softw. Eng. 7, 41–59 (2016) Al-Obeidallah, M., Petridis, M., Kapetanakis, S.: A survey on design pattern detection approaches. Int. J. Softw. Eng. 7, 41–59 (2016)
4.
go back to reference Arcelli, F., Perin, F., Raibulet, C., Ravani, S.: Design pattern detection in java systems: a dynamic analysis based approach. In: Evaluation of Novel Approaches to Software Engineering: 3rd and 4th International Conferences, ENASE 2008/2009, Funchal, Madeira, Portugal, May 4-7, 2008 / Milan, Italy, May 9–10, 2009. Revised Selected Papers, pp. 163–179 . https://doi.org/10.1007/978-3-642-14819-4_12 (2009) Arcelli, F., Perin, F., Raibulet, C., Ravani, S.: Design pattern detection in java systems: a dynamic analysis based approach. In: Evaluation of Novel Approaches to Software Engineering: 3rd and 4th International Conferences, ENASE 2008/2009, Funchal, Madeira, Portugal, May 4-7, 2008 / Milan, Italy, May 9–10, 2009. Revised Selected Papers, pp. 163–179 . https://​doi.​org/​10.​1007/​978-3-642-14819-4_​12 (2009)
5.
go back to reference Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: D.C. Petriu, N. Rouquette, Ø. Haugen (eds.) Model Driven Engineering Languages and Systems: 13th International Conference, MODELS 2010, Oslo, Norway, October 3–8, 2010, Proceedings, Part I, Lecture Notes in Computer Science, vol. 6394, pp. 121–135. Springer . https://doi.org/10.1007/978-3-642-16145-2_9 (2010) Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: D.C. Petriu, N. Rouquette, Ø. Haugen (eds.) Model Driven Engineering Languages and Systems: 13th International Conference, MODELS 2010, Oslo, Norway, October 3–8, 2010, Proceedings, Part I, Lecture Notes in Computer Science, vol. 6394, pp. 121–135. Springer . https://​doi.​org/​10.​1007/​978-3-642-16145-2_​9 (2010)
6.
go back to reference Batot, E., Sahraoui, H.A., Syriani, E., Molins, P., Sboui, W.: Systematic mapping study of model transformations for concrete problems. In: S. Hammoudi, L.F. Pires, B. Selic, P. Desfray (eds.) MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, Rome, Italy, 19–21 February, 2016, pp. 176–183. SciTePress. https://doi.org/10.5220/0005657301760183 (2016) Batot, E., Sahraoui, H.A., Syriani, E., Molins, P., Sboui, W.: Systematic mapping study of model transformations for concrete problems. In: S. Hammoudi, L.F. Pires, B. Selic, P. Desfray (eds.) MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, Rome, Italy, 19–21 February, 2016, pp. 176–183. SciTePress. https://​doi.​org/​10.​5220/​0005657301760183​ (2016)
8.
go back to reference Dantizig, G.B.: Linear Programming and Extensions. Princeton University Press, Princeton (1991) Dantizig, G.B.: Linear Programming and Extensions. Princeton University Press, Princeton (1991)
9.
go back to reference von Detten, M., Becker, S.: Combining clustering and pattern detection for the reengineering of component-based software systems. In: 7th International Conference on the Quality of Software Architectures, QoSA 2011 and 2nd International Symposium on Architecting Critical Systems, ISARCS 2011. Boulder, CO, USA, June 20–24, 2011, Proceedings, pp. 23–32 (2011). https://doi.org/10.1145/2000259.2000265 von Detten, M., Becker, S.: Combining clustering and pattern detection for the reengineering of component-based software systems. In: 7th International Conference on the Quality of Software Architectures, QoSA 2011 and 2nd International Symposium on Architecting Critical Systems, ISARCS 2011. Boulder, CO, USA, June 20–24, 2011, Proceedings, pp. 23–32 (2011). https://​doi.​org/​10.​1145/​2000259.​2000265
10.
go back to reference Dong, J., Lad, D.S., Zhao, Y.: Dp-miner: design pattern discovery using matrix. In: 14th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems (ECBS 2007), 26–29 March 2007, Tucson, Arizona, USA, pp. 371–380 (2007). https://doi.org/10.1109/ECBS.2007.33 Dong, J., Lad, D.S., Zhao, Y.: Dp-miner: design pattern discovery using matrix. In: 14th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems (ECBS 2007), 26–29 March 2007, Tucson, Arizona, USA, pp. 371–380 (2007). https://​doi.​org/​10.​1109/​ECBS.​2007.​33
12.
go back to reference Ferenc, R., Beszédes, Á., Tarkiainen, M., Gyimóthy, T.: Columbus: reverse engineering tool and schema for C++. In: 18th International Conference on Software Maintenance (ICSM 2002), Maintaining Distributed Heterogeneous Systems, 3–6 October 2002, Montreal, Quebec, Canada, pp. 172–181 (2002). https://doi.org/10.1109/ICSM.2002.1167764 Ferenc, R., Beszédes, Á., Tarkiainen, M., Gyimóthy, T.: Columbus: reverse engineering tool and schema for C++. In: 18th International Conference on Software Maintenance (ICSM 2002), Maintaining Distributed Heterogeneous Systems, 3–6 October 2002, Montreal, Quebec, Canada, pp. 172–181 (2002). https://​doi.​org/​10.​1109/​ICSM.​2002.​1167764
15.
go back to reference Holub, J.: Simulation of NFA in approximate string and sequence matching. In: Proceedings of the Prague Stringology Club Workshop 1997, Prague, Czech Republic, July 7, 1997, pp. 39–46. Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University (1997). http://www.stringology.org/event/1997/p5.html Holub, J.: Simulation of NFA in approximate string and sequence matching. In: Proceedings of the Prague Stringology Club Workshop 1997, Prague, Czech Republic, July 7, 1997, pp. 39–46. Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University (1997). http://​www.​stringology.​org/​event/​1997/​p5.​html
16.
go back to reference Iacob, M., Steen, M.W.A., Heerink, L.: Reusable model transformation patterns. In: Workshops Proceedings of the 12th International IEEE Enterprise Distributed Object Computing Conference, ECOCW 2008, 16 September 2008, Munich, Germany, pp. 1–10 (2008). https://doi.org/10.1109/EDOCW.2008.51 Iacob, M., Steen, M.W.A., Heerink, L.: Reusable model transformation patterns. In: Workshops Proceedings of the 12th International IEEE Enterprise Distributed Object Computing Conference, ECOCW 2008, 16 September 2008, Munich, Germany, pp. 1–10 (2008). https://​doi.​org/​10.​1109/​EDOCW.​2008.​51
17.
go back to reference Johannes, J., Zschaler, S., Fernández, M.A., Castillo, A., Kolovos, D.S., Paige, R.F.: Abstracting complex languages through transformation and composition. In: A. Schürr, B. Selic (eds.) Model Driven Engineering Languages and Systems, 12th International Conference, MODELS 2009, Denver, CO, USA, October 4–9, 2009. Proceedings, Lecture Notes in Computer Science, vol. 5795, pp. 546–550. Springer (2009). https://doi.org/10.1007/978-3-642-04425-0_41 Johannes, J., Zschaler, S., Fernández, M.A., Castillo, A., Kolovos, D.S., Paige, R.F.: Abstracting complex languages through transformation and composition. In: A. Schürr, B. Selic (eds.) Model Driven Engineering Languages and Systems, 12th International Conference, MODELS 2009, Denver, CO, USA, October 4–9, 2009. Proceedings, Lecture Notes in Computer Science, vol. 5795, pp. 546–550. Springer (2009). https://​doi.​org/​10.​1007/​978-3-642-04425-0_​41
23.
go back to reference Lano, K., Rahimi, S.K., Tehrani, S.Y., Sharbaf, M.: A survey of model transformation design pattern usage. In: Theory and Practice of Model Transformation: 10th International Conference, ICMT 2017, Proceedings, LNCS, vol. 10374, pp. 108–118. Springer (2017). https://doi.org/10.1007/978-3-319-61473-1_8 Lano, K., Rahimi, S.K., Tehrani, S.Y., Sharbaf, M.: A survey of model transformation design pattern usage. In: Theory and Practice of Model Transformation: 10th International Conference, ICMT 2017, Proceedings, LNCS, vol. 10374, pp. 108–118. Springer (2017). https://​doi.​org/​10.​1007/​978-3-319-61473-1_​8
27.
go back to reference Mhawish, M.Y., Gupta, M.: Design pattern detection using ontology (2018) Mhawish, M.Y., Gupta, M.: Design pattern detection using ontology (2018)
28.
go back to reference Mokaddem, C., Sahraoui, H., Syriani, E.: Towards rule-based detection of design patterns in model transformations. In: System Analysis and Modeling. Technology-Specific Aspects of Models: 9th International Conference, SAM 2016, Saint-Melo, France, October 3–4, 2016, Proceedings, LNCS, vol. 9959, pp. 211–225. Springer, Saint-Malo (2016). https://doi.org/10.1007/978-3-319-46613-2_14 Mokaddem, C., Sahraoui, H., Syriani, E.: Towards rule-based detection of design patterns in model transformations. In: System Analysis and Modeling. Technology-Specific Aspects of Models: 9th International Conference, SAM 2016, Saint-Melo, France, October 3–4, 2016, Proceedings, LNCS, vol. 9959, pp. 211–225. Springer, Saint-Malo (2016). https://​doi.​org/​10.​1007/​978-3-319-46613-2_​14
29.
go back to reference Mokaddem, C., Sahraoui, H., Syriani, E.: Recommending model refactoring rules from refactoring examples. In: A. Wasowski, R.F. Paige, Ø. Haugen (eds.) Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, October 14-19, 2018, pp. 257–266. ACM (2018). https://doi.org/10.1145/3239372.3239406 Mokaddem, C., Sahraoui, H., Syriani, E.: Recommending model refactoring rules from refactoring examples. In: A. Wasowski, R.F. Paige, Ø. Haugen (eds.) Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, October 14-19, 2018, pp. 257–266. ACM (2018). https://​doi.​org/​10.​1145/​3239372.​3239406
32.
go back to reference Niere, J., Schäfer, W., Wadsack, J.P., Wendehals, L., Welsh, J.: Towards pattern-based design recovery. In: Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, 19–25 May 2002, Orlando, Florida, USA, pp. 338–348 (2002). https://doi.org/10.1145/581339.581382 Niere, J., Schäfer, W., Wadsack, J.P., Wendehals, L., Welsh, J.: Towards pattern-based design recovery. In: Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, 19–25 May 2002, Orlando, Florida, USA, pp. 338–348 (2002). https://​doi.​org/​10.​1145/​581339.​581382
34.
go back to reference Paakki, J., Karhinen, A., Gustafsson, J., Nenonen, L., Verkamo, A.: Software metrics by architectural pattern mining. In: Proceedings of the International Conference on Software: Theory and Practice (16th IFIP World Computer Congress) (2000) Paakki, J., Karhinen, A., Gustafsson, J., Nenonen, L., Verkamo, A.: Software metrics by architectural pattern mining. In: Proceedings of the International Conference on Software: Theory and Practice (16th IFIP World Computer Congress) (2000)
35.
go back to reference Pandiselvam, P., Marimuthu, T., Lawrance, R.: A comparative study on string matching algorithm of biological sequences. Computing Research Repository (CoRR) (2014). arXiv:1401.7416 Pandiselvam, P., Marimuthu, T., Lawrance, R.: A comparative study on string matching algorithm of biological sequences. Computing Research Repository (CoRR) (2014). arXiv:​1401.​7416
37.
go back to reference Ramadan, Q., Salnitri, M., Strüber, D., Jürjens, J., Giorgini, P.: From secure business process modeling to design-level security verification. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2017, Austin, TX, USA, September 17–22, 2017, pp. 123–133. IEEE Computer Society (2017). https://doi.org/10.1109/MODELS.2017.10 Ramadan, Q., Salnitri, M., Strüber, D., Jürjens, J., Giorgini, P.: From secure business process modeling to design-level security verification. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2017, Austin, TX, USA, September 17–22, 2017, pp. 123–133. IEEE Computer Society (2017). https://​doi.​org/​10.​1109/​MODELS.​2017.​10
40.
go back to reference Shi, N., Olsson, R.A.: Reverse engineering of design patterns from java source code. In: 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), 18–22 September 2006, Tokyo, Japan, pp. 123–134 (2006). https://doi.org/10.1109/ASE.2006.57 Shi, N., Olsson, R.A.: Reverse engineering of design patterns from java source code. In: 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), 18–22 September 2006, Tokyo, Japan, pp. 123–134 (2006). https://​doi.​org/​10.​1109/​ASE.​2006.​57
42.
go back to reference Srinivasan, G.: Operations Research: Principles and Applications. Prentice-Hall of India, Hoboken (2010) Srinivasan, G.: Operations Research: Principles and Applications. Prentice-Hall of India, Hoboken (2010)
Metadata
Title
A generic approach to detect design patterns in model transformations using a string-matching algorithm
Authors
Chihab eddine Mokaddem
Houari Sahraoui
Eugene Syriani
Publication date
15-11-2021
Publisher
Springer Berlin Heidelberg
Published in
Software and Systems Modeling / Issue 3/2022
Print ISSN: 1619-1366
Electronic ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-021-00936-4

Other articles of this Issue 3/2022

Software and Systems Modeling 3/2022 Go to the issue

Premium Partner