Advertisement

A creative approach to reducing ambiguity in scenario-based software architecture analysis

  • Xi-Wen Wu
  • Chen Li
  • Xuan WangEmail author
  • Hong-Ji Yang
Research Article

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.

Unable to display preview. Download preview PDF.

References

  1. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [13]
    G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide, Boston, USA: Addsion Wesley Longman, 1999.Google Scholar
  14. [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. [15]
    M. A. Boden. The Creative Mind: Myths and Mechanisms, 2nd ed., London, UK: Routledge, 2004.Google Scholar
  16. [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. [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. [18]
    P. Clements, R. Kazman, M. Klein. Evaluating Software Architectures: Methods and Case Studies, Boston, USA: Addison-Wesley Press, 2002.Google Scholar
  19. [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. [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. [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. [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. [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. [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. [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. [26]
    J. R. Quinlan. Induction of decision trees. Machine Learning, vol. 1, no. 1, pp. 81–106, 1986.Google Scholar

Copyright information

© Institute of Automation, Chinese Academy of Sciences and Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringShanghai Jiao Tong UniversityShanghaiChina
  2. 2.Department of ComputingImperial College LondonLondonUK
  3. 3.Center for Creative ComputingBath Spa UniversityBathUK

Personalised recommendations