• DocumentCode
    2310583
  • Title

    An Abstract Channel Specification and an Algorithm Implementing It Using Java Sockets

  • Author

    Georgiou, Chryssis ; Musial, Peter M. ; Shvartsman, Alexander A. ; Sonderegger, Elaine L.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Cyprus, Nicosia
  • fYear
    2008
  • fDate
    10-12 July 2008
  • Firstpage
    211
  • Lastpage
    219
  • Abstract
    Abstract models and specifications can be used in the design of distributed applications to formally reason about their safety properties. However, the benefits of using formal methods are often negated by the ad hoc process of mapping the semantics of an abstract specification to algorithms designed to be executed on target distributed platforms. The challenge of formally specifying communication channels and correctly implementing them as algorithms that use realistic distributed system services is the focus of this paper. This work provides an original formal specification of an abstract asynchronous communication channel with support for dynamic creation and tear down of links between participating network nodes, and its implementation as an algorithm using Java sockets. The specification and the algorithm are expressed using the Input/Output Automata formalism, and it is proved that the algorithm correctly implements the specification, viz. that any externally observable behavior (trace) of the algorithm has a corresponding behavior of the specification. The approach presented here can be used to implement algorithms for dynamic systems, where communicating nodes may join, leave, and experience delays. The result is also of direct benefit to automated code generation, such as that implemented within the Input/Output Automata Toolkit at MIT.
  • Keywords
    Java; automata theory; distributed algorithms; formal specification; telecommunication channels; telecommunication computing; Java Socket; abstract asynchronous communication channel specification; abstract model; distributed system service; formal specification; input/output automata formalism; network node link; semantic mapping; Algorithm design and analysis; Asynchronous communication; Automata; Communication channels; Delay; Formal specifications; Heuristic algorithms; Java; Safety; Sockets; Asynchronous communication; Java sockets; dynamic participation; input/output automata;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Network Computing and Applications, 2008. NCA '08. Seventh IEEE International Symposium on
  • Conference_Location
    Cambridge, MA
  • Print_ISBN
    978-0-7695-3192-2
  • Electronic_ISBN
    978-0-7695-3192-2
  • Type

    conf

  • DOI
    10.1109/NCA.2008.12
  • Filename
    4579658