Hypersequential Programming: A New Way to Develop Concurrent Programs

  • Authors:
  • Naoshi Uchihira;Shinichi Honiden;Toshibumi Seki

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Parallel & Distributed Technology: Systems & Technology
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

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.