This Article 
 Bibliographic References 
 Add to: 
Achieving Dependability Throughout the Development Process: A Distributed Software Experiment
February 1990 (vol. 16 no. 2)
pp. 153-165

Distributed software engineering techniques and methods for improving the specification and testing phases are considered. To examine these issues, an experiment was performed using the design diversity approach in the specification, design, implementation, and testing of distributed software. In the experiment, three diverse formal specifications were used to produce multiple independent implementations of a distributed communication protocol in Ada. The problems encountered in building complex concurrent processing systems in Ada were also studied. Many pitfalls were discovered in mapping the formal specifications into Ada implementations.

[1] A. Avizienis and J. C. Laprie, "Dependable computing: From concepts to design diversity,"Proc. IEEE, vol. 74, no. 5, pp. 629-638, May 1986.
[2] A. Avizienis and J. P. J. Kelly, "Fault tolerance by design diversity: Concepts and experiments,"Computer, vol. 17, no. 8, Aug. 1984.
[3] T. Anderson, P. Barrett, D. Halliwell, and M. Moulding, "Software fault tolerance,"IEEE Trans. Software Eng., vol. SE-11, no. 12, pp. 1502-1510, Dec. 1985.
[4] A. Avizienis and L. Chen, "On the implementation ofN-version programming for fault-tolerance during execution," inProc. COMPSAC 77, Nov. 1977, pp. 149-155.
[5] J. C. Knight and N. G. Leveson, "A large scale experiment inN- version programming,"IEEE Trans. Software Eng., vol. SE-12, no. 1, pp. 1502-1510, Jan. 1986.
[6] A. Avizienis, M. Lyu, and W. Schutz, "In search of diversity: A six-language study of fault-tolerant flight control software," inDig. Papers, FTCS-18, Tokyo, Japan, 1988, pp. 15-22.
[7] P. Bishop, D. Esp, M. Barnes, P. Humphreys, G. Dahll, J. Lahti, and S. Yoshimura, "Project on diverse software--An experiment in software reliability," inProc. IFAC Workshop Safecomp'85, Como. Italy, 1985.
[8] J. P. J. Kelly and A. Avizienis, "A specification-oriented multi-version software experiment," inProc. 13th Annu. Int. Symp. Fault-Tolerant Computing, June 1983.
[9] C. V. Ramamoorthyet al., "Application of a methodology for the development and validation of reliable process control software,"IEEE Trans. Software Eng., vol. SE-7, no. 6, pp. 537-554, Nov. 1981.
[10] J. Kelly, D. Eckhardt, M. Vouk, D. McAllister, and A. Caglayan, "A large scale second generation experiment in multi-version software: Description and early results," inDig. Papers, FTC-18, Tokyo, Japan, 1988, pp. 9-14.
[11] R. K. Scottet al., "Experimental validation of six fault-tolerant software reliability models," inDig. 14th Annu. Int. Symp. Fault Tolerant Computing, June 1984, pp. 102-107.
[12] M. Vouket al., "On testing of functionally equivalent components of fault-tolerant software," inIEEE 10th Int. Computer Software and Application Conf., 1986.
[13] J.R. Dunham, "Experiments in Software Reliability: Life-Critical Applications,"IEEE Trans. Software Eng., Jan. 1986, pp. 110-123.
[14] B. Meyer, "On formalisms in specifications,"IEEE Software, vol. 2, no. 1, pp. 6-26, Jan. 1985.
[15] Basic Reference Model for Open Systems Interconnection, Int. Standard Org., ISO 7498, Geneva 1984: also CCITT Recommendation X.200.
[16] K. Turner, Ed.FORTE 88. Proc. First Int. Conf. Formal Description Techniques. Scotland, Sept. 1988.
[17] Estelle: A Formal Description Technique based on an Extended State Transition Model, Int. Standard Org., ISO DIS 9074, 1987.
[18] Information Processing Systems--OSI-LOTOS--A Formal Description Technique for the Temporal Ordering of Observational Behavior, ISO Draft Int. Standard 8807, Oct. 1987.
[19] SDL, Specification and Description Language(Blue Book) Z.100, CCITT, Int. Consultative Committee for Telephony and Telegraphy, Geneva, Mar. 1988.
[20] CCITT,Recommendation T.70, Network Independent Basic Transport Service for the Telematic Services(Red Book), CCITT, Geneva, 1984.
[21] Guidelines for the Application of Estelle, LOTOS and SDL, Int. Standard Org., Project ISO/TC 97/SC 21, K. Turner, Stirling, Ed., Jan. 1988.
[22] S. C. Murphy, P. Gunningberg, and J. P. J. Kelly, "Implementing protocols with multiple specifications: Experiences with Estelle, LOTOS, and SDL," inProc. IFIP Workshop Protocol Specification, Testing, and Verification, June 1989.
[23] Reference Manual for the Ada Programming Language, U.S. Dep. Defense, ANSI/MIL-STD-1815A. Feb. 1983.
[24] A. Burns, A. Lister, and A. Wellings.Lecture Notes in Computer Science: A Review of the Ada Tasking Model. New York: Springer-Verlag, 1987.
[25] B. Sarikaya, "Test design for computer network protocols," Ph.D. dissertation. McGill Univ., Mar. 1984.
[26] J. Pavel and D. Dwyer, "Some experiences of testing protocol implementations," inProtocol Specification, Testing, and Verification, IV. Amsterdam, The Netherlands: Elsevier North-Holland, 1985.
[27] C. Sunshine, "Formal techniques for protocol specification and verification,"Computer, pp. 20-27, Sept. 1979.
[28] S. C. Murphy, "Engineering dependability with design diversity: A distributed software experiment in Ada," Ph.D. dissertation. Univ. California, Santa Barbara. Aug. 1989.
[29] K. H. Kim, "An approach to experimental evaluation of real-time fault-tolerant distributed computing schemes,"IEEE Trans. Software Eng., vol. SE-15, no. 6, pp. 715-725, June 1989.

Index Terms:
distributed software engineering; B/B testing; automated testing; software testing; dependability; multiple independent implementations; distributed communication protocol; Ada; complex concurrent processing systems; Ada; computer communications software; data communication systems; distributed processing; formal specification; program testing; protocols.
J.P.J. Kelly, S.C. Murphy, "Achieving Dependability Throughout the Development Process: A Distributed Software Experiment," IEEE Transactions on Software Engineering, vol. 16, no. 2, pp. 153-165, Feb. 1990, doi:10.1109/32.44379
Usage of this product signifies your acceptance of the Terms of Use.