| A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distributed and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, Jan. 1987. |
....at least the operations of Q (P may also provide additional operations) Moreover, the types of the results of P s operations must conform to the types of the results of the corresponding operations of Q. Finally, the types of the arguments of Q s operations must conform to those of P s operations [2]. The idea behind the notion of subtype is the ability to use an instance of a subtype of a type T whenever an instance of type T is required to do a job. While the subtyping relation of object oriented languages are mainly concerned with the available operations and the types of their ....
A. Black, N. Hutchinson, E. Jul, H. Levy and L. Carter, Distribution and Abstract Types in Emerald, IEEE Transaction on Software Engineering, vol. SE-13, no. 1, pp. 6576, January 1987.
....hand, there are systems where interaction still occurs through a binding to another component, but dynamicity and reconfiguration is taken under account by allowing the targeted component to be changed transparently. This approach has its roots in earlier work on object migration (e.g. Emerald [1]) In this approach, binding occurs in two steps: first, a service discovery step matches the request for a service to the available o#ers. Second, a choice is made, and the binding is set. For these steps, we can envisage di#erent levels of complexity and sophistication. For example, one may ....
A.P. Black et al. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, 1987.
.... of the Scandinavian school is [54] the use of undisciplined code reuse is critizised in [35] Slide 56 59 The problems of inheritance, subtyping, and recursion are exposed in [33, 14, 15, 5] The separation of subtyping and inheritance is made clear in [32] Slide 58 Emerald is described in [6, 50, 7, 87]; Trellis Owl in [95] Slide 60 62 Definitions of class based inheritance are given in [57, 49, 110, 46, 63, 96, 9, 93] Annotated Bibliography 103 Slide 63 66 The soundness of covariance in Eiffel is questioned in [34] the soundness of the pure Simula version is argued in [60] Slide 67 ....
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, 1987. Also Technical Report 86-02-04, Department of Computer Science, University of Washington. Annotated Bibliography 105
....objects each object consists of a provider and possibly multiple proxies. The system does not include automatic migration mechanisms, but custom policies for communication minimization can be specified by defining communication protocols between proxies and corresponding providers. Emerald [2] is an object oriented system (compiler and run time system) with support for fine grain, medium grain b) Switched network 0 5 10 15 20 25 Jmark Elite Vchat Vmark Seqconc Parconc Applications Speedup E EC EM ECM a) Broadcast network 0 4 8 12 16 20 Jmark Elite Vchat ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, Jan 1987.
....course contain these and other relevant abstractions, but as shown they are not mandatory as basic building blocks for distributed programming. 5. 2 Different interfaces to the same object A number of object based distributed programming systems share the notion of conformity based type systems [4, 1]. Among other things this means that classes and types are distinct concepts, and that a given class may conform to different types. Alternative terms are interface type and implementation type . One of the potential advantages of this approach is the possibility to hand out different ....
A. Black et al. Distribution and abstract types in emerald. IEEE Transactions on Software Engineering, 13(1), Jan 1987.
....Server that provides the maximum concurrency is not possible in the actor model, but just that it must be quite complicated, more than seems need be. 6. 4 Emerald Emerald is an object oriented language developed primarily for the support of building distributed applications [Black et al. 1986, Black et al. 1987, Hutchinson, 1987] but also makes a good general purpose programming language [Raj et al. 1991] All entities in an Emerald application are objects. There are two kinds of objects: passive and active objects. A passive object consists of local state and a set of operations. Any other object may ....
Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....blackboard model consists of a universe of objects which are are passive and can be distributed. An application is initiated by a process which invokes methods on objects of the universe. Processes communicate with each other by calling methods on shared objects. This model is used by Emerald [3], Orca [4] and Guide [5] This model is also used by traditional C or Eiffel programmers in a non distributed environment. In fact the blackboard approach may be extended by considering processes to be coarse grained active objects similar to servers in the client server approach. Thus objects ....
A.P. Black, N. Hutchinson, E. Jul, H. Levy and L. Carter, Distribution and abstract types in Emerald, IEEE Transactions on Software Engineering , 12(12), december 1986 .
....marshaling stubs fall into two categories. In distributed programming languages (PLs) the programmer gets automated marshaling for free when a compiler for the language analyzes the type and interface definitions of the language. There are many research distributed languages, such as Emerald [7], Argus [10] Hermes [14] and SR [2] see [6] There are also many proposed distributed extensions to pre existing languages, such as Java RMI [1] Compositional C [8] and Concert C [3] In all these solutions, a single set of declaration terms is used for all data and interfaces, both those ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....enabling interoperation with remote IDL based non Mockingbird components while still conferring the benefits of Mockingbird locally. Other tools leave programmers with a painful choice between language coverage and ease of use. Various distributed programming languages and language extensions [2, 4, 7, 11, 9, 16, 21, 23] allow common data types to be used throughout a project, both for computation and for intercomponent communication, at the expense of limiting a project to a single language. This limitation can be unacceptable when integrating information systems that are already implemented in multiple ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....leading to the notion of a distributed object. Objects are seen as entities which may be distributed and replicated on several processors. The message passing metaphor is seen as a transparent way of invoking either local or remote objects. The Emerald distributed programming language [10] is an example of distributed programming language based on the notion of distributed object. One can also further integrate message passing with the transaction concept as to support inter object synchronization and fault tolerance [41, 27] As noted above, these dimensions are rather ....
....association of transactions also to asynchronous invocations. 1em 8 See e.g. 46] for a more detailed description. Migration. In order to improve the accessibility of objects, some languages or systems support mechanisms for object migration. In the Emerald distributed programming language [10], and the COOL generic run time layer [39] the programmer may decide to migrate an object from one processor to another. He may control (in terms of attachements in Emerald) which other related objects should also migrate together. Replication. As for migration, a first motivation of replication ....
[Article contains additional citation context not shown here]
A. Black, N. Hutchinson, E. Jul, H. Levy and L. Carter, Distribution and abstract types in Emerald, IEEE Transactions on Software Engineering, Vol. 12, n o 12, December 1986.
....to an object in the same address space, in a different address space on the same computer, or even on a different computer. A smart compiler can exploit this flexibility by clustering objects into processes according to reference patterns, so most object invocations can be simple procedure calls [14]. In fact, the object can by dynamically moved as long as the interface is not affected. Models of adaptability are another tool. In the paper [20] the sequencer model for subsystems of adaptable transaction systems was developed. The sequencer model formalizes three basic approaches to ....
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-12(12), December 1986.
....force us to limit such comparisons. We choose the multiple compatible language extensions to best satisfy the conflicting goals of accommodating legacies and hiding complexity. An entirely new language designed to support distributed computing (e.g. NIL [30] Argus [20] SR [2] Emerald [11], Hermes [29] a survey may be found in [8] can effectively and elegantly hide complexity for someone familiar with the language. However, such languages are, in general, poor at accommodating legacy code, and require new programmer skills. At the opposite extreme, commercial packages (such as ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65-- 76, January 1987.
....or provide a modied virtual machine (DJ, Pjama) Others incorporate new communication paradigms like Agents (Voyager, Odyssey, Mole, Straum) or tuple spaces (JavaSpaces, TSpaces) Many other projects exist that examine distribution or concurrency concerns for object oriented languages. Emerald [2] had a strong inAEuence, for example on DOWL [1] or Beta [9] Here, migration of groups of objects is expressed by explicit attachment. Its relation to Dejay is discussed in [3] For a recent overview on concurrent OO languages see [4] 6 Conclusion This paper shows that the development of ....
A. Black, E. J. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in emerald. IEEE Transactions Software Engineering, 13(1), 1987.
....12] cooperating peers [4, 26] or the network itself [8, 9] We separate these systems into two broad groups. The first group separates file managers (e.g. the name service) from the block storage service, as in Slice. This separation was first proposed for the Cambridge Universal File Server [6]. Subsequent systems adopted this separation to allow bulk I O to bypass file managers [7, 12] and it is now a basic tenet of research in network attached storage devices including the CMU NASD work on devices for secure storage objects [8, 9] Slice shows how to incorporate placement and routing ....
Andrew D. Birrell and Roger M. Needham. A universal file server. IEEE Transactions on Software Engineering, SE-6(5):450--453, September 1980.
....linkage, and the movement of data required for an invocation. In fine grained object oriented languages, this overhead can easily dominate the overall cost of the computation. Our approach focuses on developing program analysis methods which identify data locality and transformation 1 Emerald [5], Rosette [16] and Concurrent C [15] all distinguish between active (first class, mobile) and passive(private to an active object) objects. OBJECT GRAPH 50 50 50 EXECUTION SEQUENCE Execution at A Execution at B A B Figure 2: Naive implementation of a call return sequence between A ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65--76, January 1987.
....systems. It is questionable that users will take a rather radical step of replacing existing kernels for collaboration. Another disadvantage of this approach is that it does not address the problem of retargetting to a local window system after migration. Migration aware applications such as [5,7,12,14] can solve this problem, but these systems assume special language support. It is to overcome these limitations of current process migration systems that we have developed the log based scheme. The idea of logging operations has been used previously in collaboration systems to support latecomers ....
Black, A., Hutchinson, N., Jul, E., Levy, H. & Carter, L., Distribution and Abstract Types in Emerald, IEEE Transactions on Software Engineering, Vol.SE-13, No.1, January 1987, pp.65-76.
....for mobile programs in the form of active messages [20] that could move from one object to another under program control, suspend their state in one object, and resume from the same state in a different object after migration. Later versions of that system did not support this feature. Emerald [4] supported the concept of object mobility in its computation model; an object, which is an active entity, could request migration to another site or co location with another object. More recently, a number of system architectures and languages have been developed supporting the agent based ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in emerald. IEEE Transactions on Software Engineering, SE-13, No. 1:65--76, January 1987.
.... 2 3 Overview of the semantics 3 4 Overview of map theory 3 5 Limitation of task 4 6 Abstract syntax 5 7 Token trees 6 8 Decision lists 6 9 System states 7 10 Definition of E 9 11 Evolution 9 12 The initial state 11 13 Translation 12 14 Conclusion and further work 16 1 1 Introduction Emerald [6,7,17,18,16,19,20,21,26] is a novel object oriented, concurrent and distributed language. It has been adopted for teaching of first year students at the University of Copenhagen. This paper presents a semantics of a subset of Emerald. The concurrency and distribution aspects of Emerald are difficult to express in ....
Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1), January 1987.
....top level of the language appears sequential. It is thus closely related to data parallelism. We return to this second case later, but here we concentrate on external OO models and languages. Some interesting external object based models are ABCL 1 [80] ABCL R [82] POOL T [5] EPL [78] Emerald [79], and Concurrent Smalltalk [83] In these languages, parallelism is based on assigning a thread to each object, and asynchronous message passing is used to increase concurrency further. EPL is an object based language that influenced the design of Emerald. In Emerald all entities are objects that ....
A. Black et al. Distribution and abstract types in emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....helps the user to optimize the distribution, but does not raise the level of abstraction above the distribution mechanisms. With a fullfeatured ADPS, such as Coign, the programmer can focus on component development and leave distribution to the system. 5.1. Distributed Object Systems Emerald [5, 6] combines a language and operating system to create an object oriented system with first class support for distribution. Emerald objects can migrate between machines during execution; they can also be fixed to a particular machine, or be co located under programmer control through language ....
Black, A., N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1):65-76, 1987.
....object is not local, and let the invocation perform locally otherwise. In Emerald, a specific language is used and all access tests are performed by the compiler. This is perfectly transparent to the user, but the system s behaviour is limited by the compiler implementation, and thus less flexible [Black 1987]. 2.3 C Virtual Table Patching In the Choices operating system [Russo 1991, Campbell 1991] a similar technique using indirect references (or ObjectProxies) to system objects was used. It is mainly used to channel invocations to objects across the kernel protection barrier. The implementation ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65--77, January 1987.
....least the operations of Q (P may also provide additional operations) Moreover, the types of the results of P s operations must conform to the types of the results of the corresponding operations of Q. Finally, the types of the arguments of Q s operations must conform to those of P s operations [2]. The idea behind the notion of subtype is the ability to use an instance of a subtype of a type T whenever an instance of type T is required to do a job. While the subtyping relation of object oriented languages are mainly concerned with the available operations and the types of their parameters, ....
A. Black, N. Hutchinson, E. Jul, H. Levy and L. Carter, Distribution and Abstract Types in Emerald, IEEE Transaction on Software Engineering, vol. SE-13, no. 1, pp. 6576, January 1987.
....object shows that the value of p will never be transferred which is also a needed property for inclusion at compile time. Conformity Based Type System Type checking is utilized to check programs statically for efficiency reasons. The type system is analogous to that implemented in Emerald [Black 87] and Guide [Krakowiak 90] Type checks are also available at run time to widen views of objects. Run time type errors are only possible when widening views. Whenever an object is passed as parameter its type is checked against a formal parameter qualifier which defines a minimal actual parameter ....
....parameter type conforms to the qualifier of a number. Hereby, the view of objects bound to parameter may be widened, possibly to their actual type. However, if the widening fails due to no conformity then a run time error must be generated. Conformity in Ellie is defined analogously to Emerald [Black 87] i.e. a type T1 conforms to a type T2 if T1 at least implements the methods mentioned by T2 and output return parameters of methods bound to equally spelled names also conform is this direction. Formal parameters of these methods must conform in the opposite direction (contra variance) ....
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65-76, January 1987. Also Technical Report 86-02-04, Department of Computer Science, University of Washington.
....this address to retrieve the server s capability, whereafter the system behaves like any other distributed program. Although SR has been used, we believe that the amount of programming work required for it is typical, both for other non configuration based systems (such as Argus, 11] Emerald, [4] and Linda, 5] and also for systems with configuration languages such as Durra, 2] or RNet, 6] 5 Summary This paper has presented a configuration language based approach to the description and construction of distributed multi user applications. A programmer configures applications as sets ....
A. Black et al. Distribution and Abstract Datatypes in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....in fine grained objects which can also be combined to larger less fine grained objects at compile time. Although the ideas could also be applied to other object oriented languages such as ConcurrentSmalltalk [Yokote 86] ABCL 1 [Shibayama 87; Yonezawa 86] Beta [Kristensen 87] Emerald [Black 87; Raj 91] and Self [Ungar 87] it has been assumed to be most convenient to design a new small language as an experimental platform. A computer with hundreds or thousands of processors requires programs with many small fine grained processes objects to exploit the distributed memory and the ....
....actual parameter. Hereafter the object will usually have a process (the object is initializing) and it is said to be active. When the process has terminated (the object is initialized) then the object is passive. Functional and operational methods are existing at the same time like in Emerald [Black 87; Raj 91] Functions are without side effects and operations may have side effects. Hence, an Ellie object is said to have associated either a functional process (may be the empty process) or an operational process. The reasons for this distinction are improved understanding of parallel ....
[Article contains additional citation context not shown here]
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65-76, January 1987. 21
....of the Tarmac system [7] for the CM5. This system provides the programmer with a global address space as well as location transparency for objects, and is useful when objects must be relocated for better load balance. The abstraction provided by Tarmac is similar to that of the Emerald system [1], although an important aspect of Tarmac on the CM5 is that object communication is highly tuned to the architecture. The use of some global address space proves to be important in many of our codes, but the location transparency has been less useful than originally anticipated. In our ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in emerald. IEEE Transactions on Software Engineering, pages 65--76, January 1987.
....version of Synthesis kernel. Quajects are similar to abstract data types and some object oriented (O O) systems such as Hydra [9] due to their rigid interface and consequent encapsulation. Quaject interfaces are defined in such as way as to support abstract and concrete types, as in Emerald [1]. However, quajects are different from O O languages and some other O O systems such as Choices [8] in several ways. Most salient of the differences is the lack of high level language support and inheritance. Secondly, quaject interfaces may be defined procedurally. Although message based and ....
....amounts of data. A simple quaject example is the FIFO queue. As described in another paper [5] the Synthesis kernel supports four concrete types of queues, for the different combinations of single or multiple producers and consumers. The four concrete types all support the same abstract type [1], defined by two callentry references: Q put and Q get, which puts in and gets out an element of the queue. Both these callentry references return synchronously under the normal condition (successful insertion or deletion) Under other conditions, the queue invokes the callback references. ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-12(12):65--76, January 1987.
....of a specified object. Emerald is a new programming language, which will not have increased its general uptake. However, it does provide complete location and migration transparency to the programmer in addition to constructs giving great flexibility in controlling object mobility. References: [56, 57, 58, 59] 5.4 Object Migration Over OSF DCE This section gives an overview of the distributed object oriented environment DC under development at the University of Karlsruhe. The system runs over DEC s prototype version 1.0 of Distributed Computing Environment (DCE) and has been implemented on a network ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. C. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, se-13(1), January 1987.
No context found.
Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1), January 1987.
....into native machine code, then fetching the active state is more difficult. Each machine has its own method of storing a program s values. Differences are obvious in the layout of each stack frame, the usage of registers and the structure of the executable code. 3. 2 Emerald The Emerald system [5] [21] 28] is an object oriented programming language and runtime system that supports movement of processes (active objects) between machines of different architectures (the category of active objects with native code) Emerald provides each object with a uniform view of the outside world, ....
.... ffl If the data that precedes the new item overlaps with it, then the new item must be a subelement of the old item. That is, if the base address of the newly discovered data item falls within the range of addresses already covered by an existing item. For example, int a[10] int b = a[5]; Since a is entered into the table first, b will be consumed by a. ffl If the new data item consumes the successive data item, then the new item is entered into the table, and the old entry will be discarded. This would happen in the previous code fragment, if b was scanned before a. ffl ....
[Article contains additional citation context not shown here]
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transaction on Software Engineering, January 1987.
....and session objects form a path through the kernel that messages follow. For example, consider an x kernel configured with the suite of protocol objects given in Figure 3, where Emerald RTS is a protocol object that implements the run time support system for the Emerald programming language [4] and ETH is a protocol object that corresponds to the ethernet driver. In this scenario, one high level participant an Emerald object sends a message to another Emerald object identified with Emerald Id eid. This identifier is only meaningful in the context of protocol Emerald RTS. Likewise, ....
A. Black, N. C. Hutchinson, E. Jul, H. M. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65--76, Jan. 1987.
No context found.
Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1), January 1987.
....syntactic part of this substitutability condition to be the responsibility of the type system; ensuring that the semantics are appropriate involves program proving rather than type checking. A type system based upon equality of types will disallow many valid substitutions; Emerald s type system [Black 87] is based upon the notion of conformity, which is the largest relation between types that ensures that substitutions are safe. It can be argued that in some application areas there are reasons to use a more restricted rule. For example, in a centralized system in which all the types are ....
....vi : res (s 1 ht; vi) ffi res (s 2 ht; vi) arg (s 2 ht; vi) ffi arg (s 1 ht; vi) Now we are finally in a position to define conformity. For the purposes of the present paper, we will do this using a set of axioms and inference rules; this definition is equivalent to the one given in reference [Black 87] but this will not be proved here. 7 The first rule says that conformity is reflexive: Gamma a : type Gamma a ffi a (1) and should be read as follows: if one can prove in the naming environment Gamma that the symbol a denotes a type, then one can infer that in the same environment, ....
[Article contains additional citation context not shown here]
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....distributed object oriented systems. However, it has become more relevant to migrate on a per object basis (or in groups of objects) rather than moving a whole program. Migration in this form is more commonly known as Mobility, that is, the object is mobile. Examples of such systems are: Emerald [25] [1] 26] DOWL [27] DCE [28] COMET [29] and COOL [30] Other heterogeneous migration systems All of the followingsystems supports migration of native code across different architectures, however, they each differ from Tui in some significant way. Many of them solely support ....
....executed. However, when migration is requested, the variable is set to indicate that the contents of the currently active procedure should be saved to, or restored from, an alternate address space. A source to source C language translator is used to insert the additional code. The Emerald system [25] [1] 11] is an object oriented language and environment that permits fine grained migration of native code objects. The Emerald compiler creates a template describing the internal structure of an object as well as the format of each method s stack frames. Whereas most heterogeneous migration ....
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transaction on Software Engineering, 13(1):65--76, January 1987.
....the Program . 68 iii 1 Introduction The justification for Emerald, as for any new programming language, is that existing languages have proved to be unsatisfactory for the applications at hand. The primary goal of Emerald [Black 86, Black 87, Jul 88b] is to simplify distributed programming through language support while providing acceptable performance and flexibility both in local and distributed environments. Emerald also demonstrates that the object based model of programming can be incorporated both elegantly and efficiently in ....
Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, and Larry Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1), January 1987.
....invoked object before the invocation is performed. We do this by ensuring that an invocation of a non traversed object fails with a GC fault. The corresponding fault handler will then do the mark and traverse for the invoked object. 1 Objects in the Emerald system The Emerald system [Black 86, Black 87, Jul 88b] is a distributed, object oriented system. It consists of the Emerald compiler [Hutchinson 87a] for the Emerald Programming Language [Hutchinson 87b] and the Emerald kernel [Jul 88a] The Emerald kernel is a run time system implemented as a Unix process on each workstation in the Emerald ....
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
No context found.
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
....cannot move; instead, the RPC mechanism always passes objects by reference. If the computation needs to access the value of an object, it has to migrate to the store where the object resides. However, if the object is of a builtin immutable type, it is instead copied to the computation. Emerald [6, 14] is an object based language and system for building distributed applications. Emerald uses call by reference in all invocations, local or remote; the semantics are the same in both cases. However, it is possible in Emerald to move the parameter objects to the remote site (in the same network ....
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65--76, Jan. 1987.
No context found.
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distributed and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, Jan. 1987.
No context found.
Black, A., Hutchinson, N., Jul, E., Levy, H., Carter, L.: Distributed and abstract types in Emerald. IEEE Transactions on Software Engineering 13 (1987) 65--76
No context found.
A P Black et al, Distributed and Abstract Types in Emerald, IEEE Transactions on Software Engineering, 12(12), December 1986.
No context found.
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
No context found.
Andrew Black, Norman Hutchinson, Eric Jul, Henry Levy, and Larry Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, January 1987.
No context found.
A. P. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1), 1987.
No context found.
A. Black, E. J. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in emerald. IEEE Transactions Software Engineering, 13(1), 1987.
No context found.
A. P. Black, N. Hutchinson, E. Jul, H. M. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65-- 76, 1987.
No context found.
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65--76, 1987.
No context found.
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in emerald. IEEE Transactions on Software Engineering, pages 65--76, January 1987.
No context found.
A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65--76, January 1987.
No context found.
A. P. Black, N. Hutchinson, E. Jul, H. M. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65-- 76, 1987.
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