Abstract
In software engineering, a scenario describes an anticipated usage of a software system. As scenarios are useful to understand the requirements and functionalities of a software system, the scenario-based analysis is widely used in various tasks, especially in the design stage of software architectures. Although researchers have proposed various scenario-based approaches to analyse software architecture, there are still limitations in this research field, and a key limitation is that scenarios are typically not formally defined and thus may contain ambiguities. As these ambiguities may lead to defects, it is desirable to reduce them as many as possible. In order to reduce ambiguity in scenario-based software architecture analysis, this paper introduces a creative computing approach to scenario-based software requirements analysis. Our work expands this idea in three directions. Firstly, we extend an architecture description language (ADL)-based language–Breeze/ADL to model the software architecture. Secondly, we use a creative rule–combinational rule (CR) to combine the vector clock algorithm for reducing the ambiguities in modelling scenarios. Then, another creative rule – transformational rule (TR) is employed to help to transform our Breeze/ADL model to a popular model – unified modelling language (UML) model. We implement our approach as a plugin of Breeze, and illustrate a running example of modelling a poetry to music system in our case study. Our results show the proposed creative approach is able to reduce ambiguities of the software architecture in practice.
Similar content being viewed by others
References
R. K. Pandey. Architectural description languages (ADLs) vs UML: A review. ACM SIGSOFT Software Engineering Notes, vol. 35, no. 3, pp. 1–5, 2010. DOI: 10.1145/1764810.1764828.
B. Tekinerdogan, H. Sozer, M. Aksit. Software architecture reliability analysis using failure scenarios. Journal of Systems and Software, vol. 81, no. 4, pp. 558–575, 2008. DOI: 10.1016/j.jss.2007.10.029.
R. Kazman, G. Abowd, L. Bass, P. Clements. Scenario-based analysis of software architecture. IEEE Software, vol. 13, no. 6, pp. 47–55, 1996. DOI: 10.1109/52.542294.
P. Bose. Scenario-driven Analysis of Component-based Software Architecture Models, Technical Report, Information and Software Engineering Department, George Mason University, USA, 1999.
S. Yacoub, B. Cukic, H. H. Ammar. A scenario-based reliability analysis approach for component-based software. IEEE Transactions on Reliability, vol. 53, no. 4, pp. 465–480, 2004. DOI: 10.1109/TR.2004.838034.
L. Cheung, L. Golubchik, N. Medvidovic. SHARP: A scalable approach to architecture-level reliability prediction of concurrent systems. In Proceedings of ICSE Workshop on Quantitative Stochastic Models in the Verification and Design of Software Systems, ACM, Cape Town, South Africa, pp. 1–8, 2010.
C. Sibertin-Blanc, N. Hameurlain, O. Tahir. Ambiguity and structural properties of basic sequence diagrams. Innovations in Systems and Software Engineering, vol. 4, no. 3, pp. 275–284, 2008. DOI: 10.1007/s11334-008-0063-2.
C. Li, L. P. Huang, L. X. Chen, C. Y. Yu. Breeze/ADL: Graph grammar support for an XML-based software architecture description language. In Proceedings of the 37th Annual Computer Software and Applications Conference, IEEE, Kyoto, Japan, pp. 800–805, 2013.
J. Magee, N. Dulay, S. Eisenbach, J. Kramer. Specifying distributed software architectures. In Proceedings of the 5th European Software Engineering Conference, Springer, Sitges, Spain, pp. 137–153, 1995.
R. Allen, R. Douence, D. Garlan. Specifying and analyzing dynamic software architectures. In Proceedings of the 2nd FASE Conference on International Conference on Fundamental Approaches to Software Engineering, Springer, Lisbon, Portugal, pp. 21–37, 1998.
F. Oquendo. π-ADL: An architecture description language based on the higher-order typed p-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Software Engineering Notes, vol. 29, no. 3, pp. 1–14, 2004. DOI: 10.1145/986710.986728.
C. Li, H. J. Yang, M. Y. Shi, W. Zhu. xBreeze/ADL: A language for software architecture specification and analysis. International Journal of Automation and Computing, vol. 13, no. 6, pp. 552–564, 2016. DOI: 10.1007/s11633-016-1028-9.
G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide, Boston, USA: Addsion Wesley Longman, 1999.
M. Raynal, M. Singhal. Logical time: Capturing causality in distributed systems. Computer, vol. 29, no. 2, pp. 49–56, 1996. DOI: 10.1109/2.485846.
M. A. Boden. The Creative Mind: Myths and Mechanisms, 2nd ed., London, UK: Routledge, 2004.
M. A. Boden. Computer models of creativity. AI Magazine, vol. 30, no. 3, pp. 23–34, 2009. DOI: 10.1609/ aimag.v30i3.2254.
R. Kazman, L. Bass, G. Abowd, M. Webb. SAAM: A method for analyzing the properties of software architectures. In Proceedings of the 16th International Conference on Software Engineering, IEEE, Sorrento, Italy, pp. 81–90, 1994.
P. Clements, R. Kazman, M. Klein. Evaluating Software Architectures: Methods and Case Studies, Boston, USA: Addison-Wesley Press, 2002.
N. Lassing, D. Rijsenbrij, H. Van Vliet. On software architecture analysis of flexibility, complexity of changes: Size isn't everything. In Proceedings of the 2nd Nordic Software Architecture Workshop, Ronneby, Sweden, vol. 99, pp. 1103–1581, 1999.
C. H. Lung, S. Bot, K. Kalaichelvan, R. Kazman. An approach to software architecture analysis for evolution and reusability. In Proceedings of Conference of the Centre for Advanced Studies on Collaborative Research, IBM Press, Toronto, Canada, 1997.
G. Rodrigues, D. Rosenblum, S. Uchitel. Using scenarios to predict the reliability of concurrent component-based software systems. In Proceedings of the 8th International Conference, Held as Part of the Joint European Conference on Theory and Practice of Software Conference on Fundamental Approaches to Software Engineering, Springer, Edinburgh, UK, pp. 111–126, 2005.
L. G. Williams, C. U. Smith. PASASM: A method for the performance assessment of software architectures. In Proceedings of the 3rd International Workshop on Software and Performance, ACM, Rome, Italy, pp. 179–189, 2002.
Z. Micskei, H. Waeselynck. UML 2.0 Sequence Diagrams' Semantics, Technical Report PDP, Department of Measurement and Information Systems, Budapest University of Technology and Economics, Hungary, 2008.
C. Li, L. P. Huang, L. X. Chen. Breeze graph grammar: A graph grammar approach for modeling the software architecture of big data-oriented software systems. Software: Practice and Experience, vol. 45, no. 8, pp. 1023–1050, 2014. DOI: 10.1002/spe.2271.
Wikipedia. Partially Ordered Set Formal Definition, [On-line], Available: http://en.wikipedia.org/wiki/Partially ordered set Formal definition, August 10-15, 2016.
J. R. Quinlan. Induction of decision trees. Machine Learning, vol. 1, no. 1, pp. 81–106, 1986.
Acknowledgements
This work was partially supported by the Japam Society for the Promotion of Science (JSPS) KAKENHI (Nos. 25420232 and 16K06203).
Author information
Authors and Affiliations
Corresponding author
Additional information
Recommended by Associate Editor Shuang-Hua Yang
Xi-Wen Wu received the B. Sc. degree in Jiangxi Normal University, China in 2012, and received the M. Sc. degree in computer science from Shanghai Jiao Tong University, China in 2016. Currently, he is a software engineer in VIPSHOP, China.
His research interests include software architecture and software reliability.
Chen Li received the B. Sc. degree in computer science and technology from University of Science and Technology of China, China in 2003, the M. Sc. degree in computer applications technology from the University of Shanghai for Science and Technology, China in 2010, and the Ph. D. degree in computer science and technology from Shanghai Jiao Tong University, China in 2015. Currently, he is a research associate in Department of Computing, Imperial College London, UK. He has published about 34 refereed journal and conference papers. He is a member of China Computer Federation (CCF) and Institute of Electrical and Electronics Engineers (IEEE).
His research interests include software architecture, software reliability and formal methods.
Xuan Wang received the B. Sc. degree in communication engineering from Changchun University of Science and Technology, China in 2010. She is currently a Ph. D. degree candidate in creative computing at Bath Spa University, UK.
Her research interests include creative computing and interdisciplinary research.
Hong-Ji Yang received the B. Sc. and M. Sc. degrees in computer science from Jilin University, China in 1982 and 1985, respectively, and the Ph. D. degree in computer science from Durham University, UK in 1994. He was a faculty member at several universities, i.e., Jilin University, China in 1985, Durham University, UK in 1989, De Montfort University, UK in1993, and Bath Spa University, UK in 2013. Currently, he is a professor in School of Humanities and Cultural Industries, Bath Spa University, UK. He has published about 400 refereed journal and conference papers. He has become IEEE Computer Society Golden Core Member since 2010. Also, he is a member of Engineering and Physical Sciences Research Council (EPSRC), Peer Review College since 2003. He is the Editor-in-chief of International Journal of Creative Computing, Inder Science.
His research interests include software engineering, creative computing, web and distributed computing.
Rights and permissions
About this article
Cite this article
Wu, XW., Li, C., Wang, X. et al. A Creative Approach to Reducing Ambiguity In Scenario-based Software Architecture Analysis. Int. J. Autom. Comput. 16, 248–260 (2019). https://doi.org/10.1007/s11633-017-1102-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11633-017-1102-y