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.
Similar content being viewed by others
Notes
SAForum: www.saforum.org.
The LI feature is called Flow-Tap Application, part of Flow Monitoring feature, implemented in JUNOS 9.6 (www.juniper.net).
Alcatel-Lucent 1357 Unified Lawful Interception Suite (http://www.alcatel-lucent.com).
Many Cisco platforms including GSR12k and CRS-1 implement LI feature (www.cisco.com).
Implementing Access Lists and Prefix Lists on Cisco IOS XR Software: www.cisco.com/en/US/docs/ios_xr_sw/iosxr_r3.7/addr_serv/configuration/guide/ic37alpl.pdf.
References
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
Amyot, D., Mussbacher, G.: User requirements notation: the first ten years, the next ten years (invited paper). J. Softw. 6(5), 747–768 (2011)
ANSI/IEEE: Standard Glossary of Software Engineering Terminology, STD-729-1991 (1991)
AsmL: Microsoft Research: The Abstract State Machine Language. http://research.microsoft.com/en-us/projects/asml/ (2011)
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)
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
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2003)
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)
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
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)
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)
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
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
Forum, S.A.: Application Interface Specification. Availability Management, Framework SAI-AIS-AMF-B.04.01
Forum, S.A.: Application Interface Specification. Overview SAI-Overview-B.05.03
Forum, S.A.: Application Interface Specification. Software Management, Framework SAI-AIS-SMF-A.01.02
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)
Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45, 179–204 (2001)
Hassine, J.: Formal Semantics and Verification of Use Case Maps. Ph.D. Thesis, Concordia University, Montreal (2008)
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)
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)
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)
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)
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)
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)
Ibe, O., Howe, R., Trivedi, K.: Approximate availability analysis of VAXcluster systems. IEEE Trans. Reliab. 38(1), 146–152 (1989)
Immonen, A., Niemelä, E.: Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw. Syst. Model. 7, 49–65 (2008)
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)
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)
Jalote, P.: Fault Tolerance in Distributed Systems. Prentice Hall, Englewood Cliffs, NJ (1994)
jUCMNav v4.4.0: jUCMNav Project (tool, documentation, and meta-model). (2010). http://jucmnav.softwareengineering.ca/jucmnav. Last accessed, March 2012
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
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
Laprie, J., Avizienis, A., Kopetz, H.: Dependability: Basic Concepts and Terminology. Springer, Secaucus, NJ (1992)
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
Mustafiz, S., Sun, X., Kienzle, J., Vangheluwe, H.: Model-driven assessment of system dependability. Softw. Syst. Model. 7, 487–502 (2008)
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)
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
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)
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)
Scott, J., Kazman, R.: Realizing and Refining Architectural Tactics: Availability. Technical Report. Carnegie Mellon University, Software Engineering Institute (2009)
Shooman, M.: Software Engineering: Design, Reliability, and Management. McGraw-Hill Computer Science Series. McGraw-Hill, New York (1983)
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
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)
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
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Robert France.
The author 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.
Rights and permissions
About this article
Cite this article
Hassine, J. Describing and assessing availability requirements in the early stages of system development. Softw Syst Model 14, 1455–1479 (2015). https://doi.org/10.1007/s10270-013-0382-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0382-0