Abstract
Hypersequential programming is a new paradigm of concurrent programming. The original concurrent program is first serialized, then the sequential version is tested and debugged, and finally the target concurrent program is synthesized by parallelizing the debugged sequential version. In hypersequential programming, testing and debugging are performed on the sequential version of the program and the correctness is preserved in the subsequent parallelization process. Therefore, it offers both higher productivity and enhanced reliability. This paper describes a practical approach to hypersequential programming using the execution history called scenario. It also formalizes the parallelization process using a new equivalence relation called scenario graph equivalence, and gives the parallelization algorithm.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
REFERENCES
C. M. Pancake, Software Support for Parallel Computing: Where Are We Headed?, Comm. ACM 34(11):53–64 (1991).
C. E. McDowell and D. P. Helmbold, Debugging Concurrent Programs, ACM Computing Surveys 21(4):593–622 (1989).
N. Uchihira, S. Honiden, and T. Seki, Hypersequential Programming: A New Way to Develop Concurrent Programs, IEEE Concurrency 5(3):44–54 (1997).
N. Uchihira and H. Kawata, Scenario-Based Hypersequential Programming: Concept and Example, Second Int'l. Workshop on Software Enging. Parallel and Distrib. Syst., Boston, IEEE Computer Society Press, pp. 277–283 (1997).
R. Milner, Communication and Concurrency, Prentice-Hall (1989).
M. Girkar and C. D. Polychronopoulos, Automatic Extraction of Functional Parallelism from Ordinary Programs, IEEE Trans. Parallel Distrib. Syst. 3(2):166–178 (1992).
J. E. Hopcroft and J. D. Ullman, Formal Languages and Their Relation to Automata, Addison-Wesley (1970).
K. C. Tai, R. H. Carver, and E. E. Obaid, Debugging Concurrent Ada Programs by Deterministic Execution, IEEE Trans. Software Enging. 17(1):45–63 (1991).
P. A. Emrath, S. Ghosh, and D. A. Padua, Detecting Nondeterminacy in Parallel Programs, IEEE Software 9(1):69–77 (1992).
H. Zima and B. Chapman, Supercompilers for Parallel and Vector Computers, Addison-Wesley (1990).
P. J. Ramadge and W. M. Wonham, The Control of Discrete Event Systems, Proc. IEEE 77(1):81–98 (1989).
N. Uchihira and S. Honiden, Compositional Adjustment of Concurrent Programs to Satisfy Temporal Logic Constraints in MENDELS ZONE, J. Syst. Software 33(3): 207–221 (1996).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Uchihira, N., Kawata, H. & Tamura, F. Scenario-Based Hypersequential Programming. International Journal of Parallel Programming 28, 155–157 (2000). https://doi.org/10.1023/A:1007596132256
Issue Date:
DOI: https://doi.org/10.1023/A:1007596132256