Actor-Based Concurrent Language
   HOME

TheInfoList



OR:

Actor-Based Concurrent Language (ABCL) is a family of
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s, developed in
Japan Japan ( ja, 日本, or , and formally , ''Nihonkoku'') is an island country in East Asia. It is situated in the northwest Pacific Ocean, and is bordered on the west by the Sea of Japan, while extending from the Sea of Okhotsk in the north ...
in the 1980s and 1990s.


ABCL/1

''ABCL/1'' (Actor-Based Concurrent Language) is a prototype-based
concurrent programming language Concurrent computing is a form of computing in which several computations are executed ''Concurrency (computer science), concurrently''—during overlapping time periods—instead of ''sequentially—''with one completing before the next starts ...
for the ABCL MIMD system, created in 1986 by
Akinori Yonezawa is a Japanese computer scientist specializing in object-oriented programming, distributed computing and information security. Being a graduate of the University of Tokyo, Yonezawa has a Ph.D in computer science from MIT in the Actor group at th ...
, of the ''Department of Information Science'' at the University of Tokyo. ABCL/1 uses asynchronous
message passing In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporting i ...
among
objects Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ...
to achieve concurrency. It requires
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
. Implementations in Kyoto Common Lisp (KCL) and
Symbolics Symbolics was a computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.
Lisp are available from the author.


ABCL/c+

An implementation of ABCL/c+ is available from the ACM.An Implementation of an Operating System Kernel Using Concurrent Object-Oriented Language ABCL/c+
/ref>


ABCL/R

''ABCL/R'' is an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
reflective Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ' ...
subset of ABCL/1, written by Professor Akinori Yonezawa of
Tokyo Institute of Technology is a national research university located in Greater Tokyo Area, Japan. Tokyo Tech is the largest institution for higher education in Japan dedicated to science and technology, one of first five Designated National University and selected as ...
in 1988.


ABCL/R2

''ABCL/R2'' is a second generation version of ABCL/R, designed for the Hybrid Group Architecture. It was produced at the Tokyo Institute of Technology in 1992, and has almost all the functionality of ABCL/1. It is written in
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
. As a reflective language, its programs can dynamically control their behavior, including scheduling policy, from within a user-process context.


Further reading

*''ABCL: An Object-Oriented Concurrent System'', A. Yonezawa ed, MIT Press 1990 *''Reflection in an Object-Oriented Concurrent Language'', T. Watanabe et al., SIGPLAN Notices 23(11):306-315 (Nov 1988) *''An Implementation of An Operating System Kernel using Concurrent Object Oriented Language ABCL/c+'', N. Doi et al. in ECOOP '88, S. Gjessing et al. eds, LNCS 322, Springer 1988


References


External links

* {{official website, http://web.yl.is.s.u-tokyo.ac.jp/pl/abcl.html Prototype-based programming languages Concurrent programming languages Common Lisp (programming language) software