A creative approach to reducing ambiguity in scenario-based software architecture analysis
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.
Keywords
Creative computing vector clock algorithm scenario-based analysis of software architecture sequence diagram Breeze/architecture description language (ADL)Preview
Unable to display preview. Download preview PDF.
References
- [1]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.CrossRefGoogle Scholar
- [2]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.CrossRefGoogle Scholar
- [3]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.CrossRefGoogle Scholar
- [4]P. Bose. Scenario-driven Analysis of Component-based Software Architecture Models, Technical Report, Information and Software Engineering Department, George Mason University, USA, 1999.Google Scholar
- [5]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.CrossRefGoogle Scholar
- [6]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.Google Scholar
- [7]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.CrossRefGoogle Scholar
- [8]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.Google Scholar
- [9]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.Google Scholar
- [10]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.Google Scholar
- [11]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.CrossRefGoogle Scholar
- [12]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.CrossRefGoogle Scholar
- [13]G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide, Boston, USA: Addsion Wesley Longman, 1999.Google Scholar
- [14]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.CrossRefGoogle Scholar
- [15]M. A. Boden. The Creative Mind: Myths and Mechanisms, 2nd ed., London, UK: Routledge, 2004.Google Scholar
- [16]M. A. Boden. Computer models of creativity. AI Magazine, vol. 30, no. 3, pp. 23–34, 2009. DOI: 10.1609/ aimag.v30i3.2254.CrossRefGoogle Scholar
- [17]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.Google Scholar
- [18]P. Clements, R. Kazman, M. Klein. Evaluating Software Architectures: Methods and Case Studies, Boston, USA: Addison-Wesley Press, 2002.Google Scholar
- [19]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.Google Scholar
- [20]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.Google Scholar
- [21]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.Google Scholar
- [22]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.CrossRefGoogle Scholar
- [23]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.Google Scholar
- [24]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.Google Scholar
- [25]Wikipedia. Partially Ordered Set Formal Definition, [On-line], Available: http://en.wikipedia.org/wiki/Partially ordered set Formal definition, August 10-15, 2016.Google Scholar
- [26]J. R. Quinlan. Induction of decision trees. Machine Learning, vol. 1, no. 1, pp. 81–106, 1986.Google Scholar