| H. Masuhara, S. Matsuoka, and A. Yonezawa. An object-oriented concurrent reflective language for dynamic resource management in highly parallel computing. In IPSJ SIG Notes, volume 94-PRG-18, 1994. |
.... Delegation calls are made dynamically by using Java s reflection facility [146] Reflection is the ability of a programming system to make attributes like the invocation, interface, inheritance, and implementation of the objects to be themselves the subject of their own computation [17] 21] 51] [105]. In this dissertation, method calls made by using Java s reflection facility are referred to as dynamic calls. The main reason for using dynamic calls is to support separate compilation; e.g. a subtype may be compiled separately from the compilation of its supertypes, but the subtype s bytecode ....
Hidehiko Masuhara and Akinori Yonezawa. An object-oriented concurrent reflective language ABCL/R3: Its meta-level design and e#cient implementation techniques. In Jean-Paul Bahsoun, Takanobu Baba, Jean-Pierre Briot, and Akinori Yonezawa, editors, Object-Oriented Parallel and Distributed Programming, pages 151--165. HERMES Science Publications, Paris, France, 2000.
....increased overhead of a meta level technique is limited to within a factor of 10, then the advantage of that meta level technique is worthwhile. In the concurrent language ABCL R2 [17] for example, the execution that involves a meta level operation is 6 or 7 times slower than a normal execution [16]. As in Open C , the programmer can select whether or not an object is controlled by a metaobject. As a result, ABCL R2 improves the execution speed of a program by a meta level technique. 6 Related Work C provides some meta level operations. The macro set of handling a variable argumentlist ....
Masuhara, H., S. Matsuoka, T. Watanabe, and A. Yonezawa, "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently," in Proc. of ACM Conf. on ObjectOrientedProgramming Systems, Languages, and Applications, pp. 127--144, 1992.
....of reflective needs, the user writes his specifications, and immediately obtains a tailored MOP, paying the price of reflection only when e#ectively required. 3 The Quest for the Holy Application 3. 1 The issue of the necessity According to the literature, applications of run time MOPs are many [1, 8, 3, 9, 12]. However, as Gilad Bracha pointed out during the ECOOP Workshop on Reflection and Metalevel Architectures in 2000 (see [2] the reflection community is still looking for the killer application that will at last demonstrate to the world the necessity of reflection. This is the point: until now, ....
H. Masuhara, S. Matsuoka, and A. Yonezawa. An Object-Oriented Concurrent Reflective Language for Dynamic Resource Management in Highly Parallel Computing. In IPSJ SIG Notes, volume 94-PRG-18, 1994.
....its metalevel is 2 called Metaobject Protocols or MOPs. The relationship among the constructs described aboveis illustrated in Figure 1. Reflection was originally introduced by 3 Lisp [4] 5] and has been studied within various programming languages such as 3KRS [2] CLOS [6] ABCL R [7], Smalltalk [8] 9] OpenC [10] Iguana [11] and MetaJava [12] The intention of these reflective languages is the introduction of a general mechanism to extend the language itself. It has been shown that reflection eases (1) extensibility, e.g. a reflective language can extend its syntax and ....
H. Masuhara S. MatsuokaT.Watanabe and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently.InProceedings OOPSLA '92, ACM SIGPLAN Notices, pages 127--147, 1992.
....is very effective in such a situation, that is we plan to make metaobject observe the system world, and to reflect information of the system world into the language world. From this point, some reflective object oriented programming languages, for example AL 1 D [Okamura et al. 93] ABCL R2 [Masuhara et al. 92] are more suitable for programming languages incorporated LO SO amalgamation under distributed object oriented operating systems. 21 8. Conclusion We proposed a powerful technique, called LO SO amalgamation, for constructing programming languages under modern object oriented operating ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of Object-Oriented Programming Systems, Languages and Applications in
....in the tower. The main problem with the tower approach is that it confuses the meta interception mechanism with the metalevel structuring mechanism, which we feel should be kept separate. However, the tower approach is appropriate only when going to a new level of abstraction such as in the ABCL R [24] approach. 6 Byte Code Transformation In this section we introduce a new metaobject protocol based on byte code transformation that we are implementing as the Kava system. As stated in section four the separation of wrapper and wrapped class introduces problems for method call interception, ....
Masuhara H., Matsuoka S., Watanabe T. and Yonezawa A. : Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In proceedings of OOPSLA'92 (1992).
....runtime information to the application program because this information can be gained by accessing object behavior defined at the meta level. 3. 1 Reflection and Meta level Architecture Computational reflection is a useful concept for modifying a system according to the programmer s requirements [16, 11, 18, 19, 12]. A system supporting the reflection concept is called a reflective system. A reflective system has a meta level architecture, which consists of two levels; the base level and the metalevel. To expose or reify its internals, a reflective system embodies reifiable data that represents or implements ....
....computational aspects of the system at the meta level. Such data must be dynamically self accessible and selfmodifiable by the user program. Furthermore, modification by the user must be reflected to the actual computational state of the user program. This property is termed causal connection [12]. We call programming at the meta level metalevel programming. Computational reflection is employed by functional languages such as 3 Lisp [16] and BROWN [5] object oriented languages such as 3 KRS [11] and CLOS [9] concurrent object oriented languages such as ABCL R [18] and distributed ....
[Article contains additional citation context not shown here]
H. Masuhara, S. Matsuoka, T. Watanabe and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of ACM OOPSLA'92, October 1992.
....runtime information to the application program because this information can be gained by accessing object behavior defined at the meta level. 3. 1 Reflection and Meta level Architecture Computational reflection is a useful concept for modifying a system according to the programmer s requirements [16, 11, 18, 19, 12]. A system supporting the reflection concept is called a reflective system. A reflective system has a meta level architecture, which consists of two levels; the base level and the meta level. To expose or reify its internals, a reflective system embodies reifiable data that represents or ....
....computational aspects of the system at the meta level. Such data must be dynamically self accessible and self modifiable by the user program. Furthermore, modification by the user must be reflected to the actual computational state of the user program. This property is termed causal connection [12]. We call programming at the meta level meta level programming. Computational reflection is employed by functional languages such as 3 Lisp [16] and BROWN [5] object oriented languages such as 3 KRS [11] and CLOS [9] concurrent object oriented languages such as ABCL R [18] and distributed ....
[Article contains additional citation context not shown here]
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of ACM OOPSLA'92, October 1992.
.... Parameter Passing Cristina Videira Lopes Northeastern University College of Computer Science Boston, MA 02115, USA Tel: 617) 373 5204; Fax: 617) 373 5121 email: crista ccs.neu.edu February 27, 1995 Abstract Parameter passing is one of the main problems in distributed object oriented applications. Passing objects by global reference is very inefficient, since the proliferation of global ....
.... Parameter Passing Cristina Videira Lopes Northeastern University College of Computer Science Boston, MA 02115, USA Tel: 617) 373 5204; Fax: 617) 373 5121 email: crista ccs.neu.edu February 27, 1995 Abstract Parameter passing is one of the main problems in distributed object oriented applications. Passing objects by global reference is very inefficient, since the proliferation of global references implies an increasing number of cross context ....
[Article contains additional citation context not shown here]
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Andreas Paepcke, editor, OOPSLA, pages 127--144, Vancouver, Canada, October 1992. ACM Press.
....A prototype implementation of ABCL R3 is under construction and not yet available. The Yonezawa Lab WWW Server can be reached at: http: web.yl.is.s.u tokyo.ac.jp Email addresses: group address Gamma abcl is.s.u tokyo.ac.jp Akinori Yonezawa Gamma yonezawa is.s.u tokyo.ac. jp References: [157] 2.5 Acore Developer: MIT AI Lab. Description: oo. memory model. parallelism. Actor language. Asynchronous call of method without return value. Methods that have a return value can only be called synchronously. scheduling. mapping. Locality is not an issue. synchronization. Default ....
Hidehiko Masuhara, Satoshi Matsuoka, and Akinori Yonezawa. An object-oriented concurrent reflective language for dynamic resource management in highly parallel computing. In IPSJ SIG Notes, volume 94-PRG-18, pages 57--64, 1994.
....ftp: camille.is.s.u tokyo.ac.jp The predecessor ABCL R is still available from ftp, however, it is neither supported nor recommended to use. Email addresses: group address Gamma abcl is.s.u tokyo.ac.jp Akinori Yonezawa Gamma yonezawa is.s.u tokyo.ac. jp References: [156] [224] 2.4 ABCL R3 Developer: University of Tokyo, Japan Description: oo. ABCL R3 is an extension of ABCL R2. The main idea is to make per physical processor node objects and scheduler objects visible as meta objects, which are accessible from each object that resides on the same node. memory ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proc. of OOPSLA'92, Conf. on ObjectOriented Programming Systems, Languages, and Applications, Vacnouver, Canada, October 18--22, 1992. ACM SIGPLAN Notices 27(10).
....The same argument has also been made, either implicit or explicitly, for synchronization in concurrent and distributed object oriented applications. Works such as CEiffel [19] and Sina [3] along with the works presented by FrOElund and Agha [8] Lopes and Lieberherr [20] and Masuhara et al. 23] suggest that the programmers should be given the chance to define synchronization strategies, rather than being imposed with some default policy implemented by the system. The work on open implementations and metaobject protocols, by Kiczales [13, 14, 15] generalizes this argument that ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Andreas Paepcke, editor, OOPSLA, pages 127--144, Vancouver, Canada, October 1992. ACM Press. 21
.... Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A me y t i v i t c a y r a d n u o b http: web.yl.is.s.u tokyo.ac.jp ftp: camille.is.s.u tokyo.ac.jp group address Gamma abcl is.s.u tokyo.ac.jp Akinori Yonezawa Gamma yonezawa is.s.u tokyo.ac. jp ABCL R3 [169] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A me y t i v i t c a y r a d n u o b http: web.yl.is.s.u tokyo.ac.jp group address Gamma abcl is.s.u tokyo.ac.jp Akinori Yonezawa ....
Hidehiko Masuhara, Satoshi Matsuoka, and Akinori Yonezawa. An object-oriented concurrent reflective language for dynamic resource management in highly parallel computing. In IPSJ SIG Notes, volume 94-PRG-18, pages 57--64, 1994.
.... Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A y t i v i t c a y r a d n u o b http: web.yl.is.s.u tokyo.ac.jp group address Gamma abcl is.s.u tokyo.ac.jp Akinori Yonezawa Gamma yonezawa is.s.u tokyo.ac. jp ABCL R2 [168, 244] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A me y t i v i t c a y r a d n u o b http: web.yl.is.s.u tokyo.ac.jp ftp: camille.is.s.u tokyo.ac.jp group address Gamma ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Objectoriented concurrent reflective languages can be implemented efficiently. In Proc. of OOPSLA '92, Conf. on Object-Oriented Programming Systems, Languages, and Applications, Vacnouver, Canada, October 18--22, 1992. ACM SIGPLAN Notices 27(10).
....programming language system, we conclude that the reasonable performance is achieved without sacrificing the performance of faculties for concurrent object oriented programming in the AL1 D system . There are some reflective systems on distributed environments: Apertos [9] and ABCL R2[6]. The difference among AL 1 D and these systems is described below. Muse OS is an operating system on which the behavior of components can be changed. The abstraction of meta objects in Muse OS might be the same as the Resource Model in AL 1 D. Since a programming language on Muse OS is being ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of ACM OOPSLA'92, October 1992.
....of delegates relies on the use of Java technologies in conjunction with the CORBA compliant object systems being configured. Such realizations are not suitable for the target parallel machines and programs addressed in this paper. In the development of ABCL R3, Yonezawa, Masuhara and Matsuoka [32, 31] were concerned with highly parallel computing, but their focus was on providing specific support for customizable resource management policies (for example, by providing the notion of nodes explicitly at the meta level) while our work aims also at object customizations regarding algorithmic ....
H. Masuhara, S. Matsuoka, and A. Yonezawa. An Object-Oriented Concurrent Reflective Language for Dynamic Resource Management in Highly Parallel Computing. IPSJ Notes, 94-PRG-18, 57-64, 1994.
....of delegates relies on the use of Java technologies in conjunction with the CORBA compliant object systems being configured. Such realizations are not suitable for the target parallel machines and programs addressed in this paper. In the development of ABCL R3, Yonezawa, Masuhara and Matsuoka [32, 31] were concerned with highly parallel computing, but their focus was on providing specific support for customizable resource management policies (for example, by providing the notion of nodes explicitly at the meta level) while our work aims also at object customizations regarding algorithmic ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages Can Be Implemented Efficiently. In Proceedings of OOPSLA, pages 127--145, October 1992.
....such a warning message because they recognize that quit( is not overridden but newly defined in the subclass. 5: Related Work Although OpenC is a reflective system, its reflectiveness is for meta programming at compile time. Most of other reflective systems are for meta programming at runtime [23, 20, 19, 18, 22, 15, 6], and thus OpenC should be called a system based on compile time reflection or, in other words, a macro system the programming interface of which is borrowed from reflection. As for runtime reflection, the usefulness of metaclasses for customizing a class structure has been studied by Classtalk ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 127--144, 1992.
....CLOS is dynamically typed, leading to a considerably different style of meta level interface. Most notably, the BETA MLI allows, but does not force, the meta level programmer to express static typing constraints, thereby leading to more readable and possibly more efficient meta level code. ABCL R [Masuhara et al. 92] AL 1 D [Okamura et al. 93] and Self [Holzle Ungar 94] are further examples of dynamically typed programming languages with reflectional capabilities. As with CLOS, the most notable difference between the meta level interfaces of these languages, as compared to the BETA MLI, is the issue of ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. ObjectOriented Concurrent Reflective Languages can be Implemented Efficiently. In A. Paepcke, editor, OOPSLA'92 Conference Proceedings, pages 127 -- 144. ACM Press, October 1992.
....amount of time is wasted for stub handling in the current implementation. Since there is a gap between an object of C and an object of the Apertos operating system, we need this small stub in the current implementation. However, it can be reduced by a stub generator or a compiler. Further, Masuhara et al. 92] proposes the several ways to implement a reflective programming language efficiently. Although their system structure is different from ours, some mechanisms such as light weight objects and non reifying objects can 6 UNIX is a registered trademark of AT T Bell Laboratories. Table 11: Break ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of Object-Oriented Programming Systems, Languages and Applications in 1992. ACM Press, October 1992.
....and a GC. This paper describes the modification of shared resources. Following aspects are mentioned: ffl The mechanism of AL 1 D for modification of shared resources is shown. That is, a way for setting shared resources to an object is described. Conventional reflective systems, such as ABCL R2[1] and Apertos[3] introduce concepts of grouping while AL 1 D does not employ these concepts. ffl The mechanism for cooperation between default system shared resources and those that users define newly. In this paper, default system resources are called default resources , and new user defined ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of OOPSLA'92, October 1992.
....base and meta entities: in principles, each meta object can be connected to many referents, and each referent can be linked to several meta objects (one at a time) during its lifecycle. However most implementations, for reason of efficiency, restrict this freedom: in OpenC [5] and ABCL R [6] a meta object is linked to one referent only, and each referent can have only one meta object during its lifecycle. As a consequence, reflection granularity is at object level. Referent actions trapped by meta objects are method calls. When the meta object has completed the meta computation, it ....
....to achieve the desired goals, reflective distributed systems design should solve new problems, such as how to interface entities and meta entities at the same time preserving transparency, and how to implement causality without sacrificing system efficiency. Such topics are examined in [10] and [6]. IV. Channel Reification Model (CRM) We propose this model as an extension to the messagereification model, aimed at solving some of its drawbacks, while keeping its advantages. Channel reification is based on the following idea: a method call is considered as amessage sent through a logical ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa, "Object-oriented concurrent reflective languages can be implemented efficiently", in proceedings of OOPSLA'92, Vancouver, Canada, October 1992, ACM, number 22 in Sigplan Notices.
....The same argument has also been made, either implicit or explicitly, for synchronization in concurrent and distributed object oriented applications. Works such as CEiffel [19] and Sina [3] along with the works presented by FrOElund and Agha [8] Lopes and Lieberherr [20] and Masuhara et al. [23] suggest that the programmers should be given the chance to define synchronization strategies, rather than being imposed with some default policy implemented by the system. The work on open implementations and metaobject protocols, by Kiczales et al. 13, 14, 15] generalizes this argument that ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Andreas Paepcke, editor, OOPSLA, pages 127--144, Vancouver, Canada, October 1992. ACM Press.
....to achieve the desired goals, reflective distributed systems design should solve new problems, such as how to interface entities and meta entities at the same time preserving transparency, and how to implement causality without sacrificing system efficiency. Such topics are examined in [10] and [12]. 4 Channel Reification Model We propose this model as an extension to the message reification model, aimed at solving some of its drawbacks, while keeping its advantages. Channel reification is based on the following idea: a method call is considered as a message sent through a logical channel ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In proceedings of OOPSLA'92, Sigplan Notices, Vancouver, Canada, October 1992. ACM.
....reference. In other words, the metalevel is isomorphic, the result of executing a MLI operating in MetaBETA is also in the domain of MetaBETA. By having an isomorphic metalevel interface, we avoid a tower of reflective languages each describing the program execution at more specialized level [Masuhara et al. 92] 2.2.3 An Extensible Execution Model The runtime system in the metalevel architecture is the only executing program seen by the operating system. To execute a compiled BETA program, the runtime system is started from the operating system commandline with parameters that specify the ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented E#ciently. In A. Paepcke, editor, Proccedings of the 7th Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 127 -- 144, October 1992.
....(c) the meta communication model, which is based on the reification of messages sent to objects. That is, messages are objects and can be sent messages to process themselves. Some work has been done on adding computational reflection to Smalltalk 80 [3] and work on the ABCL R2 language [8] is striving towards an efficient implementation of a reflective OOL with concurrency. Our model supports structural reflection similar to (1) and computational reflection is provided by a meta class model as in (2a) We did not choose a meta object model (2b) because of the additional overhead ....
H. Masuhara, S. Matsuoka, T. Wantanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proc. OOPSLA Conf., pages 127--144, October 1992.
....meta functions env ref and env set to access the base level variable history . It cannot directly access this variable since create object is at the meta level. Any base level entity must be dealt with through built in meta functions. Other object oriented reflective languages include ABCL R [61, 41, 40], Ferber s language [21] RbCl [32] The MIP for C [9] OpenC version 1 [13] AL 1 D [46, 45] CodA [42] a reflective version of BETA [6] and Iguana [29, 30] They have explored various applications of the meta 5 Again, we use an altered version of 3 KRS for clarifying our argument. ....
Masuhara, H., S. Matsuoka, T. Watanabe, and A. Yonezawa, "ObjectOriented Concurrent Reflective Languages can be Implemented Efficiently, " in Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages, and Applications, pp. 127--144, 1992.
....is documented as a Metaobject Protocol (MOP) programmers can add to it or modify it easily. For example, the Meta MethodCall metaobject s method in OpenC is invoked when the base level object invokes a method, and the programmer need modify it only once to produce debug code[4] The ABCL R2[8] reflective programming system has a notion of group meta system, which supports common meta resource management for group member objects. The implementation of ABCL R2 includes implementation techniques to get efficiency using partial compilation and light weight objects[8] By using partial ....
....code[4] The ABCL R2[8] reflective programming system has a notion of group meta system, which supports common meta resource management for group member objects. The implementation of ABCL R2 includes implementation techniques to get efficiency using partial compilation and light weight objects[8]. By using partial compilation, some non reflective operations are statically compiled without any reflective feature, to eliminate unnecessary overhead. Light weight objects are directly invoked from the caller s execution context. The non reflective operations and the light weight objects, ....
[Article contains additional citation context not shown here]
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanebe, and Akinori Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proceedings of Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), 1992, pp.127-145.
....Since the runtime metaobjects allow users to change various decision policies of the system, such as scheduling and migration, the users can tune the system performance to fit their needs. A drawback of the runtime metaobjects is runtime overhead. A few ideas have been proposed on this problem [12, 16, 19]. For example, inlining and partial evaluation are effective techniques to reduce the overhead. It is difficult to recover the whole overhead of a runtime meta architecture, however. 7 Current Status We are in the process of developing OpenC Version 2. Our methodology is to first develop a ....
Masuhara, H., S. Matsuoka, T. Watanabe, and A. Yonezawa, "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently," in Proc. of ACM Conf. on ObjectOriented Programming Systems, Languages, and Applications, pp. 127--144, 1992.
....in a distributed and heterogeneous environment. Our model is based on CORBA architecture and, in addition to its characteristics, has the capability of representing and handling the time behavior. On the other hand, we use the reflective object paradigm introduced in [1] and used in [2] 3] 4][5], with the purpose of making easier the separation of concerns. So, in our model we separate functionality (i.e. procedures, methods) and management (i.e. scheduling, synchronization and time constraints, exception handling) of the application. A set of base objects represents the former concern ....
....constraints is detected. In this way, the model allows to satisfy a best effort policy, and also to guarantee that a requested method will be executed only if there is a sufficient time to perform it completely, avoiding wasting time in the server object. Though a similar structure is found in [5], our model associates time constraints to methods, instead of to associate them to a code segment in the BaseObject as in the former model. This allows to specify time constraints in a natural way and also to act on the system scheduling. In figure 2, MetaObjClient and MetaObjServer are ....
H. Masuhara; S. Matsuoka; T. Watanabe; A. Yonezawa "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently", OOPSLA'92 Proceedings, pp. 127-144, October 1992.
....increased overhead of a meta level technique is limited to within a factor of 10, then the advantage of that meta level technique is worthwhile. In the concurrent language ABCL R2 [17] for example, the execution that involves a meta level operation is 6 or 7 times slower than a normal execution [16]. As in Open C , the programmer can select whether or not an object is controlled by a metaobject. As a result, ABCL R2 improves the execution speed of a program by a meta level technique. 6 Related Work C provides some meta level operations. The macro set of handling a variable argument list ....
Masuhara, H., S. Matsuoka, T. Watanabe, and A. Yonezawa, "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently," in Proc. of ACM Conf. on ObjectOriented Programming Systems, Languages, and Applications, pp. 127--144, 1992.
...., where in addition to classes, objects also have specific meta objects; and (c) the meta communication model , which is based on the reification 2 of messages sent to objects. Some work has been done on adding computational reflection to Smalltalk 80 [FJ89] and work on the ABCL R2 language [MMWY92] is striving towards an efficient implementation of a reflective OOL with concurrency. The TIGUKAT model supports structural reflection similar to (1) and computational reflection is handled by a meta class model as in (2a) A meta object model (2b) was not chosen because of the additional ....
H. Masuhara, S. Matsuoka, T. Wantanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proc. of the Int'l Conf. on Object-Oriented Programming: Systems, Languages, and Applications, pages 127--144, October 1992.
....meta communication model which is based on the reification of messages sent to objects. Message reification treats messages as objects that can be sent messages to process themselves. Some work has been done on adding computational reflection to Smalltalk 80 [3] and work on the ABCL R2 language [7] is striving towards an efficient implementation of a reflective OOL with concurrency. 2 TIGUKAT (tee goo kat) is a term in the language of the Canadian Inuit people meaning objects. The Canadian Inuits, commonly known as Eskimos, are native peoples of Canada with an ancestry originating in ....
H. Masuhara, S. Matsuoka, T. Wantanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently. In Proc. OOPSLA Conf., pages 127-- 144, October 1992.
....possibly change policies dynamically during execution. This adaptive behavior is often achieved by reflection. Reflection enables a system to observe itself and to change its own behavior [12] It is becoming an increasingly important technique in building large collections of concurrent objects [9, 15]. Reflective capabilities are usually implemented by using metaobjects [7, 8] Metaobjects can monitor and prescribe the behavior of regular objects. It is often desirable to expose the behavior of an object at a very fine level. Examples include debugging, performance monitoring, and software ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proceedings of OOPSLA'92, pages 127--144. ACM, 1992.
....[10] perform meta computation by trapping the normal computation of reflective objects; in other words, each base entity action is trapped by a meta entity, which performs a meta computation either substituting or encapsulating the base entity s action. This can be done either at run time [11] or at compile time [12] The parallelism between computational and architectural reflection depicted in figure 3 can be extended to the realization model. Just as in the computational approach, structural and behavioural reflection are charged to different entities, so for architectural ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa, "Object-oriented concurrent reflective languages can be implemented efficiently", in proceedings of OOPSLA'92, Vancouver, Canada, October 1992, ACM, number 22 in Sigplan Notices.
....CLOS is dynamically typed, leading to a considerably di#erent style of metalevel interface. Most notably, the BETA MLI allows, but does not force, the metalevel programmer to express static typing constraints, thereby leading to more readable and possibly more e#cient metalevel code. ABCL R2 [Masuhara et al. 92] AL 1 D [Okamura et al. 93] and SELF [Holzle Ungar 94] are further examples of dynamically typed programming languages with reflectional capabilities. As with CLOS, the most notable di#erence between the metalevel interfaces of these languages and MetaBETA, is the issue of static versus ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-Oriented Concurrent Reflective Languages can be Implemented E#ciently. In A. Paepcke, editor, Proccedings of the 7th Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 127 -- 144, October 1992.
....control. A key objective of these extensions is to ensure that no more penalty is paid for reflective control than actually needed or used. They are designed to enable many possible strategies and tradeoffs for managing reflective costs, such as the partial compilation of scripts noted in [2]. 2. Objectives The principal objective that continues to drive this work is the implementation, on a C language base, of object systems that adopt a generic function approach to supply all object behavior. Generic functions are the simplest possible method by which to add object oriented ....
Masuhara, H., et al, "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently," in OOPSLA '92 Proceedings, Association for Computing Machinery, 1992
....In reflective languages, customizable meta objects, which are the abstract implementation of a language, gives extensibility in a separated and portable manner. The rest of the section gives basic concepts in reflective concurrent object oriented languages, by taking ABCL R[125] and ABCL R2[75, 76, 84] , which are the predecessors of our proposed language ABCL R3, as examples. Non reflective part of ABCL R is based on ABCM 1[130, chapter 2] a model of concurrent object oriented computing. In ABCM 1, an object has own state (in stance variables) behavior (methods) and activity (thread of ....
....execution with a straightforwardly implemented interpreter suffers orders of magnitude slowdown from the compiled execution. In fact, our previous study showed that ABCL R (a reflective concurrent object oriented language) is more than 100 fold slower than ABCL 1 (a non reflective language)[75, 76]. Such serious performance overheads, if it were not solved, would easily overwhelm the benefits of reflective languages. Many implementation techniques are investigated to tackle this problem. The following sections has detailed discussion on those techniques. Level of abstraction: Appropriate ....
[Article contains additional citation context not shown here]
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proceedings of OOPSLA'92 (SIGPLAN Notices Vol.27, No.10), pp. 127--145, Vancouver, B.C., October 1992. ACM.
....of ABCL R3 s meta level. As this paper aims at introducing an overview of these topics, interested readers should consult [MAS 95, MAS 98, MAS 99] for more detailed discussions. 2. Overview of ABCL R3 The meta level architecture of ABCL R3 is based on that of ABCL R[WAT 88] and ABCL R2[MAT 91, MAS 92] Figure 1 illustrates an overview of ABCL R3. For each base level object, there is a meta object at the meta level, which explicitly contains the names and values of instance variables, list of methods, and other state for mutual exclusion. It also defines how a method invocation request is ....
....ones, as many previous studies show[SMI 84, DR 88, SIM 92] This is also true, or even more important, for concurrent programming, as it often requires various language constructs to adapt applications for a special hardware, to implement application specific optimizations, etc. WAT 88, MAT 91, MAS 92, OKA 94] Mechanisms that support easier meta level programming should be provided as long as they do not pose critical performance penalty. Specifically, modularity the ability to compose meta level programs, and scopecontrollability the ability to limit the effect of a meta level program ....
MASUHARA, H., MATSUOKA, S., WATANABE, T., and YONEZAWA, A. "Objectoriented concurrent reflective languages can be implemented efficiently", Proceedings of OOPSLA'92 (SIGPLAN Notices Vol.27, No.10), p. 127--145, Vancouver, B.C., October 1992.
....be JDK 1.1, which offers reflection API[Sun97] It supports only introspective operations; they can be efficiently implemented, but give few extensibility at the same time. ffl The system embodies a set of ad hoc optimizations transparent to the user. For example, our previous work ABCL R2[MMWY92] assumes that most objects will not be customized, and thus could be mostly compiled, and switched to general interpreted execution upon user customization. Its effectiveness is limited to, however, cases where optimization is possible, and interpretation overhead heavily affects the overall ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 127--145, Vancouver, B.C., October 1992. ACM.
....would be useful to support software evolution. Moreover, reflective languages themselves can be considered as an instance of software evolution, as they allow to customize their functionality in modular ways. The purpose of this paper is to introduce our study on concurrent reflective languages[4, 5, 6, 7, 8, 11] into the software evolution community. Especially, we present the current research topics, including the design of the meta level and the efficient implementation techniques. 2 Overview of ABCL R3 We are developing a reflective object oriented concurrent language ABCL R3, in which we provide ....
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Proceedings of OOPSLA'92 (SIGPLAN Notices Vol.27, No.10), pages 127--145, Vancouver, B.C., Oct. 1992.
....Roughly, execution with a straightforwardly implemented interpreter su#ers orders of magnitude slowdown from the compiled execution. In fact, our previous study showed that ABCL R (a reflective concurrent object oriented language) is more than 100 fold slower than ABCL 1 (a non reflective language)[12]. Such serious performance overheads, if it were not solved, would easily overwhelm the benefits of reflective languages. 2.2 Overview of ABCL R3 Figure 1 illustrates an overview of ABCL R3. For each base level object, there is a meta object at the meta level, which explicitly contains the names ....
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Objectoriented concurrent reflective languages can be implemented e#ciently. In Proceedings of OOPSLA'92 (SIGPLAN Notices Vol.27, No.10), pages 127--145, Vancouver, B.C., October 1992. ACM.
....of base eval (base eval exp1 env1 cont1) Figure 9: The Result of Specializing I 2 (I 0 1 ) tive tower and the Futamura projection[10] This is in contrast to our approach, in which we use a partial evaluator as a tool for efficiency in reflective languages. The partial compilation technique[13] used in the implementation of the reflective concurrent object oriented language ABCL R2 takes a similar approach to ours using partial evaluators, but it is strictly limited. In ABCL R2, the expression patterns that can be modified are statically predetermined to compile out unmodifiable parts. ....
Masuhara, H., S. Matsuoka, T. Watanabe, and A. Yonezawa "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently," Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'92), pp. 127--145, Vancouver, (October 1992).
....which might cause yet another anomaly. Distributed transactions facility supplemented with method guards are the basic synchronization scheme of objects. One need not employ guards as often, because inter 7 This technique is also employed in optimizing compiler for ABCL R2: for details, see[21] object synchronization for maintaining integrity is now implicit in the transaction facility of the system. With such a strategy, inheritance anomaly is less likely to occur, since there is less requirement for describing object wise synchronization. With a bounded buffer, for example, only the ....
Hidehiko Masuhara, Satoshi Matsuoka, and Akinori Yonezawa. Object-oriented concurrent reflective languages can be implemented efficiently. In Submitted to OOPSLA'92, 1992.
....into a language, while application embedded one does just on a language. So far, a number of reflective systems have been designed mainly for distributed systems[40, 41, 24, 15, 26, 43, 8, 38, 25] and a few DRM systems actually constructed at the metalevel of reflective systems are reported[23, 14, 27]. However, to the best of our knowledge, there are no reflective systems (except for ongoing one[38] which is aiming to provide DRM systems for highly concurrent applications. The proposed reflective architecture originates in the Hybrid Group Reflective Architecture (HGA) 24] HGA is a general ....
....at the meta level. The other is run time system extension, in which the functionalities of a run time system of a language 1 can be modified or added in order to improve the system in performance. For example, an application specific scheduling that is implemented by reflection is shown in [23]. To provide this kind of extensions, a reflective system has CCSRs in which the functionality of a run time system is implemented by several modules, and allows user to replace the modules by user defined ones written for his own purpose. In object oriented reflective languages, 1 Not only ....
[Article contains additional citation context not shown here]
Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Objectoriented concurrent reflective languages can be implemented efficiently. In Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) , pages 127--145, Vancouver, B.C., October 1992. ACM.
No context found.
H. Masuhara, S. Matsuoka, and A. Yonezawa. An object-oriented concurrent reflective language for dynamic resource management in highly parallel computing. In IPSJ SIG Notes, volume 94-PRG-18, 1994.
No context found.
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa, "Object-oriented concurrent reflective languages can be implemented e#ciently," in Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (A. Paepcke, ed.), vol. 27, (New York, NY), pp. 127--144, ACM Press, 1992.
No context found.
H. Masuhara, S. Matsuoka, T. Watanabe, and A. Yonezawa, "Object-oriented concurrent reflective languages can be implemented efficiently," in Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (A. Paepcke, ed.), vol. 27, (New York, NY), pp. 127--144, ACM Press, 1992.
No context found.
H. Masuhara, S. Matsuoka, et al. "Object-oriented concurrent reflective languages can be implemented efficiently". In Proceedings, Conference on Object-oriented Programming, Languages and Applications -- OOPSLA'92, 1992.
No context found.
Masuhara H., Matsuoka S. et al. (1992). "Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently", OOPSLA'92.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC