This Article 
 Bibliographic References 
 Add to: 
The L.0 Language and Environment for Protocol Simulation and Prototyping
April 1991 (vol. 40 no. 4)
pp. 562-571

A description is given of L.0, an executable specification language designed for describing communications protocols and similar reactive systems. L.0 is synchronous and rule-based. The rules are either cause-effect rules or constraints. Rules can be activated and deactivated dynamically, and several can be fired simultaneously. L.0 has modern notions of encapsulation and data sharing. Indirection, quantification, and recursive definition of modules increase its expressiveness. L.0 has been used in several development projects to design, simulate, and prototype protocols. It seems to provide a paradigm that is precise and yet can be used by designers and engineers who are not specialists in specification languages.

[1] L. Bernstein and J. Appel, "Requirements or prototyping? Yes!," inProc. Sixth Int. Conf. Software Eng. for Telecommun. Switching Syst., Eindhoven, The Netherlands, Apr. 1986.
[2] C. H. West, "Protocol verification by random state exploration," inProtocol Testing, Specification, and Verification, VI. Amsterdam, The Netherlands: North-Holland, 1986, pp. 233-242.
[3] C. H. West, "Protocol validation," inProc. Tenth Int. IFIP Symp. Protocol Specification, Testing, Verification, Ottawa, Ont., Canada, 1990.
[4] G. v. Bochmann, "Usage of protocol development tools: The result of a survey," inProtocol Specification, Testing and Verification VII. Amsterdam, The Netherlands: North-Holland, 1987, pp. 147-170.
[5] G. von Bochmann, G. Gerber, and J. M. Serre, "Semi-automatic implementation of communication protocols,"IEEE Trans. Software Eng., vol. 13, no. 9, pp. 989-1000, Sept. 1987.
[6] T. P. Blumer and D. P. Sidhu, "Mechanical verfication and automatic implementation of communication protocols,"IEEE Trans. Software Eng., vol. SE-12, pp. 827-843, Aug. 1986.
[7] R. J. Linn, "The features and facilities of Estelle: A formal description technique based upon an extended finite state machine model," inProtocol, Specification, Testing, and Verification V, M. Diaz, Ed. Amsterdam, The Netherlands: North-Holland, 1986, pp. 271-296.
[8] P. van Eijk, C. A. Vissers, M. Diaz, Eds.,The Formal Description Technique LOTOS. Amsterdam, The Netherlands: North-Holland, 1989.
[9] R. Milner,A Calculus of Communicating Systems (Lecture Notes in Computer Science 92). New York: Springer-Verlag, 1980.
[10] D. M. Cohen and E. J. Isganitis, "Automatic generation of a prototype of a new protocol from its specification," inProc. IEEE Global Telecommun. Conf., Houston, TX, Dec. 1986.
[11] E.J. Cameron, D. M. Cohen, B. Gopinath, L. Ness, W. M. Keese, P. Uppaluru, and J. R. Vollaro, "The IC*model of parallel computation and programming environment,"IEEE Trans. Software Eng., vol. 14, no. 3, pp. 317-327, Mar. 1988.
[12] E. J. Cameron, N.H. Petschenik, L. Ruston, S. Shah, and H. Srinidhi, "From description to simulation, to architecture: An approach to service-driven system development," inProc. First Int. Conf. Syst. Integration, Morristown NJ, Apr. 1990.
[13] D.M. Cohen and T.M. Guinther, "The IC*system for protocol development," inProc. ACM Workshop Frontiers in Comput. Commun. Technol., Stowe, VT, Aug. 1987.
[14] D. M. Cohen, T. M. Guinther, and L. Ness, "Rapid prototyping of a communication protocol using a new parallel language," inProc. First Int. Conf. Syst. Integration, Morristown, NJ, Apr. 1990.
[15] P. Coates, J. Newhard, C. Norman, H. Srinidhi, and E. Stanczak, "The behavioral simulation and verification of a recovery scheme for CMIP," Bellcore TM-STS-015454, Nov. 1, 1990.
[16] L. Y. Ong and M. Schwartz, "Distributed control for multiparty multimedia connections," manuscript, Oct. 23, 1990.
[17] S. Aggarwal, F. S. Dworak, and P. Obenour, "An environment for studying switching system software architecture," inProc. IEEE GLOBECOM, Hollywood, FL, Nov. 1988.
[18] E. J. Cameron, D.M. Cohen, L.A. Ness, H.N. Srinidhi, "L.0: A language for modeling and prototyping communications software," inProc. Third Int. Conf. Formal Description Techniques, Madrid, Spain, Nov. 1990.
[19] A. L. P. Chen, E. J. Cameron, G. Shuttleworth, and E. C. Anderson, "A simulation approach for network operations performance studies," inProc. Twelfth Annu. Int. Comput. Software Appl. Conf., Chicago, IL, Oct. 1988.
[20] C. Norman and H. N. Srinidhi, "The parallel executable specification language L.0 and its real world applications," Bellcore Tech. Rep. TM-STS-015895, Jan. 11, 1990.
[21] E. J. Cameron, B. Gopinath, P. Metzger, and T. Reingold, "INFOPROBE, A utility for the animation of IC*programs," inProc. 22nd Hawaii Int. Conf. Syst. Sci., Hawaii, Jan. 1989.
[22] E. J. Cameron and D. M. Cohen, "The IC*system for debugging parallel programs via interactive monitoring and control," inProc. ACM Workshop Parallel Distributed Debugging, Madison, WI, May 1988.
[23] C. Vissers, "FDT's for open distributed systems, A retrospective and a prospective view," inProc. Tenth Int. Workshop Protocol Specification, Testing, Verification, Ottawa, Ont., Canada, June 1990.
[24] P. Wolper, "Temporal logic can be more expressive,"Inform. Contr., vol. 56, no. 1-2, pp. 72-99, Jan.-Feb. 1982.
[25] Telecom Canada, GTE Telenet Communications Corp., TYMNET,3270 Display System Protocol, 2nd ed., June 1983.
[26] L. Ness, "Issues arising in the analysis of L.0," inProc. DIMACS:Computer Aided Verification Workshop. Rutgers Univ., Piscataway, NJ, June 18-21, 1990, to appear in Springer Lecture Notes.
[27] R. Schwartz and P. Melliar-Smith, "From state machines to temporal logic: Specification methods for protocol standards," inProtocol Specification, Testing, and Verification, C. Sunshine, Ed. Amsterdam, The Netherlands: North-Holland, 1982, pp. 3-21.
[28] K. Sabnani and M. Schwartz, "Verification of a multidestination protocol using temporal logic," inProtocol Specification, Testing, and Verification, C. Sunshine, Ed. Amsterdam, North-Holland, 1982, pp. 21-43.
[29] D. Gabbay, "Declarative past and imperative future: Executable temporal logic for interactive systems," inProc. Colloquium Temporal Logic in Specification, B. Banieqbal, H. Barringer, and A. Pnueli, Eds., Altrincham, 1987, pp. 402-450, Springer-Verlag, LNCS vol. 398, 1989.
[30] B. Moszkowski,Executing Temporal Logic Programs. Cambridge, UK: Cambridge University Press, 1987.
[31] CCITT, Functional Specification and Description Language, SDL, CCITT Red Book, vol. VI, Rec. Z.100-Z.104, Geneve, 1984.
[32] D. Harel, A. Pnueli, J. P. Schmidt, and R. Sherman, "On the formal semantics of statecharts," inProc. Symp. Logic in Comput. Sci., Ithaca, NY, June 1987, pp. 54-64.
[33] N. Shiratori, K. Takahashi, and S. Noguchi, "A software design method and its application to protocol and communication software development,"Comput. Networks ISDN Syst., vol. 15, pp. 245-267, 1988.
[34] E. M. Clarke, E. A. Emerson, and A. P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic,"ACM Trans. Program. Lang. Syst., vol. 8, no. 2, pp. 244-263, Apr. 1986.
[35] E. Clarke, D.E. Long, and K.L. McMillan, "A language for compositional specification and verification of finite state hard-ware controllers," inProc. Conf. Hardware Description Languages, 1989.
[36] S. Aggarwal, R. P. Kurshan, and K. K. Sabnani, "A calculus for protocol specification and validation," inProtocol Specification, Testing, and Verification, III. Amsterdam, The Netherlands: North-Holland, 1983, pp. 19-34.
[37] D. Pilaud and N. Halbwachs, "From a synchronous declarative language to a temporal logic dealing with multiform time," inProc. Symp. Formal Techniques in Real Time and Fault Tolerant Syst., Warwick, England, Sept. 1988.
[38] K. M. Chandy and J. Misra,Parallel Program Design: A Foundation. Reading, MA: Addison-Wesley, 1988.
[39] C. L. Fogey, "Rete: A fast algorithm for the many pattern/many object pattern match problem,"Artif. Intell., vol. 19, no. 1, pp. 17-37, Jan. 1982.
[40] M. Tambe, D. Kalp, A. Gupta, C. Forgy, B. Milnes, and A. Newell, "Soar/PSM-E: Investigating match parallelism in a learning production system," inProc. ACM/SIGPLAN Parallel Programming: Experience with Applications, Languages, Syst., New Haven, CT, July 1988.
[41] C.-M. Huang, Y.-I. Chang, and M.T. Liu, "PDPS: A protocol design system by production systems approach," inProc. First Int. Conf. Systems Integration, Morristown, NJ, May 1990, pp. 186-196.
[42] Z. Har'El and R.P. Kurshan, "Software for analytic development of communications protocols,"AT&T Tech. J., vol. 69, no. 1, pp. 45-60, Jan./Feb. 1990.
[43] R. Cardell-Oliver, "The specification and verification of sliding window protocols in higher order logic," Cambridge Univ. Comput. Lab. Tech. Rep. 183, Oct. 1989.
[44] J. Burch, E. M. Clark, K. L. McMillan, D. L. Dill, and J. Hwang, "Symbolic model checking: 1020states and beyond," inProc. Logic in Computer Science, Philadelphia, PA, 1990.
[45] K. L. McMillan and J. Schwalbe, "Formal verification of the Gigamax Cache Consistency Protocol," manuscript, Sept. 27, 1990.

Index Terms:
programming environment; rule-based language; L.0 language; protocol simulation; prototyping; reactive systems; data sharing; quantification; recursive definition; programming environments; protocols; software prototyping; specification languages.
E.J. Cameron, D.M. Cohen, T.M. Guinther, W.M. Keese, Jr., L.A. Ness, C. Norman, H.N. Srinidhi, "The L.0 Language and Environment for Protocol Simulation and Prototyping," IEEE Transactions on Computers, vol. 40, no. 4, pp. 562-571, April 1991, doi:10.1109/12.88474
Usage of this product signifies your acceptance of the Terms of Use.