Citation: Proceedings of the 2020 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 21, pages 639–648 (2020)
Abstract. SAWUML is a general-purpose software modeling language that extends UML by unifying component and sequence diagrams for the specifications of software architectures. While component diagram is used for modeling the system structures, sequence diagram is extended with the Design-by-Contract approach for the modeling of system behaviors. In this paper, we aim at enhancing the language usability by providing alternative modeling choices for practitioners. To this end, we extended SAWUML's notation set with UML's activity diagram for the behavior modeling. So, practitioners may now use either sequence or activity diagrams, while the system structures are still modeled with component diagrams. We also extended SAWUML's modeling editor for creating software architecture models together with component and activity diagrams and the code generators for automatically obtaining (i) formal models in SPIN's ProMeLa for formal verification and (ii) Java-based implementation. We illustrate our language extension with the gas station case-study.
- Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice, 2nd ed. Addison-Wesley Proffesional, 2003, pp. 19-26.
- N. Medvidovic and R. N. Taylor, "Software architecture: foundations, theory, and practice," 2010 ACM/IEEE 32nd International Conference on Software Engineering, Cape Town, 2010, pp. 471-472, http://dx.doi.org/10.1145/1810295.1810435.
- David Garlan and Mary Shaw, “An introduction to software architecture”. Advances in Software Engineering and Knowledge Engineering, 1993, pp. 1-39. https://doi.org/10.1142/9789812798039_0001
- Ozkaya M. “The analysis of architectural languages for the needs of practitioners”. Softw Pract Exper. 2018; 48: 985– 1018. https://doi.org/10.1002/spe.2561
- N. Medvidovic and R. N. Taylor, "A classification and comparison framework for software architecture description languages," in IEEE Transactions on Software Engineering, vol. 26, no. 1, pp. 70-93, Jan. 2000, http://dx.doi.org/10.1109/32.825767.
- P. C. Clements, "A survey of architecture description languages," Proceedings of the 8th International Workshop on Software Specification and Design, Schloss Velen, Germany, 1996, pp. 16-25, http://dx.doi.org/10.1109/IWSSD.1996.501143.
- Object Management Group. OMG unified modeling language secification –version 2.5. http://www.omg.org/spec/UML/2.5/; 2015. URL http://www.omg.org/spec/UML/2.5/.
- Ozkaya M. “Do the informal & formal software modeling notations satisfy practitioners for software architecture modeling?” Inf Softw Technol 2017; 95: 15–33. http://dx.doi.org/10.1016/j.infsof.2017.10.008.
- I. Malavolta, P. Lago, H. Muccini, P. Pelliccione and A. Tang, "What industry needs from architectural languages: a survey," in IEEE Transactions on Software Engineering, vol. 39, no. 6, pp. 869-891, June 2013, http://dx.doi.org/10.1109/TSE.2012.74.
- Ozkaya M. and Kose M. A. “SAwUML – UML-based, contractual software architectures and their formal analysis using SPIN”. Journal of Computer Languages, Systems and Structures, 2018; 54: 71-94. https://doi.org/10.1016/j.cl.2018.04.005
- B. Meyer, "Applying 'design by contract'," in Computer, vol. 25, no. 10, pp. 40-51, Oct. 1992, http://dx.doi.org/10.1109/2.161279.
- A. Pnueli, "The temporal logic of programs," 18th Annual Symposium on Foundations of Computer Science (sfcs 1977), Providence, RI, USA, 1977, pp. 46-57, http://dx.doi.org/10.1109/SFCS.1977.32
- Reggio, G., Leotta, M., Ricca, F., Clerissi, D. “What are the used UML diagrams? a preliminary survey”. Proceedings of 3rd International Workshop on Experiences and Empirical Studies in Software Modeling (EESSMod 2013), vol. 1078, pp. 3–12. CEUR Workshop Proceedings, 2013.
- Wrycza, Stanisław & Marcinkowski, Bartosz. “A light version of UML2:survey and outcomes”. 2007, http://dx.doi.org/10.13140/RG.2.1.3445.1046.
- G. Reggio, M. Leotta and F. Ricca, "“Precise is better than light” a document analysis study about quality of business process models," Workshop on Empirical Requirements Engineering (EmpiRE 2011), Trento, 2011, pp. 61-68, http://dx.doi.org/10.1109/EmpiRE.2011.6046257.
- Kelly S, Lyytinen K, Rossi M. “Metaedit+ a fully configurable multi-user and multi-tool CASE and CAME environment”. In: Bubenko J, Krogstie J, Pastor O, Pernici B, Rolland C, Sølvberg A, editors. Seminal contributions to information systems engineering, 25 years of CAiSE. Springer; 2013. p. 109–29. ISBN 978-3-642-36925-4. http://dx.doi.org/10.1007/978-3-642-36926-1_9 .
- Holzmann GJ. “The SPIN Model Checker - primer and reference manual”. Addison-Wesley Professional, 2003, ISBN 978-0-321-22862-8.
- Naumovich G , Avrunin GS , Clarke LA , Osterweil LJ. “Applying static analysis to software architectures”. In: Jazayeri M, Schauer H, editors. Software engineering–ESEC/FSE’97. Lecture Notes in Computer Science, 1301. Springer; 1997. pp. 77–93. ISBN 3-540-63531-9.
- Dewayne E. Perry and Alexander L. Wolf. 1992. “Foundations for the study of software architecture”. SIGSOFT Softw. Eng. Notes 17, 4 (Oct. 1992), pp. 40–52. https://doi.org/10.1145/141874.141884