Abstract
Design patterns document solutions to recurring design and development challenges. UML, which is the de-facto modeling language in software development, supports defining and using patterns with its Collaboration concepts. However, as is demonstrated in the paper, the support is not sufficient for all kinds of patterns and all meaningful ways to use patterns. In this paper, the use of design patterns is suggested for documentation purposes in Model-Driven Development. The pattern support of UML is complemented with an approach that does not constrain the nature of pattern solutions. The approach is tool-supported in a model-driven development tool environment for basic control and safety-related control applications, UML AP tool. The developed tool support includes instantiating and highlighting patterns in models as well as gathering documentation on use of patterns, which could especially benefit safety system development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Agerbo, E., Cornils, A.: How to preserve the benefits of design patterns. ACM SIGPLAN Not. 33, 134–143 (1998)
Alexander, C., Ishikawa, S., Silverstein, M.: Pattern Language: Towns, Buildings Construction. Oxford University Press, Oxford (1977)
Alexander, C.: The Timeless Way of Building. Oxford University Press, Oxford (1979)
Appleton, B.: Patterns and software: essential concepts and terminology. Object Mag. Online 3, 20–25 (1997)
Briand, L.C., Labiche, Y., Sauve, A.: Guiding the application of design patterns based on UML models. In: The 22nd IEEE International Conference on Software Maintenance, ICSM 2006, pp. 234–243 (2006)
Buschmann, F., Meunier, R., Rohnert, H., et al.: Pattern Oriented Software Architecture: A System of Patters. Wiley, New York (1996)
Dong, J.: UML extensions for design pattern compositions. J. Object Technol. 1, 151–163 (2002)
Dong, J., Yang, S.: QVT based model transformation for design pattern evolutions. In: 10th IASTED International Conference on Internet and Multimedia Systems and Applications (2006)
Douglass, B.P.: Real-time design patterns. In: Real-Time UML: Developing Efficient Objects for Embedded Systems. Addison-Wesley, Reading (1998)
France, R.B., Kim, D., Ghosh, S., et al.: A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30, 193–206 (2004)
France, R., Chosh, S., Song, E., et al.: A metamodeling approach to pattern-based model refactoring. IEEE Softw. 20, 52–58 (2003)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education, Upper Saddle River (1994)
Hanmer, R.: Patterns for Fault Tolerant Software. Wiley, Chichester (2013)
Harrison, N.B., Avgeriou, P., Zdlin, U.: Using patterns to capture architectural decisions. IEEE Softw. 24, 38–45 (2007)
IEC: 61508 Functional Safety of electrical/electronic/programmable Electronic Safety-Related Systems. International Electrotechnical Commission (2010)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: The 5th working IEEE/IFIP Conference onSoftware Architecture, pp. 109–120 (2005)
Jing, D., Sheng, Y., Kang, Z.: Visualizing design patterns in their applications and compositions. IEEE Trans. Softw. Eng. 33, 433–453 (2007)
Kajsa, P., Majtás, L.: Design patterns instantiation based on semantics and model transformations. In: van Leeuwen, J., Muscholl, A., Peleg, D., Pokorný, J., Rumpe, B. (eds.) SOFSEM 2010. LNCS, vol. 5901, pp. 540–551. Springer, Heidelberg (2010)
Lasater, C.G.: Design Patterns. Jones & Bartlett Publishers, Boston (2010)
No Magic, Inc., MagicDraw (2014). http://www.nomagic.com/products/magicdraw.html
OMG: Unified Modeling Language Specification 2.4.1: SuperStructure. Object Management Group (2011)
Rauhamäki, J., Vepsäläinen, T., Kuikka, S.: Patterns for safety and control system cooperation. In: VikingPlop (2013)
Saridakis, T.: Design patterns for checkpoint-based rollback recovery. In: The 10th Conference on Pattern Languages of Programs (PLoP) (2003)
Sunyé, G., Le Guennec, A., Jézéquel, J.-M.: Design patterns application in UML. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 44–62. Springer, Heidelberg (2000)
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., et al.: Design pattern detection using similarity scoring. IEEE Trans. Softw. Eng. 32, 896–909 (2006)
Vepsäläinen, T., Hästbacka, D., Kuikka, S.: Tool support for the UML automation profile - for domain-specific software development in manufacturing. In: The Third International Conference on Software Engineering Advances, ICSEA 2008, pp. 43–50 (2008)
Vepsäläinen, T. and Kuikka, S.: Towards model-based development of safety-related control applications. In: 2011 IEEE 16th Conference on Emerging Technologies and Factory Automation (ETFA) (2011)
Vepsäläinen, T., Kuikka, S.: Design pattern support for model-driven development. In: 9th International Conference on Software Engineering and Applications, pp. 277–286 (2014)
Vepsäläinen, T., Kuikka, S.: Safety patterns in model-driven development. In: 9th International Conference on Software Engineering Advances, pp. 233–239 (2014)
Xue-Bin, W., Quan-Yuan, W., Huai-Min, W., et al.: Research and implementation of design pattern-oriented model transformation. In: The International Multi-Conference on Computing in the Global Information Technology, ICCGI 2007 (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Vepsäläinen, T., Kuikka, S. (2015). Design Patterns for Model-Driven Development. In: Holzinger, A., Cardoso, J., Cordeiro, J., Libourel, T., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2014. Communications in Computer and Information Science, vol 555. Springer, Cham. https://doi.org/10.1007/978-3-319-25579-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-25579-8_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25578-1
Online ISBN: 978-3-319-25579-8
eBook Packages: Computer ScienceComputer Science (R0)