Advertisement

Software & Systems Modeling

, Volume 14, Issue 4, pp 1455–1479 | Cite as

Describing and assessing availability requirements in the early stages of system development

  • Jameleddine Hassine
Regular Paper

Abstract

Non-functional aspects such as timing constraints, availability, and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is becoming crucial to model and analyze non-functional requirements at the early stages of the software development life cycle. The widespread interest in dependability modeling and analysis techniques at the requirements phase provides the major motivation for this research. This paper presents a novel approach to describe and validate high-level availability requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation standard. The proposed approach relies on a mapping of availability architectural tactics to UCM models. The resulting extensions are described using a metamodel and are implemented within the jUCMNav tool. Early assessment and characterization of the means to achieve availability are then performed using a matrix representation allowing for feature-based availability composition and reasoning. We demonstrate the applicability of our approach through a case study of lawful intercept and ACL-based forwarding features on IP routers.

Keywords

Non-functional requirements Availability URN Use Case Maps Availability analysis  Architectural tactics 

Notes

Acknowledgments

Dr. Jameleddine Hassine would like to acknowledge the support provided by the Deanship of Scientific Research at King Fahd University of Petroleum & Minerals (KFUPM) for funding this work through project No. FT101011.

References

  1. 1.
    Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994). doi: 10.1016/0304-3975(94)90010-8 zbMATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Amyot, D., Mussbacher, G.: User requirements notation: the first ten years, the next ten years (invited paper). J. Softw. 6(5), 747–768 (2011)CrossRefGoogle Scholar
  3. 3.
    ANSI/IEEE: Standard Glossary of Software Engineering Terminology, STD-729-1991 (1991)Google Scholar
  4. 4.
    AsmL: Microsoft Research: The Abstract State Machine Language. http://research.microsoft.com/en-us/projects/asml/ (2011)
  5. 5.
    Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secure Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  6. 6.
    Baker, F., Foster, B., Sharp, C.: Cisco Architecture for Lawful Intercept in IP Networks. RFC 3924 (Informational) (2004). http://www.ietf.org/rfc/rfc3924.txt
  7. 7.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2003)Google Scholar
  8. 8.
    Bernardi, S., Flammini, F., Marrone, S., Merseguer, J., Papa, C., Vittorini, V.: Model-driven availability evaluation of railway control systems. In: Proceedings of the 30th International Conference on Computer Safety, Reliability, and Security, SAFECOMP’11, pp. 15–28. Springer, Berlin (2011)Google Scholar
  9. 9.
    Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. Softw. Syst. Model. 10(3), 313–336 (2011). doi: 10.1007/s10270-009-0128-1 Google Scholar
  10. 10.
    Bernardi, S., Merseguer, J., Petriu, D.C.: Adding dependability analysis capabilities to the MARTE profile. In: MoDELS ’08: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems, pp. 736–750. Springer, Berlin (2008)Google Scholar
  11. 11.
    Bondavalli, A., Cin, M.D., Latella, D., Majzik, I., Pataricza, A., Savoia, G.: Dependability analysis in the early phases of UML-based system design. Comput. Syst. Sci. Eng. 16(5), 265–275 (2001)Google Scholar
  12. 12.
    Chen, D., Dharmaraja, S., Chen, D., Li, L., Trivedi, K., Some, R., Nikora, A.: Reliability and availability analysis for the jpl remote exploration and experimentation system. In: Dependable Systems and Networks, 2002. DSN 2002. Proceedings. International Conference on, pp. 337–342 (2002). doi:  10.1109/DSN.2002.1028918
  13. 13.
    Cin, M.D.: Extending UML towards a useful OO-language for modeling dependability features. In: Object-Oriented Real-Time Dependable Systems. The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS 2003), pp. 325–330 (2003). doi: 10.1109/WORDS.2003.1267547
  14. 14.
    Forum, S.A.: Application Interface Specification. Availability Management, Framework SAI-AIS-AMF-B.04.01Google Scholar
  15. 15.
    Forum, S.A.: Application Interface Specification. Overview SAI-Overview-B.05.03Google Scholar
  16. 16.
    Forum, S.A.: Application Interface Specification. Software Management, Framework SAI-AIS-SMF-A.01.02Google Scholar
  17. 17.
    Gokhale, S., Crigler, J., Farr, W., Wallace, D.: System availability analysis considering hardware/software failure severities. In: Software Engineering Workshop, 2005. 29th Annual IEEE/NASA, pp. 47–56 (2005)Google Scholar
  18. 18.
    Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45, 179–204 (2001)zbMATHCrossRefGoogle Scholar
  19. 19.
    Hassine, J.: Formal Semantics and Verification of Use Case Maps. Ph.D. Thesis, Concordia University, Montreal (2008)Google Scholar
  20. 20.
    Hassine, J.: Early Schedulability Analysis with Timed Use Case Maps. In: SDL’09: Proceedings of the 14th International SDL Conference on Design for Motes and Mobiles, pp. 98–114 (2009)Google Scholar
  21. 21.
    Hassine, J.: Early availability requirements modeling using Use Case Maps. In: 8th International Conference on Information Technology: New Generations (ITNG2011), Modeling and Analysis of Dependable Embedded and Real-time Software Systems Track. 11–13 April 2011, Las Vegas, Nevada, USA, pp. 754–759. IEEE Computer Society (2011)Google Scholar
  22. 22.
    Hassine, J., Gherbi, A.: Exploring early availability requirements using Use Case Maps. In: Ober, I., Ober, I. (eds.) SDL 2011: Integrating System and Software Modeling, Lecture Notes in Computer Science, vol. 7083, pp. 54–68. Springer, Berlin(2012)Google Scholar
  23. 23.
    Hassine, J., Rilling, J., Dssouli, R.: Timed Use Case Maps. In: System Analysis and Modeling: Language Profiles, 5th International Workshop, SAM 2006, Kaiserslautern, Germany, May 31-June 2, 2006, Revised Selected Papers, pp. 99–114 (2006)Google Scholar
  24. 24.
    Hassine, J., Rilling, J., Dssouli, R.: Formal Verification of Use Case Maps with Real Time Extensions. In: SDL 2007: Design for Dependable Systems, 13th International SDL Forum, Paris, France, September 18–21, Proceedings, pp. 225–241 (2007)Google Scholar
  25. 25.
    Hatebur, D., Heisel, M.: A foundation for requirements analysis of dependable software. In: Buth, B., Rabe, G., Seyfarth, T. (eds.) Computer Safety, Reliability, and Security, Lecture Notes in Computer Science, vol. 5775, pp. 311–325. Springer, Berlin (2009)Google Scholar
  26. 26.
    Ibe, O., Howe, R., Trivedi, K.: Approximate availability analysis of VAXcluster systems. IEEE Trans. Reliab. 38(1), 146–152 (1989)Google Scholar
  27. 27.
    Immonen, A., Niemelä, E.: Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw. Syst. Model. 7, 49–65 (2008)CrossRefGoogle Scholar
  28. 28.
    ITU-T: E.800: Terms and Definitions Related to Quality of Service and Network Performance including Dependability. http://www.itu.int/md/T05-SG02-080506-TD-WP2-0121/en (2008)
  29. 29.
    ITU-T: Recommendation Z. 151(10/12), User Requirements Notation (URN) Language Definition. Geneva, Switzerland. http://www.itu.int/rec/T-REC-Z.151/en (2012)
  30. 30.
    Jalote, P.: Fault Tolerance in Distributed Systems. Prentice Hall, Englewood Cliffs, NJ (1994)Google Scholar
  31. 31.
    jUCMNav v4.4.0: jUCMNav Project (tool, documentation, and meta-model). (2010). http://jucmnav.softwareengineering.ca/jucmnav. Last accessed, March 2012
  32. 32.
    Kaaniche, M., Kanoun, K., Rabah, M.: A framework for modeling availability of e-business systems. In: Proceedings of the Tenth International Conference on Computer Communications and Networks 2001, pp. 40–45 (2001). doi: 10.1109/ICCCN.2001.956217
  33. 33.
    Kanoun, K., Borrel, M., Morteveille, T., Peytavin, A.: Availability of cautra, a subset of the French air traffic control system. IEEE Trans. Comput. 48(5), 528–535 (1999). doi: 10.1109/12.769435 CrossRefGoogle Scholar
  34. 34.
    Laprie, J., Avizienis, A., Kopetz, H.: Dependability: Basic Concepts and Terminology. Springer, Secaucus, NJ (1992)zbMATHCrossRefGoogle Scholar
  35. 35.
    Montecchi, L., Lollini, P., Bondavalli, A.: Dependability concerns in model-driven engineering. In: 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (ISORCW), pp. 254–263 (2011). doi: 10.1109/ISORCW.2011.32
  36. 36.
    Mustafiz, S., Sun, X., Kienzle, J., Vangheluwe, H.: Model-driven assessment of system dependability. Softw. Syst. Model. 7, 487–502 (2008)CrossRefGoogle Scholar
  37. 37.
    OMG: Object Management Group. UML Profile for Modeling Quality of Service and Fault Tolerant Characteristics and Mechanisms. OMG document formal. V1.1/08-04-05 (2008)Google Scholar
  38. 38.
    Pai, G.J., Dugan, J.B.: Automatic synthesis of dynamic fault trees from UML system models. In: Software Reliability Engineering, International Symposium on 0, p. 243 (2002). doi: 10.1109/ISSRE.2002.1173261
  39. 39.
    Petriu, D., Amyot, D., Woodside, M.: Scenario-based performance engineering with UCMNAV. In: SDL’03: Proceedings of the 11th International Conference on System Design, pp. 18–35. Springer, Berlin (2003)Google Scholar
  40. 40.
    Rossebø, J.E.Y., Lund, M.S., Husa, K.E., Refsdal, A.: A conceptual model for service availability. In: Quality of Protection: Security Measurements and Metrics (2006)Google Scholar
  41. 41.
    Scott, J., Kazman, R.: Realizing and Refining Architectural Tactics: Availability. Technical Report. Carnegie Mellon University, Software Engineering Institute (2009)Google Scholar
  42. 42.
    Shooman, M.: Software Engineering: Design, Reliability, and Management. McGraw-Hill Computer Science Series. McGraw-Hill, New York (1983)Google Scholar
  43. 43.
    Sun, H., Han, J., Levendel, H.: A generic availability model for clustered computing systems. In: Dependable Computing, 2001. Proceedings. 2001 Pacific Rim International Symposium on, pp. 241–248 (2001). doi: 10.1109/PRDC.2001.992704
  44. 44.
    Trivedi, K., Kim, D.S., Roy, A., Medhi, D.: Dependability and security models. In: 7th International Workshop on Design of Reliable Communication Networks (DRCN), pp. 11–20 (2009)Google Scholar
  45. 45.
    Yin, L., Fricks, R., Trivedi, K.: Application of semi-markov process and CTMC to evaluation of ups system availability. In: Reliability and Maintainability Symposium, 2002. Proceedings. Annual, pp. 584–591 (2002). doi: 10.1109/RAMS.2002.981706

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Computer ScienceKFUPMDhahranKSA

Personalised recommendations