Abstract
For the early design and communication of software systems, architects commonly use informal diagrams. Due to their notational freedom and effectiveness for communication, informal diagrams are often preferred over models with a fixed syntax and semantics as defined by a modeling language. However, precisely because of this lack of established semantics, informal diagrams are of limited use in later development stages for analysis tasks such as consistency checking or change impact analysis. In this paper, we present an approach to reconciling informal diagramming and modeling such that architects can benefit from analysis based on the informal diagrams they are already creating. Our approach supports migrating from existing informal architecture diagrams to flexible models, i.e., partially treating diagrams as models while maintaining the freedom of free-form drawing. Moreover, to enhance the ease of interacting with the flexible models, we provide support for their blended textual and graphical editing. We validate our approach in a lab setting and perform an evaluative case study in an industrial setting. We show how the approach allows architects to continue informal diagramming, while also benefiting from flexible models for consistency checking between the intended architecture and the implementation.
This research was supported by Software Center https://www.software-center.se.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Baltes, S., Diehl, S.: Sketches and diagrams in practice. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 530–541 (2014)
Bucchiarone, A., et al.: What is the future of modeling? IEEE Softw. 38(2), 119–127 (2021)
Cabot, J.: Text to UML and other “diagrams as code” tools - Fastest way to create your models, March 2020. https://modeling-languages.com/text-uml-tools-complete-list/
Cho, H., Gray, J., Syriani, E.: Creating visual domain-specific modeling languages from end-user demonstration. In: 2012 4th International Workshop on Modeling in Software Engineering (MISE), pp. 22–28. IEEE (2012)
Ciccozzi, F., Tichy, M., Vangheluwe, H., Weyns, D.: Blended modelling-what, why and how. In: 2019 ACM/IEEE 22nd MODELS-Companion, pp. 425–430. IEEE (2019)
Dejanović, I., Vaderna, R., Milosavljević, G., Vuković, Ž: TextX: a python tool for domain-specific languages implementation. Knowl. Based Syst. 115, 1–4 (2017)
Di Vincenzo, D., Di Rocco, J., Di Ruscio, D., Pierantonio, A.: Enhancing syntax expressiveness in domain-specific modelling. In: 2021 ACM/IEEE MODELS Companion, pp. 586–594. IEEE (2021)
Eclipse Foundation: Sirius - the easiest way to get your own modeling tool (2022). https://www.eclipse.org/sirius/
Fondement, F.: Graphical concrete syntax rendering with SVG. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 200–214. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69100-6_14
Gogolla, M., Clarisó, R., Selic, B., Cabot, J.: Towards facilitating the exploration of informal concepts in formal modeling tools. In: 2021 ACM/IEEE MODELS-C, pp. 244–248. IEEE (2021)
Guerra, E., de Lara, J.: On the quest for flexible modelling. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 23–33 (2018)
Hasselbring, W.: Software architecture: past, present, future. In: The Essence of Software Engineering, pp. 169–184. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-73897-0_10
Kolovos, D.S., Matragkas, N.D., Rodríguez, H.H., Paige, R.F.: Programmatic muddle management. XMMoDELS 1089, 2–10 (2013)
López-Fernández, J.J., Garmendia, A., Guerra, E., de Lara, J.: An example is worth a thousand words: creating graphical modelling environments by example. Softw. Syst. Model. 18(2), 961–993 (2017). https://doi.org/10.1007/s10270-017-0632-7
Mangano, N., Baker, A., Dempsey, M., Navarro, E., van der Hoek, A.: Software design sketching with calico. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 23–32 (2010)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131 (2009)
Sánchez-Cuadrado, J., de Lara, J., Guerra, E.: Bottom-up meta-modelling: an interactive approach. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 3–19. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33666-9_2
Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25 (2006)
Störrle, H.: How are conceptual models used in industrial software development? A descriptive survey. In: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, pp. 160–169 (2017)
Wüest, D., Seyff, N., Glinz, M.: FlexiSketch: a lightweight sketching and metamodeling approach for end-users. Softw. Syst. Model. 18(2), 1513–1541 (2019)
XText: XText - language engineering made easy! (2022). https://www.eclipse.org/Xtext/
Zolotas, A., Kolovos, D.S., Matragkas, N.D., Paige, R.F.: Assigning semantics to graphical concrete syntaxes. XM@ MoDELS 1239, pp. 12–21 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Jongeling, R., Ciccozzi, F., Cicchetti, A., Carlson, J. (2022). From Informal Architecture Diagrams to Flexible Blended Models. In: Gerostathopoulos, I., Lewis, G., Batista, T., Bureš, T. (eds) Software Architecture. ECSA 2022. Lecture Notes in Computer Science, vol 13444. Springer, Cham. https://doi.org/10.1007/978-3-031-16697-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-031-16697-6_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-16696-9
Online ISBN: 978-3-031-16697-6
eBook Packages: Computer ScienceComputer Science (R0)