New Generation Computing

, Volume 16, Issue 4, pp 343–372 | Cite as

A LOTOS based tutorial on formal methods for object-oriented distributed systems

  • Howard Bowman
Invited Paper

Abstract

The majority of formal methods for distributed systems have their origins in the 1980’s and were targeted at the early generations of distributed systems. However, modern distributed systems have new features not found in the early systems, e.g. they areobject-oriented, havemobile components, aretime sensitive and are constructed according to advanced system development architectures, e.g.viewpoints models. A major topic of current research is thus, how to enhance the existing formal techniques in order to support these new features. This paper gives a tutorial level review of this research area. We particularly focus on the process algebra LOTOS and consider how the technique can be reconciled with these new features.

Keywords

Object-Oriented Distributed Systems Formal Specification LOTOS Open Distributed Processing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1).
    Ates, A. F., Bilgic, M., Saito, S., and Sarikaya, B., “Using Timed CSP for Specification, Verification and Simulation of Multimedia Synchronization,”IEEE Journal on Selected Area in Communications, 14, pp. 126–137, 1996.CrossRefGoogle Scholar
  2. 2).
    Alur, R. and Dill, D., “A Theory of Timed Automata,”Theoretical Computer Science, pp. 183–235, 1994.Google Scholar
  3. 3).
    Agha, G.Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press, 1986.Google Scholar
  4. 4).
    America, P., “A Parallel Object-Oriented Language with Inheritance and Subtyping,”SIGPLAN Notices, 25, 10, pp. 161–168, October 1990.CrossRefGoogle Scholar
  5. 5).
    Bolognesi, T. and Brinksma, E., “Introduction to the ISO Specification Language LOTOS,”Computer Networks and ISDN Systems, 14, 1, pp. 25–59, 1988.CrossRefGoogle Scholar
  6. 6).
    Blair, G.S., Blair, L., Bowman, H., and Chetwynd, A.,Formal Specification of Distributed Multimedia Systems, University College Longon Press, September 1997.Google Scholar
  7. 7).
    Bowman, H., Boiten, E.A., Derrick, J., and Steen, M., “Viewpoint Consistency in ODP, A General Interpretation,” inFirst IFIP International Workshop on Formal Methods for Open Object-based Distributed Systems (E. Najm and J.-B. Stefani, eds.), Paris, Chapman & Hall, pp. 189–204, March 1996.Google Scholar
  8. 8).
    Boiten, E., Bowman, H., Derrick, J., and Steen, M., “Viewpoint Consistency in Z and LOTOS: A Case Study,” inFME’97: Industrial Applications and Strengthened Foundations of Formal Methods, volume 1313 of Lecture Notes in Computer Science (J. Fitzgerald, C.B. Jones, and P. Lucas, eds.), Springer-Verlag, pp. 644–664, September 1997.Google Scholar
  9. 9).
    Bowman, H., Briscoe-Smith, C., Derrick, J., and Strulo, B., “On Behavioural Subtyping in LOTOS,” inFMOODS’97, 2nd IFIP Conference on Formal Methods for Open Object Based Distributed Systems (H. Bowman and J. Derrick, eds.), Chapman and Hall, July 1997.Google Scholar
  10. 10).
    Boiten, E., Derrick, J., Bowman, H., and Steen, M., “Consistency and Refinement for Partial Specification in Z,” inFME’96: Industrial Benefit of Formal Methods, Third International Symposium of Formal Methods Europe, volume 1051 of Lecture Notes in Computer Science (M.-C. Gaudel and J. Woodcock, eds.), Springer-Verlag, pp. 287–306, March 1996.Google Scholar
  11. 11).
    Bernardeschi, C., Dustzadeh, J., Fantechi, A., Najm, E., Nimour, A., and Olsen, F., “Transformations and Consistent Semantics for ODP Viewpoints,” inFMOODS’97, 2nd IFIP Conference on Formal Methods for Open Object Based Distributed Systems (H. Bowman and J. Derrik, eds.), Chapman and Hall, July 1997.Google Scholar
  12. 12).
    Bowman, H., Derrick, J., Linington, P., and Steen, M., “Cross Viewpoint Consistency in Open Distributed Processing,”IEE Software Engineering Journal, 11, 1, pp. 44–57, January 1996.Google Scholar
  13. 13).
    Bowman, H., Faconti, G., and Massink, M., “Specification and Verification of Media Constraints Using UPPAAL,” in5th Eurographics Workshop on the Design, Specification and Verification of Interactive Systems, DSV-IS 98, Eurographics Book Series, Springer-Verlag, 1998.Google Scholar
  14. 14).
    Boreale, M., Inverardi, P., and Nesi, M., “Complete Sets of Axioms for Finite Basic LOTOS Behavioural Equivalences,”Information Processing Letters, 43, pp. 155–160, 1992.MATHCrossRefMathSciNetGoogle Scholar
  15. 15).
    Bolognesi, T., Lucidi, F., and Trigila, S., “Converging towards a Timed LOTOS Standard,”Computer Standards and Interfaces, 16, pp. 87–118, 1994.CrossRefGoogle Scholar
  16. 16).
    Booch, G.,Object-Oriented Analysis and Design, The Benjamin/Cummings Publishing Company, Inc., 1994.Google Scholar
  17. 17).
    Brinksma, E. and Scollo, G., “Formal Notions of Implementation and Conformance in LOTOS,”Technical Report, INF-86-13, Department of Informatics, Twente University of Technology, 1986.Google Scholar
  18. 18).
    Blair G.S. and Stefani, J.-B.,Open Distributed Processing and Multimedia, Addison-Wesley, 1997.Google Scholar
  19. 19).
    Bowman, H., Steen, M.W.A., Boiten, E.A., and Derrick, J., “A Formal Framework for Viewpoint Consistency,”Technical Report, submitted for publication, 1996.Google Scholar
  20. 20).
    Brinksma, E., Scollo, G., and Steenbergen, C., “Process Specification, Their Implementation and Their Tests,” inProtocol Specification, Testing and Verification, VI (B. Sarikaya and G. v. Bochmann, eds.), Montreal, Canada, North-Holland, pp. 349–360, June 1986.Google Scholar
  21. 21).
    TINA C, Telecommunications information networking architecture, 1997. WWW: http://www.tinac.com/.Google Scholar
  22. 22).
    Daws, C., Olivero, A., Tripakis, S., and Yovine, S., “The Toll KRONOS,” inHybrid Systems III, Verification and Control, LNCS 1066, Springer-Verlag, 1996.Google Scholar
  23. 23).
    CCITT Z. 100,Specification and Description Language SDL, June 1994.Google Scholar
  24. 24).
    Cook, W.R., Hill, W.L., and Canning, P.S., “Inheritance Is Not Subtyping,” in17th ACM Symposium on Principles of Programming Languages, ACM, pp. 125–135, 1990.Google Scholar
  25. 25).
    Cusack, E., Rudkin, S., and Smith, C., “An Object Oriented Interpretation of LOTOS,” inProceedings 2nd International Conference on Formal Description Techniques (FORTE’89), North-Holland, December 1989.Google Scholar
  26. 26).
    CSP, The CSP archive, 1997. Oxford Programming Research Group, http://www. comlab.ox.ac.uk/archive/csp.html.Google Scholar
  27. 27).
    Derrick, J., Boiten, E.A., Bowman, H., and Steen, M., “Supporting ODP—Translating LOTOS to Z,” inFirst IFIP International Workshop on Formal Methods for Open Object-based Distributed Systems (E. Najm and J.-B. Stefani, eds.), Paris, Chapman & Hall, pp. 399–406, March 1996.Google Scholar
  28. 28).
    Ehrig, H. and Mahr, B.,Fundamentals of Algebraic Specification, Springer-Verlag, 1985.Google Scholar
  29. 29).
    Finkelstein, A.C.W., Gabbay, D., Hunter, A., Kramer, J., and Nuseibeh, B., “Inconsistency Handling in Multiperspective Specifications,”IEEE Transactions on Software Engineering, 20, 8, pp. 569–578, August 1994.CrossRefGoogle Scholar
  30. 30).
    Farooqui, K. and Logrippo, L., “Viewpoint Transformations,” in2nd International IFIP TC6 Conference on Open Distributed Processing (J. de Meer, B. Mahr, and O. Spaniol, eds.), Berlin, Germany, pp. 352–362, September 1993.Google Scholar
  31. 31).
    Fischer, S. and Leue, S., “Formal Methods for Broadband and Multimedia Systems,”Computer Networks and ISDN Systems, Special Issue on Trends in Formal Description Techniques and Their Applications, to appear, 1998.Google Scholar
  32. 32).
    Hennessy, M.,Algebraic Theory of Processes, MIT Press, 1988.Google Scholar
  33. 33).
    Hernalsteen, C., “A Timed Automaton Model for ET-LOTOS Verification,” inFormal Description Techniques and Protocol Specification, Testing and Verification, 1997, Chapman and Hall, 1997.Google Scholar
  34. 34).
    Hillston, J.,A Compositional Approach to Performance Modelling, Cambridge University Press, 1996. Distinguished Dissertations in Computer Science.Google Scholar
  35. 35).
    Hoare, C. A. R.,Communicating Sequential Processes, Prentice Hall, 1985.Google Scholar
  36. 36).
    Holzmann, G.J., “The Model Checker SPIN,”IEEE Transactions on Software Engineering, 23, pp. 279–295, 1997.Google Scholar
  37. 37).
    Henzinger, Th. A. and Pei-Hsin, “HyTech: The Cornell HYbrid TECHnology Tool,” inProceedings of TACAS, Workshop on Tools and Algorithms for the Construction and Analysis of Systems, 1995.Google Scholar
  38. 38).
    Havelund, K., Skou, A., Larsen, K. G., and Lund, L., “Formal Modelling and Analysis of an Audio/Video Protocol: An Industrial Case Study Using UPPAAL,” inProceedings of the 18th IEEE Real-Time Systems Symposium, San Francisco, California, USA, pp. 2–13, 3–5 December 1997.Google Scholar
  39. 39).
    ISO, Information Processing Systems—Open Systems Interconnection—Basic Reference Model, 1984, IS 7498.Google Scholar
  40. 40).
    ISO 8807,LOTOS: A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour, July 1987.Google Scholar
  41. 41).
    ISO/IEC JTC1/SC21/WG7, Basic Reference Model of Open Distributed Processing. ISO 10746, part 1 to 4, 1995. WWW: http://www.dstc.edu.au/AU/research_news/odp. html.Google Scholar
  42. 42).
    ISO,Working Draft on Enhancements to LOTOS ISO/IEC JTC1/SC21/WG7/ E-LOTOS, January 1997.Google Scholar
  43. 43).
    JAVA, Remote Method Invocation (RMI), 1997. http://java.sun.com/products/jdk/ rmi.Google Scholar
  44. 44).
    Kobayashi, N. and Yonezawa, A., “Type-Theoretic Foundations for Concurrent Object-Oriented Programming,” inACM SIGPLAN Conference on Object-Oriented Programming (OOPSLA’94), 1994.Google Scholar
  45. 45).
    Linington, P.F., “RM-ODP The Architecture,” inIFIP TC6 International Conference on Open Distributed Processing (K. Raymond and L. Armstrong, eds.), Brisbane, Australia, Chapman and Hall, pp. 15–33, February 1995.Google Scholar
  46. 46).
    Liskov, B., “Data Abstraction and Hierarchy,”SIGPLAN Notices, 23, 5, May 1988.Google Scholar
  47. 47).
    Leonard, L. and Leduc, G., “An Enhanced Version of Timed LOTOS and Its Application to a Case Study,” inFORTE’93, Boston, North-Holland, October 1993.Google Scholar
  48. 48).
    Leonard, L. and Leduc, G., “An Introduction to ET-LOTOS for the Description of Time-Sensitive Systems,”Computer Networks and ISDN Systems, 29, pp. 271–292, 1996.CrossRefGoogle Scholar
  49. 49).
    Leonard, L., Leduc, G., and Danthine, A., “The Tick-Tock Case Study for the Assessment of Timed FDTs,” inthe OSI Transport Service with Multimedia Support (A. Danthine, ed.), Springer, 1994.Google Scholar
  50. 50).
    Liskov, B. and Wing, J.M., “A New Definition of the Subtype Relation,” inECOOP’93 —Object-Oriented Programming (O. M. Nierstrasz, ed.),LNCS707, Springer-Verlag, pp. 118–141, 1993.Google Scholar
  51. 51).
    Microsoft, The component object model specification, 1997. WWW: http://www. microsoft.com/oledev/olecom/title.htm.Google Scholar
  52. 52).
    Milner, R.,Communication and Concurrency, Prentice-Hall, 1989.Google Scholar
  53. 53).
    Milner, R., “The Polyadic Pi-Calculus: A Tutorial,” inLogic and Algebra of Specification, Springer-Verlag, pp. 203–246, 1993.Google Scholar
  54. 54).
    Manna, Z. and Pnueli, A.,The Temporal Logic of Reactive and Concurrent Systems, Springer-Verlag, 1992.Google Scholar
  55. 55).
    Milner, R., Parrow, J., and Walker, D., “A Calculus of Mobile Processes,”Information and Computation, 100, pp. 1–77, 1992.MATHCrossRefMathSciNetGoogle Scholar
  56. 56).
    Mullender, S., ed.,Distributed Systems, Addison-Wesley, 1994.Google Scholar
  57. 57).
    Munster, H.B., “Comments on the LOTOS Standard,”Technical Report, DITC 52/91, National Physical Laboratory, Teddington, Middlesex, UK, September 1991.Google Scholar
  58. 58).
    Nakata, A., Higashino, T., and Taniguchi, K., “LOTOS Enhancement to Specify Time Constraints among Non-Adjacent Actions Using First Order Logic,” inFORTE’93, Boston, North-Holland, October 1993.Google Scholar
  59. 59).
    Nierstrasz, O., “Active Objects in Hybrid,”ACM SIGPLAN Notices, 22, 12, pp. 243–253, December 1987.Proceedings of OOPSLA’87.CrossRefGoogle Scholar
  60. 60).
    Nierstrasz, O., “Towards an Object Calculus,” inECOOP’91 Workshop on Object-Based Concurrent Computing, LNCS 612, Springer-Verlag, pp. 1–20, 1992.Google Scholar
  61. 61).
    Nierstrasz, O., “Regular Types for Active Objects,” inObject-oriented Software Composition, Prentice-Hall, pp. 99–120, 1995.Google Scholar
  62. 62).
    Najm, E. and Stefani, J.-B., “Dynamic Configuration in LOTOS” inFormal Description Techniques, IV (K. R Parker and G. A. Rose, eds.), Sydney, Australia, North-Holland, November 1991.Google Scholar
  63. 63).
    Najm, E. and Stefani, J.B. “Object Based Concurrency: A Process Calculus Analysis,” in4th International Joint Conference on the Theory and Practice of Software Development, TAPSOFT 91, 1991.Google Scholar
  64. 64).
    Najm, E and Stefani, J.B., “Computational Models for Open Distributed Systems,”FMOODS’97, 2nd IFIP Conference on Formal Methods for Open Object Based Distributed Systems (H. Bowman and J. Derrick, eds.), Chapman and Hall, July 1997.Google Scholar
  65. 65).
    Najm, E., Stefani, J.-B., and Fevrier, A.,Introducing Mobility in LOTOS, ISO/IEC JTC1/SC21/WG1 approved AFNOR contribution, July 1994.Google Scholar
  66. 66).
    Nierstrasz, O., Schneider, J.-G., and Lumpe, M., “Formalizing Composable Software Systems—A Research Agenda,” inFirst IFIP International Workshop on Formal Methods for Open Object-based Distributed Systems (E. Najm and J.-B. Stefani, eds.), Paris, Chapman & Hall, pp. 271–282, March 1996.Google Scholar
  67. 67).
    Object Management Group,The Common Object Request Broker: Architecture and Specification, February 1997. WWW: http://www.omg.org/.Google Scholar
  68. 68).
    Papathomas, M., “A Unifying Framework for Process Calculus Semantics of Concurrent Object-Oriented Languages,” inECOOP’91 Workshop on Object-Based Concurrent Computing, LNCS 612, Springer-Verlag, pp. 53–79, 1992.Google Scholar
  69. 69).
    Pierce, B. C. and Turner, D.N., “Concurrent Objects in a Process Calculus,” inTheory and Practice of Parallel Programming (TPPP), LNCS, Sendai, Japan, November 1994, Springer-Verlag, to appear.Google Scholar
  70. 70).
    Puntigam, F., “Types for Active Objects Based on Trace Semantics,” inFirst IFIP Workshop on Formal Methods for Open Object-Based Distributed Systems Paris, Chapman & Hall, March 1996.Google Scholar
  71. 71).
    Quemada, J., Miguel, C., de Frutos, D., and Llana, L.,Proposal for Timed LOTOS, ISO/IEC JTC1/SC21/WG1, 1994.Google Scholar
  72. 72).
    Raymond, K., “Reference Model of Open Distributed Processing (RM-ODP): Introduction,” inIFIP TC6 International Conference on Open Distributed Processing (K. Raymond and L. Armstrong, eds.), Brisbane, Australia, Chapman and Hall, pp. 3–14, February 1995.Google Scholar
  73. 73).
    Regan, T., “Multimedia in Temporal LOTOS: A Lip Synchronisation Algorithm,” inPSTV XIII, 13th Protocol Specification, Testing and Verification, North-Holland, 1993.Google Scholar
  74. 74).
    Rudkin, S., “Inheritance in LOTOS,” inFormal Description Techniques, IV, (K. R. Parker and G. A. Rose, eds.), Sydney, Australia, North-Holland, November 1991.Google Scholar
  75. 75).
    Steen, M. W. A., Bowman, H., and Derrick, J., “Composition of LOTOS Specifications,” inProtocol Specification, Testing and Verification, XV (P. Dembinski and M. Sredniawa, eds.), Warsaw, Poland, Chapman & Hall, pp. 73–88, 1995.Google Scholar
  76. 76).
    Sommerville, I.,Software Engineering, Addison-Wesley, 1989.Google Scholar
  77. 77).
    Steen, M. W. A., “Functionality Extension of LOTOS Specifications,”Master’s thesis, University of Twente, Enschede, Netherlands, November 1993.Google Scholar
  78. 78).
    Turner, K.J. ed.,Using Formal Description Techniques, An Introduction to Estelle, LOTOS and SDL, Wiley, 1993.Google Scholar
  79. 79).
    van Glabbeek, R.J., “The Refinement Theorem for ST-Bisimulation Semantics,” inProgramming Concepts and Methods, Elsevier Science Publishers, 1990.Google Scholar
  80. 80).
    Winskel, G., “An Introduction to Event Structures,” inLinear Time, Branching Time and Partial Order in Logics and Models of Concurrency, LNCS 354, Springer-Verlag, 1988.Google Scholar
  81. 81).
    Watanabe, T. and Yonezawa, A., “Reflection in an Object-Oriented Concurrent Language,” inABCL: An Object-Oriented Concurrent System (A. Yonezawa, ed.), MIT Press, 1990.Google Scholar
  82. 82).
    Yi, W. “CCS+ Time=An Interleaving Model for Real-Time Systems,” inAutomata, Languages and Programming, LNCS 510, Springer-Verlag, 1991.Google Scholar
  83. 83).
    Yonezawa, A., ed.,ABCL: An Object-Oriented Concurrent System, MIT Press, 1990.Google Scholar
  84. 84).
    Zave, P. and Jackson, M., “Conjunction as Composition,”ACM Transactions on Software Engineering and Methodology, 2, 4, pp. 379–411, October 1993.CrossRefGoogle Scholar

Copyright information

© Ohmsha, Ltd. and Springer 1998

Authors and Affiliations

  • Howard Bowman
    • 1
  1. 1.Computing LaboratoryUniversity of KentCanterburyUK

Personalised recommendations