DesPat: A Modeling Toolset for Designing and Implementing Software Systems using Design Patterns

Mert Ozkaya, Mehmet Kose

Abstract

Software design patterns are considered as the general solutions to the problems that occur many times in the context of software design. However, applying design patterns at code level is not so easy, as adding/removing pattern elements, combining patterns, and checking software implementation against the pattern rules are not supported with the existing implementation frameworks/tools. Generating code from the high-level pattern-centric models is not so easy either due to the lack of modeling language and tool support. In this paper, we propose a software design toolset called DesPat for applying design patterns abstractly at modeling level. We focus on a subset of design patterns proposed by Gamma et al., which are observed to be highly used in industry - i.e., the factory, composite, facade, observer, singleton, and visitor design patterns. DesPat offers a graphical notation set for each pattern supported that is based on the UML class diagram. DesPat is supported with a modeling editor to create pattern model(s) for software systems, combine different pattern models, and check them for correctness. DesPat further generates Java code from the pattern models. We illustrated DesPat with a set of real-world applications and evaluated DesPat via a set of final-year CS undergraduate students.

Download


Paper Citation


in Harvard Style

Ozkaya M. and Kose M. (2021). DesPat: A Modeling Toolset for Designing and Implementing Software Systems using Design Patterns. In Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-508-1, pages 251-260. DOI: 10.5220/0010438802510260


in Bibtex Style

@conference{enase21,
author={Mert Ozkaya and Mehmet Kose},
title={DesPat: A Modeling Toolset for Designing and Implementing Software Systems using Design Patterns},
booktitle={Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2021},
pages={251-260},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0010438802510260},
isbn={978-989-758-508-1},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - DesPat: A Modeling Toolset for Designing and Implementing Software Systems using Design Patterns
SN - 978-989-758-508-1
AU - Ozkaya M.
AU - Kose M.
PY - 2021
SP - 251
EP - 260
DO - 10.5220/0010438802510260