Abstract
This paper presents a computation model and its programming language,A’UM,* as a result of our pursuit of high parallelism and high expressivity for the development of a large scale software. By basing it on streams and integrating it with objects and relations,A’UM realizes an elegant model, natural representation and efficient execution, all at once, that have never been done by any other approaches.
Similar content being viewed by others
References
Ashcroft, E. A. and Wadge, W. W., “Lucid, a Non-procedural Language with Iteration,”CACM,20(7), 1977.
Aczel, P., “Non-well-founded Sets”,CSLI Lecture Notes, 14, Stanford University, 1988.
Agha, G. A.,A Model of Concurrent Computation in Distributed Systems, MIT Press, 1986.
America, P., “Definitions of the programming language POOL-T”,ESPRIT project 415, Doc. 91, Philips Research Laboratories, Eindhoven, the Netherlands, 1985.
Arvind and Gostelow, K. P., “A Computer Capable of Exchanging Processors for Time”,Proc. IFIP 77, 1977.
Arvind and Brock, J. D., “Streams and Managers”,LNCS, 143, Springer-Verlag, pp. 452–465, 1982.
Arvind and Culler, D. E., “Dataflow Architecture”,Ann. Rev. Computer Science, 1, 225–53, 1986.
Bellot, P. and Robinet, B., “Streams are not Dreams”,LNCS, 242, Springer-Verlag, 1985.
de Bakker, J. W., Meyer, J. J. Ch. and Orderog, E. R., “Infinite Streams and Finite Observations in The Semantics of Uniform Concurrency”,Theoretical Computer Science, 49, North-Holland, 1987.
Bergstra, J. A. and Klop, J. W., “Process Algebra for Synchronous Communication”,Information and Control, 60, 1984.
Brock, J. D. and Ackerman, W. B., “Scenarios: A model of Non-determinate Computation”,LNCS, 107, Springer-Verlag, 1981.
Broy, M., “A Theory for Nondeterminism, Parallelism, Communication, and Concurrency”,Theoretical Computer Science, 45, North-Holland, 1986.
Chikayama, T. and Kimura, Y., “Multiple Reference Management in Flat GHC”,Proc. of 4th ICLP, 1987.
Clark, K. and Gregory, S., “A Relational Language for Parallel Programming”,Concurrent Prolog, Vol. 1, MIT Press, 1987.
Clark, K. and Gregory, S., “PARLOG: Parallel Programming in Logic”,Concurrent Prolog, Vol. 1, MIT Press, 1987.
Cohen, J., “Garbage Collection of Linked Data Structures”,ACM Computing Surveys,13(3), 1981.
Dennis, J. B., “Programming Generality, Parallelism and Computer Architecture”,Proc. of IFIP, 69, 1969.
Dennis, J. B., “Prelininary Architecture for a Basic Data-Flow Processor”,IEEE Symp. on Comp. Arch., 1975.
Dennis, J. B., “A Language Design for Structured Concurrency”,LNCS, 54, Springer-Verlag, 1976.
Ehrig, H., “Introduction to the Algebraic Theory of Graph Grammars”,LNCS, 73, Springer-Verlag, 1979.
Filman, R. E. and Friedman, D. P.,Coordinated Computing—Tools and Techniques for Distributed Software, McGraw-Hill, 1984.
Goldberg, A. and Robson, D.,Smaltalk-80: The Language and Its Implementation, Addison-Wesley, 1983.
Goto, A., Kimura, Y., Nakagawa, T. and Chikayama, T., “An Incremental Garbage Collection Method for Parallel Inference Machines”,Proc. of LP88, Seattle, 1988.
Hewitt, C., “Viewing Control Structures as Patterns of Passing Messages”,Artificial Inteligence,8(3), 1977.
Hewitt, C. and Baker, H., “Laws for Communicating Parallel Processes”,Proc. of IFIP Congress 77, North-Holland, pp. 987–992, 1977.
Ida, T. and Tanaka, J., “Functional Programming with Streams”,Proc. IFIP 83, pp. 265–270, 1983.
Ishikawa, Y. and Tokoro, M., “A Concurrent Object-Oriented Knowledge Representation Language Orient 84/K: Its Features and Implementation”,Proc. of OOPSLA’86, 1986.
Hur, J. H. and Chon, K., “Overview of a Parallel Object-Oriented Language CLIX”,LNCS, 276, Springer-Verlag, 1987.
Kahn, K., Tribble, E. D., Miller, M. S. and Bobrow, D. G., “Vulcan: Logical Concurrent Objects”,Concurrent Prolog, Vol. 2, MIT Press, 1987.
Kahn, G., “The Semantics of a Simple Language for Parallel Programming”,Proc. of IFIP 74, pp. 471–145, 1974.
Kahn, G. and MacQueen, D., “Coroutines and Networks of Parallel Processes”,Proc. IFIP 77, pp. 993–998, 1977.
Kaplan, S. M. and Kaiser, G. E., “Garp: Graph Abstractions for Concurrent Programming”,LNCS, 300, Springer-Verlag, 1988.
Kerowski, H.-J. and Wilharm, A., “Net Processes Correspond to Derivation Processes in Graph Grammars”,Theoretical Computer Science, 44, North-Holland, 1986.
Landin, P. J., “A Correspondence between Algol60 and Church’s Lambda-Notation: Part I”,Comm. ACM, 8(2), pp. 89–101, 1965.
McGraw, J. R., “The VAL Language: Description and Analysis”,ACM Transaction on Programming Languages and Systems,4(1), 1982.
Mandrioli, D. and Ghezzi, C.,Theoretical Foundation of Computer Science, John Wiley & Sons, 1987.
Milner, R., “A Calculus of Communicating Systems, “LNCS, 92, Springer-Verlag, 1980.
Milner, R., “Caliculi for Synchrony and Asynchrony”,Theoretical Computer Science, 25, North-Holland, 1983.
Monteiro, L. F. and Pereira, F. C. N., “A Sheaf-Theoretic Model of Concurrency”,Symp. on Logic in Computer Science, 1986.
Peterson, J. L.,Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981.
Pratt, V., “Modeling Concurrency with Partial Orders”,International Journal of Parallel Programming,15(1), 1986.
Scott, D. S., “Continuous Lattices”,LNM, 274, Springer-Verlag, 1972.
Scott, D. S., “Domains for Denotaional Semantics”,LNCS, 140, Springer-Verlag, 1982.
Shapiro, E., “A Subset of Concurrent Prolog and Its Interpreter”,Concurrent Prolog, Vol. 1, MIT Press, 1987.
Shapiro, E. and Takeuchi, A., “Object Oriented Programming in Concurrent Prolog”,Concurrent Prolog, Vol. 2, MIT Press, 1987.
Staples, J. and Nguyen, V. L., “Computing the Behavior of Asynchronous Processes”,Theoretical Computer Science, 26, North-Holland, 1983.
Tesler, L. G. and Enea, H. J., “A Language Design for Concurrent Processes”,Proc. of SJCC, 1968.
Tribble, E. D., Miller, M. S., Kahn, K., Bobrow, D. and Abbott, C., “Channels: A Generalization of Streams”,Concurrent Prolog, Vol. 1, MIT Press, 1987.
Ueda, K., “Guarded Horn Clauses”,Concurrent Prolog, Vol. 1, MIT Press, 1987.
Winskel, G., “Synchronization Trees”, TheoreicalComputer Science, 34, North-Holland, pp. 33–82, 1984.
Winkowski, J., “An Algebra of Processes”,Journal of Computer and System Sciences, 35, pp. 206–228, 1987.
Yokote, Y. and Tokoro, M., “The Design and Implementation of ConcurrentSmalltalk”,Proc. of OOPSLA ’86, 1986.
Yonezawa, A., Briot, J.-P. and Shibayama, E., “Object-Oriented Concurrent Programming in ABCL/1”,Proc. of OOPSLA’86, 1986.
Zhong, Y. and Sowa, M., “Towards an Implicitly Parallel Object-Oriented Language”,Proc. of COMPSAC’87, 1987.
Author information
Authors and Affiliations
Additional information
A’UM is a Japanese word, derived from a Sanskrit “ahum” consisting ofAh andUm, which implies the beginning and the end, and open voice and a close voice, and expiration and inspiration. This name was given to symbolize stream communication which is the basic notion of this language.
About this article
Cite this article
Yoshida, K., Chikayama, T. A’UM —A stream-based concurrent object-oriented language—. NGCO 7, 127–157 (1990). https://doi.org/10.1007/BF03037203
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03037203