• DocumentCode
    1359218
  • Title

    Hypersequential programming: a new way to develop concurrent programs

  • Author

    Uchihira, Naoshi ; Honiden, Shinichi ; Seki, Toshibumi

  • Author_Institution
    Syst. & Software Eng. Lab., Toshiba Corp., Kawasaki, Japan
  • Volume
    5
  • Issue
    3
  • fYear
    1997
  • Firstpage
    44
  • Lastpage
    54
  • Abstract
    The authors present hypersequential programming, a new method that eases the difficulty of concurrent programming and makes the concurrent program highly reliable. The difficulty of concurrent programming is due mainly to its nondeterminism. The authors classify nondeterminism into three types: intended, harmful, and persistent. In traditional concurrent programming, a programmer first designs and implements programs so as to maximize concurrency, which may include all three types of nondeterminism. She then tries to detect harmful nondeterministic behavior by testing and debugging them. However, removing all harmful nondeterministic behavior is actually very difficult. Hypersequential programming, on the other hand, first serializes the concurrent program to remove all types of nondeterminism, and then the programmer tests and debugs it as a sequential program. Finally, it is parallelized by restoring only intended and persistent nondeterminism. Hypersequential programming can develop a highly reliable concurrent program, because the injection of harmful nondeterminism is precluded. In this article, the authors also present a simple embodiment of hypersequential programming using Petri nets
  • Keywords
    parallel programming; program debugging; Petri nets; concurrency; concurrent programming; concurrent programs; debugs; hypersequential programming; nondeterminism; parallelized; Application software; Computer industry; Concurrent computing; Debugging; Distributed computing; Parallel programming; Programming profession; Testing; Timing; Topology;
  • fLanguage
    English
  • Journal_Title
    Concurrency, IEEE
  • Publisher
    ieee
  • ISSN
    1092-3063
  • Type

    jour

  • DOI
    10.1109/4434.605918
  • Filename
    605918