Skip to main content
Log in

A Creative Approach to Reducing Ambiguity In Scenario-based Software Architecture Analysis

  • Research Article
  • Published:
International Journal of Automation and Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google Scholar 

  15. M. A. Boden. The Creative Mind: Myths and Mechanisms, 2nd ed., London, UK: Routledge, 2004.

    Book  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.

    Article  Google 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.

    Chapter  Google 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.

  26. J. R. Quinlan. Induction of decision trees. Machine Learning, vol. 1, no. 1, pp. 81–106, 1986.

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Xuan Wang.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11633-017-1102-y

Keywords

Navigation